{"id":14984316,"url":"https://github.com/arunkumar9t2/lynket-browser","last_synced_at":"2025-04-04T18:10:28.436Z","repository":{"id":38404162,"uuid":"63368495","full_name":"arunkumar9t2/lynket-browser","owner":"arunkumar9t2","description":"🌐  A better browser for Android using the Custom Tab protocol. Previously called Chromer.","archived":false,"fork":false,"pushed_at":"2024-01-04T11:07:02.000Z","size":58344,"stargazers_count":502,"open_issues_count":70,"forks_count":82,"subscribers_count":37,"default_branch":"main","last_synced_at":"2025-03-28T17:11:35.737Z","etag":null,"topics":["android-browser","browser","dagger2","google-chrome","kotlin","mvvm","reader","rxjava"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arunkumar9t2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-14T20:45:02.000Z","updated_at":"2025-03-28T07:55:57.000Z","dependencies_parsed_at":"2025-02-15T14:22:40.048Z","dependency_job_id":null,"html_url":"https://github.com/arunkumar9t2/lynket-browser","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunkumar9t2%2Flynket-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunkumar9t2%2Flynket-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunkumar9t2%2Flynket-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arunkumar9t2%2Flynket-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arunkumar9t2","download_url":"https://codeload.github.com/arunkumar9t2/lynket-browser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247226215,"owners_count":20904465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-browser","browser","dagger2","google-chrome","kotlin","mvvm","reader","rxjava"],"created_at":"2024-09-24T14:08:51.021Z","updated_at":"2025-04-04T18:10:28.409Z","avatar_url":"https://github.com/arunkumar9t2.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Lynket\n**Android browser app based on Custom Tabs protocol.**\n\n\u003cimg src=\"android-app/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png\" align=\"left\"\nwidth=\"200\"\n    hspace=\"10\" vspace=\"10\"\u003e\n\nLynket utilizes Chrome Custom Tab API to create a customized browsing experience while adding innovative features like background loading with floating bubbles, article mode and multitasking using Android's recent menu.\n\nLynket is available for free on the Google Play Store.\n\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=arun.com.chromer\"\u003e\n    \u003cimg alt=\"Get it on Google Play\"\n        height=\"80\"\n        src=\"https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png\" /\u003e\n\u003c/a\u003e\n\nIf you have got some time, read the introduction post on [my blog](https://arunkumar.dev/Lynket-browser-2nd-anniversary-update/) or watch intro [Video](https://www.youtube.com/watch?v=Hcd2R2Lh5ks\u0026t=2s)\n\n![enter image description here](https://raw.githubusercontent.com/arunkumar9t2/chromer/master/art/chromer_screenshots.png)\n\n## Features\n| Features| Demo|\n|--|--|\n| **Web heads** - Floating bubbles to load multiple links and launch them.  | ![enter image description here](https://raw.githubusercontent.com/arunkumar9t2/chromer/master/art/Web%20heads%20intro.gif) |\n| **Web heads** - Intelligently manages background loading of Custom Tabs using Android's overview screen. Uses Lollipop Document API.| ![enter image description here](https://raw.githubusercontent.com/arunkumar9t2/chromer/master/art/Background%20Loading.gif) |\n| **Provider** - Lynket works with any custom tab compatible browser. This means features like adblock, Google Account sync, data saver are inherited.  | ![enter image description here](https://raw.githubusercontent.com/arunkumar9t2/chromer/master/art/Provider%20Selection.gif) |\n| **Article mode** - Filters all unnecessary content and renders web page on a RecyclerView efficiently. Uses Crux library.  | ![enter image description here](https://raw.githubusercontent.com/arunkumar9t2/chromer/master/art/Article%20Mode.gif) |\n| **Minimize and Tabs** - Lynket can minimize the tab and also show all active tabs for you to quickly switch to.  |  ![enter image description here](https://raw.githubusercontent.com/arunkumar9t2/chromer/master/art/Multitasking.gif)|\n\n\n## Architecture and Code Structure\nLynket is written on a MVVM Architecture and uses Dagger 2 for dependency injection. The source code is packaged based on feature.\n\n```\napp/src/java/\u003cpackage\u003e\n\t\u003cfeature_1\u003e\\\n\t\u003cfeature_2\u003e\\\n\tshared\\\n\tutils\\\n```\n### Architecture\nBelow outlines sample structure of most screens. \n![enter image description here](https://raw.githubusercontent.com/arunkumar9t2/chromer/master/art/Chromer%20Architecture.png)\n\n\n### Code Style\n\n - [mNo Hungarion notation.](http://jakewharton.com/just-say-no-to-hungarian-notation/)\n - No `Impl` suffixes for interface implementations. Instead name based on what it does. Ex: `AppStore` and implementations `AppDiskStore` and `AppSystemStore`.\n - All new modules are preferred to be written in `Kotlin`\n - Formatting - Android Studio Default.\n\n## Contributions\nYou are more than welcome to contribute to Lynket's development. New features are branched off of `develop` . PRs are welcome against the `develop` branch. \nHow you can help:\n\n - Grab an issue from [issues](https://github.com/arunkumar9t2/chromer/issues) section that interests you.\n - Unit testing using Roboelectric and Dagger 2 is already setup but coverage is rather low. Adding tests to existing features would greatly help! Refer [src/test/](https://github.com/arunkumar9t2/chromer/tree/master/app/src/test/java/arun/com/chromer).\n - Break the ice. Feel free to create an issue to discuss your ideas.\n\n## License\n\nLynket is licensed under the [GNU v3 Public License.](LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farunkumar9t2%2Flynket-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farunkumar9t2%2Flynket-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farunkumar9t2%2Flynket-browser/lists"}