{"id":13456002,"url":"https://github.com/ismartcoding/plain-app","last_synced_at":"2026-02-16T01:29:46.441Z","repository":{"id":110839348,"uuid":"418086942","full_name":"ismartcoding/plain-app","owner":"ismartcoding","description":"PlainApp is an open-source app that lets you securely manage your phone from a web browser. Access files, media, contacts, SMS, calls, and more through a simple, easy-to-use interface on your desktop.","archived":false,"fork":false,"pushed_at":"2026-02-13T14:40:38.000Z","size":137499,"stargazers_count":3259,"open_issues_count":52,"forks_count":155,"subscribers_count":22,"default_branch":"main","last_synced_at":"2026-02-13T22:57:11.155Z","etag":null,"topics":["android","android-app","compose","compose-ui","f-droid","fdroid","filemanager","graphql","jetpack-compose","ktor","learning","material-you","music-player","note-taking","privacy-protection","productivity","rss","rss-reader","screen-mirroring","web"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ismartcoding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ismartcoding","patreon":null,"open_collective":null,"ko_fi":"ismartcoding","tidelift":null,"community_bridge":null,"liberapay":"ismartcoding","issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2021-10-17T10:03:14.000Z","updated_at":"2026-02-13T18:28:38.000Z","dependencies_parsed_at":"2025-12-19T00:11:52.068Z","dependency_job_id":null,"html_url":"https://github.com/ismartcoding/plain-app","commit_stats":null,"previous_names":[],"tags_count":144,"template":false,"template_full_name":null,"purl":"pkg:github/ismartcoding/plain-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ismartcoding%2Fplain-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ismartcoding%2Fplain-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ismartcoding%2Fplain-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ismartcoding%2Fplain-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ismartcoding","download_url":"https://codeload.github.com/ismartcoding/plain-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ismartcoding%2Fplain-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29497368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T01:11:49.942Z","status":"ssl_error","status_checked_at":"2026-02-16T01:07:16.834Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","android-app","compose","compose-ui","f-droid","fdroid","filemanager","graphql","jetpack-compose","ktor","learning","material-you","music-player","note-taking","privacy-protection","productivity","rss","rss-reader","screen-mirroring","web"],"created_at":"2024-07-31T08:01:14.668Z","updated_at":"2026-02-16T01:29:46.435Z","avatar_url":"https://github.com/ismartcoding.png","language":"Kotlin","readme":"# PlainApp\n\nPlainApp is an open-source app that lets you securely manage your phone from a web browser. Access files, media, contacts, SMS, calls, and more through a simple, easy-to-use interface on your desktop.\n\n[\u003cimg src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" alt='Get it on Google Play' height=\"80\"\u003e](https://play.google.com/store/apps/details?id=com.ismartcoding.plain)\n[\u003cimg src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\" alt='Get it on F-Droid' height=\"80\"\u003e](https://f-droid.org/packages/com.ismartcoding.plain/)\n[\u003cimg src=\"https://raw.githubusercontent.com/ismartcoding/plain-app/main/assets/get-it-on-github.png\" alt='Get it on GitHub' height=\"80\"\u003e](https://github.com/ismartcoding/plain-app/releases/latest)\n\n## Features\n\n**Privacy First**\n- All data stays on your device — no cloud, no third-party storage\n- No Firebase Messaging or Analytics; only crash logs (optional) via Firebase Crashlytics\n- Secured with TLS + XChaCha20-Poly1305 encryption\n\n**Ad-Free, Always**\n- 100% ad-free experience, forever\n\n**Clean, Modern Interface**\n- Minimalist and customizable UI\n- Supports multiple languages, light/dark themes\n\n**Web-Based Desktop Management**  \nAccess a self-hosted webpage on the same network to manage your phone:\n- Files: Internal storage, SD card, USB, images, videos, audio\n- Contacts, SMS, and call logs\n- Installed apps (with APK export)\n- Notifications mirroring and device info\n- Screen mirroring\n- PWA support — add the web app to your desktop/home screen\n\n**Built-in Tools**\n- Markdown note-taking\n- RSS reader with clean UI\n- Video and audio player (in-app and on the web)\n- TV casting for media\n- Pomodoro timer\n- Sound meter\n- Peer-to-peer chat and file sharing\n\n**Always Improving**\n- More features are on the way\n\nPlainApp is designed with simplicity in mind, so you can focus on what matters most: your data.\n\nVideo: https://www.youtube.com/watch?v=TjRhC8pSQ6Q\n\nReddit: https://www.reddit.com/r/plainapp\n\nDiscord: https://discord.gg/RQWcS6DEEe\n\nQQ Group: 812409393\n\n## Donations :heart:\n\n**This project needs you!** If you would like to support this project's further development, the creator of this project or the continuous maintenance of this project, **feel free to donate**.\n\nYour donation is highly appreciated. Thank you!\n\n- [Buy me a cup of Ko-Fi!](https://ko-fi.com/ismartcoding)\n\n- Use WeChat to scan the code\n\n\u003cimg src=\"assets/donate-wechat.jpeg\" width=\"200\"/\u003e\n\n## Screenshots\n\n| ![files](screenshots/app-files.jpg)  | ![home](screenshots/app-home.png)        | ![music player](screenshots/app-music-player.jpg) | ![chat](screenshots/app-chat.png)                |\n|--------------------------------------|------------------------------------------|---------------------------------------------------|--------------------------------------------------|\n| ![audio](screenshots/app-audio.jpg)  | ![images](screenshots/app-images.jpg)    | ![videos](screenshots/app-videos.jpg)             | ![rss](screenshots/app-rss.jpg)                  |\n| ![home](screenshots/web-home.png)    | ![images](screenshots/web-images.png)    | ![videos](screenshots/web-videos.png)             | ![notes](screenshots/web-notes.png)              |\n| ![files](screenshots/web-files.png)  | ![encryption](screenshots/web-calls.png) | ![messages](screenshots/web-messages.png)         | ![contacts](screenshots/web-contacts.png)        |\n| ![audio](screenshots/web-audios.png) | ![rss](screenshots/web-rss.png)          | ![encryption](screenshots/web-encryption.png)     | ![encryption](screenshots/web-screen-mirror.png) |\n| ![audio](screenshots/web-image.png)  | ![rss](screenshots/web-video.png)        |                                                   |                                                  |\n\n## Compatibility\n\nPlainApp requires Android 9.0 or higher.\n\n## FAQ\n\n[http://docs.plain.icu/faq.html](http://docs.plain.icu/faq.html)\n\n## Support\n\nPlainApp is fully open-source.  \nIf you have any doubts, you're free to review the code, build your own version, or simply choose not to use it.\n\nIf you run into issues, feel free to open a GitHub issue — I'm always happy to help.\n\nPlease don’t leave a one-star review without giving it a fair try.\n\n## Build\n\n1. Generate `release.jks` file under `$rootProject/app` folder.\n\n```bash\nkeytool -genkey -v -keystore ./app/release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias plain\n```\n\n2. Create `keystore.properties` file with following content under `$rootProject` folder.\n\n```\nstorePassword=\nkeyPassword=\nkeyAlias=plain\nstoreFile=release.jks\n```\n\n## Star history\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ismartcoding/plain-app\u0026type=Date)](https://star-history.com/#ismartcoding/plain-app\u0026Date)\n\n\n\n","funding_links":["https://github.com/sponsors/ismartcoding","https://ko-fi.com/ismartcoding","https://liberapay.com/ismartcoding"],"categories":["Kotlin","檔案管理器","UIs","Android应用","🔐 Security \u0026 Privacy","android-app","🌎 Network"],"sub_categories":["Web applications","资源传输下载","🔧 Uncategorized Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fismartcoding%2Fplain-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fismartcoding%2Fplain-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fismartcoding%2Fplain-app/lists"}