# LinysBrowser_NEXT **Repository Path**: askhow/LinysBrowser_NEXT ## Basic Information - **Project Name**: LinysBrowser_NEXT - **Description**: 是 Liny 实验性的鸿蒙浏览器!!!! - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 16 - **Created**: 2024-11-28 - **Last Updated**: 2024-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Liny’s Browser! [中文](README.md) | [English](README_EN.md) ## Ideas Liny's Browser is a basic browser built for HarmonyOS NEXT, aiming in providing a light-weight solution for users with devices at any performance level. This project is inspired by tuyafeng's marvelous work [Via](https://viayoo.com/), the cutest cyber fox [Firefox](https://firefox.com/) from Mozilla, and helped by source codes from OpenHarmony's [Browser Demo](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Web/Browser) & Westinyang's fork [Browser CE](https://gitee.com/westinyang/browser-ce). Thank you all with your works!! (* ̄3 ̄)╭ ## Previews On Large screens (Light Mode): ![Tablet_light](Examples/gallery_4.png) On Foldables (Dark Mode): ![Foldable_Dark](Examples/gallery_1.png) On Phones (Light Mode): | Browsing Page | TabsView | |:------------------------------------------:|:-------------------------------------------:| | ![Phone_light_web](Examples/gallery_2.png) | ![Phone_light_tabs](Examples/gallery_3.png) | ## Guides Type in urls or keywords in the search box at the bottom of the app, then return or click the little magnifying glass to submit. Click the icon with four (2x2) little dots to show page information and more functions, click again to collapse the panel. ## Related Permissions [ohos.permission.INTERNET](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/permission-list.md#ohospermissioninternet) ## Plans & Developments May cost unimaginably long time to bring all these into the reality, or some of them will even lie on the table for ever... (ง •_•)ง ### Features - [ ] Cookies management (clear cookies) - [ ] Cache management and clear - [x] Ads blocking - [ ] Private mode - [ ] Disable JavaScript - [ ] Right click or long press menu on web links. (For preview and operations) - [ ] No picture mode - [ ] Reading mode - [ ] Search suggestion - [ ] Plugins / custom scripts - [ ] DRM Content support - [x] Respond to webpages' request of opening in new tab. - [x] Downloads from web. - [x] UA switching and customizations. (UA related settings) - [x] Reopen tabs when launching. - [x] Multi-view parallel browsing. ### Experience - [ ] Customizable themes. (Colors) - [x] Customizable position for title bar. (Top or Bottom) - [x] Customizable position for Tabs bar. (Side or Top) - [x] Adapt to system Back operations. - [x] Customizable global animation curve. ## Constraints and limits Long way ahead. 1. As a result of Liny's unsystematic programming thoughts and rubbish codes, this application may contain performance problems. Liny would appreciate that so much if you wish to report a problem, big or small! 2. Due to a mysterious problem and a temporary but necessary compromise, sometimes the AD blocking whitelist may not take effect in time after launching, resulting in ads on the web page being blocked. (Trying to solve) 3. Due to a mysterious problem and a temporary but necessary compromise, sometimes the AD blocking function itself may not take effect in time after launching, resulting in ads on the web page not being blocked. (Trying to solve) 4. In some cases reopening tabs function won't work, and no new tabs are shown. (Still under investigation) 5. Perhaps due to performance issues on Windows x86-64 Emulators, quickly opening plenty of new tabs may cause crashes due to error 17100001 (Init error. The WebviewController must be associated with a Web component). (Seems to be solved, still under observation) 6. Quickly closing plenty of tabs may cause tabs to disappear. This is because in some extreme occasions, the tab button is trying to close the last+1 index of the tab list. An if statement has been added before the operation in order to make sure the index is in the legal range. (Seems to be solved, still under observation) 7. HarmonyOS UA is not understood by plenty of websites (But UA is customizable now). 8. The vertical tabs panel animations may seem weird when the scroll is longer than the screen. 9. This project requires HarmonyOS NEXT API12 to run. ## What are the commit labels for? All the commit information so far since the birth of this project have been so chaotic that Liny decides to have some self-constraints... 1. fix: Fix updates, used to mark a bug fix; 2. feat: Feature updates, usually used to mark a new feature introduced in this commit; 3. improve: Improvement updates, usually used to mark changes on existing stuffs, like changes on logics, interfaces or wordings; 4. code: Code updates, used to mark code optimizations, like code clean ups and logic clean ups; 5. version: Version code changes, used to mark changes in version codes; 6. api: API level changes, used to mark changes in required API level.