[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7285":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":47,"readmeContent":48,"aiSummary":49,"trendingCount":16,"starSnapshotCount":16,"syncStatus":50,"lastSyncTime":51,"discoverSource":52},7285,"plain-app","plainhub\u002Fplain-app","plainhub","🔥 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.","https:\u002F\u002Fplainapp.app",null,"Kotlin",5290,323,30,52,0,12,164,625,94,38.53,"GNU Affero General Public License v3.0",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"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","2026-06-12 02:01:37","# PlainApp\n\n**PlainApp** is a free, open-source Android app that turns your phone into a self-hosted management hub you can access from any web browser on the same network — no accounts, no cloud, no subscriptions. Whether you need to transfer files, read SMS, browse photos, or mirror your screen, PlainApp puts full control back in your hands.\n\n[\u003Cimg src=\"https:\u002F\u002Fplay.google.com\u002Fintl\u002Fen_us\u002Fbadges\u002Fstatic\u002Fimages\u002Fbadges\u002Fen_badge_web_generic.png\" alt='Get it on Google Play' height=\"80\">](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=com.ismartcoding.plain)\n[\u003Cimg src=\"https:\u002F\u002Ffdroid.gitlab.io\u002Fartwork\u002Fbadge\u002Fget-it-on.png\" alt='Get it on F-Droid' height=\"80\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Fcom.ismartcoding.plain\u002F)\n[\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fplainhub\u002Fplain-app\u002Fmain\u002Fassets\u002Fget-it-on-github.png\" alt='Get it on GitHub' height=\"80\">](https:\u002F\u002Fgithub.com\u002Fplainhub\u002Fplain-app\u002Freleases\u002Flatest)\n\n## Why PlainApp?\n\nMost phone-management tools either route your data through their own servers, lock features behind subscriptions, or plague you with ads. PlainApp is different:\n\n- **100% local** — your data never leaves your network\n- **End-to-end encrypted** — every connection is secured with TLS + XChaCha20-Poly1305\n- **Completely free and ad-free** — no purchases, no upsells, ever\n- **Fully open-source** — audit the code, build your own binary, or contribute\n\n## Features \n\n### 🌐 Web-Based Phone Management\nOpen a browser on any desktop or laptop connected to the same Wi-Fi network and get a full dashboard to manage your Android device — no app installation required on the computer side. Supports PWA so you can pin it to your desktop like a native app.\n\n| Category | What you can do |\n|---|---|\n| **Files** | Browse internal storage, SD card, and USB drives; upload, download, rename, delete |\n| **Media** | View and manage photos, videos, and audio; stream them directly in the browser |\n| **Contacts** | View, search, and manage your contacts |\n| **SMS & Calls** | Read messages and call logs; send SMS from your desktop |\n| **Apps** | List installed apps and export APKs |\n| **Notifications** | Mirror phone notifications to the browser in real time |\n| **Screen Mirror** | Live-stream the phone screen to the browser with audio and remote control support |\n| **Device Info** | Check battery, storage, network, and system details |\n\n### 📱 Built-in Android Tools\nPlainApp is also a capable standalone app — not just a server:\n\n- **Markdown Notes** — write and organize notes with a clean editor\n- **RSS Reader** — follow your favorite websites with a distraction-free reader\n- **Video & Audio Player** — full-featured media player with playlist support\n- **TV Cast** — cast media to any DLNA\u002FChromecast-compatible TV\n- **Peer-to-Peer Chat & File Sharing** — share files and messages directly between devices without a server\n- **Pomodoro Timer** — stay focused with a built-in work timer\n- **Sound Meter** — measure ambient noise levels in real time\n\n### 🔒 Privacy & Security\n- Zero data sent to any third-party server\n- All traffic between phone and browser is encrypted (TLS + XChaCha20-Poly1305)\n- No account registration required\n\nVideo: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=TjRhC8pSQ6Q\n\nReddit: https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fplainapp\n\nDiscord: https:\u002F\u002Fdiscord.gg\u002FRQWcS6DEEe\n\nQQ Group: 812409393\n\n## How PlainApp Compares\n\n| Feature | **PlainApp** | AirDroid | KDE Connect | AnExplorer | Pushbullet |\n|---|:---:|:---:|:---:|:---:|:---:|\n| Open source | ✅ | ❌ | ✅ | ✅ | ❌ |\n| 100% local \u002F no cloud required | ✅ | ⚠️ partial | ✅ | ✅ | ❌ |\n| End-to-end encrypted (local) | ✅ | ⚠️ paid | ❌ | ❌ | ❌ |\n| Ad-free | ✅ | ⚠️ paid | ✅ | ⚠️ paid | ⚠️ paid |\n| Free all features | ✅ | ⚠️ freemium | ✅ | ⚠️ freemium | ⚠️ freemium |\n| Web browser access (no desktop app needed) | ✅ | ✅ | ❌ | ❌ | ✅ |\n| File manager (browser UI) | ✅ | ✅ | ⚠️ limited | ✅ | ❌ |\n| SMS from desktop | ✅ | ✅ | ✅ | ❌ | ✅ |\n| Screen mirroring | ✅ | ✅ | ✅ | ❌ | ❌ |\n| Media streaming in browser | ✅ | ⚠️ limited | ❌ | ❌ | ❌ |\n| Notification mirroring | ✅ | ✅ | ✅ | ❌ | ✅ |\n| Built-in RSS reader | ✅ | ❌ | ❌ | ❌ | ❌ |\n| Markdown notes | ✅ | ❌ | ❌ | ❌ | ❌ |\n| P2P chat & file sharing | ✅ | ⚠️ paid | ❌ | ❌ | ⚠️ limited |\n| TV casting (DLNA\u002FChromecast) | ✅ | ✅ | ❌ | ❌ | ❌ |\n| PWA support | ✅ | ❌ | ❌ | ❌ | ❌ |\n| No account required | ✅ | ❌ | ✅ | ✅ | ❌ |\n\n> ✅ Fully supported &nbsp; ⚠️ Partially supported or requires paid plan &nbsp; ❌ Not supported\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:\u002F\u002Fko-fi.com\u002Fismartcoding)\n\n- Use WeChat to scan the code\n\n\u003Cimg src=\"assets\u002Fdonate-wechat.jpeg\" width=\"200\"\u002F>\n\n## Screenshots\n\n### Android App\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-files.png\" alt=\"files\"\u002F>\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-home.png\" alt=\"home\"\u002F>\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-music-player.jpg\" alt=\"music player\"\u002F>\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-chat.png\" alt=\"chat\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-audio.png\" alt=\"audio\"\u002F>\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-images.webp\" alt=\"images\"\u002F>\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-videos.jpg\" alt=\"videos\"\u002F>\u003C\u002Ftd>\n    \u003Ctd>\u003Cimg src=\"screenshots\u002Fapp-rss.jpg\" alt=\"rss\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### Web Dashboard\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-home.png\" alt=\"home\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-images.png\" alt=\"images\" width=\"100%\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-videos.png\" alt=\"videos\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-notes.png\" alt=\"notes\" width=\"100%\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-files.png\" alt=\"files\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-calls.png\" alt=\"calls\" width=\"100%\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-messages.png\" alt=\"messages\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-contacts.png\" alt=\"contacts\" width=\"100%\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-audio.png\" alt=\"audio\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-rss.png\" alt=\"rss\" width=\"100%\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-encryption.png\" alt=\"encryption\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-screen-mirror.png\" alt=\"screen mirror\" width=\"100%\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-image.png\" alt=\"image viewer\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-video.png\" alt=\"video player\" width=\"100%\"\u002F>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"2\">\u003Cimg src=\"screenshots\u002Fweb-chat.png\" alt=\"chat\" width=\"100%\"\u002F>\u003C\u002Ftd>\n    \u003Ctd colspan=\"2\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Compatibility\n\nPlainApp requires Android 9.0 or higher.\n\n## FAQ\n\n[https:\u002F\u002Fplainapp.app\u002Fdocs](https:\u002F\u002Fplainapp.app\u002Fdocs)\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\u002Fapp` folder.\n\n```bash\nkeytool -genkeypair -v -keystore .\u002Fapp\u002Frelease.jks -alias release -keyalg RSA  -keysize 4096 -validity 36500\n```\n\n2. Create `keystore.properties` file with following content under `$rootProject` folder.\n\n```\nstorePassword=\nkeyPassword=\nkeyAlias=release\nstoreFile=release.jks\n```\n\n## Star history\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=ismartcoding\u002Fplain-app&type=Date)](https:\u002F\u002Fstar-history.com\u002F#ismartcoding\u002Fplain-app&Date)\n\n\n\n","PlainApp 是一款开源的 Android 应用程序，允许用户通过网页浏览器安全地管理手机。它支持文件、媒体、联系人、短信和通话记录等多种功能，并提供简洁易用的界面。该应用基于 Kotlin 开发，利用 Jetpack Compose 构建 UI，采用 GraphQL 和 Ktor 技术栈，确保了数据传输的安全性与效率。适用于需要在本地网络环境下对手机进行远程管理和控制的场景，如文件传输、屏幕镜像等。此外，PlainApp 无需账户注册或订阅服务，完全免费且无广告，所有数据均在本地处理，端到端加密保证了用户的隐私安全。",2,"2026-06-11 03:11:33","top_language"]