PlainApp is an open-source application that allows you to manage your phone through a web browser. Access files, videos, music, contacts, sms, calls, and more from your desktop using a secure, easy to use web interface!
- Privacy oriented: We take your privacy seriously and use TLS + AES-GCM-256 encryption to ensure your data is secure.
- Ad-free forever: You won't be bombarded with ads when using PlainApp.
- No cloud services or third-party data storage: All data is kept on your device, so you have complete control over your information.
- No Firebase Cloud Messaging/Analytics: We don't track your activity or use your data for advertising purposes. We only collect crash logs through Firebase Crashlytics.
- User-friendly: PlainApp has a modern, customizable interface with multi-language support, light/dark theme options, and e-ink screen compatibility.
- Desktop management: You can manage your phone from your desktop by visiting a self-hosted webpage wirelessly.
- Contacts management: You can manage these features on the self-hosted webpage as well.
- File management: Manage files(Internal storage, SD card, USB storage), images, videos, and audio on the self-hosted webpage.
- Note-taking: Use PlainApp to manage your notes with a built-in Markdown editor.
- RSS reader: Read articles in a clean UI.
- TV casting: Cast your videos, images, and audio to your TV.
- Video and audio playback: Play videos and audio in the app and on the webpage.
- Backup and export: Backup and export your app data for safekeeping.
- SMS, Calls: Read your SMS and calls on webpage.
- Apps: View your apps and download apk from phone.
- Screen mirror: Mirror your phone on webpage.
- Tools: Sound meter.
- Notifications: You can manage push notifications on the webpage.
- Device info: You can view your device info on the webpage.
- PWA support: You can add webpage to your home screen and experience the convenience of using the webpage like a desktop app.
- And more features are planned for the future.
PlainApp's minimalist design is intentional, so you can focus on what matters most: your valuable data.
Video: https://www.youtube.com/watch?v=TjRhC8pSQ6Q
Reddit: https://www.reddit.com/r/plainapp
Discord: https://discord.gg/RQWcS6DEEe
QQ Group: 812409393
⚠️ The project is under very active development.⚠️ Expect bugs and breaking changes.⚠️ It is not perfect, I am always looking for ways to improve. If you find that the app is missing a certain feature, please don't hesitate to submit a feature request.⚠️ I kindly request everyone to ask questions and engage in discussions in a friendly manner.
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.
Your donation is highly appreciated. Thank you!
-
Use WeChat to scan the code
PlainApp requires Android 9.0 or higher.
- ❌ Not Started
- 🟡 In Progress
- ✅ Completed
Feature | WEB | APP |
---|---|---|
Material You Theme | ✅ | 🟡 |
Share Files via Web Link | ❌ | ❌ |
Messaging between Phones with PlainApp (Bluetooth, Wi-Fi) | ❌ | ❌ |
Translation Dictionary | ❌ | ❌ |
Books | ❌ | ❌ |
To do list | ❌ | ❌ |
The ultimate goal is to turn smartphones into personal data and knowledge managers, allowing individuals to more easily exchange knowledge and data with each other through PlainApp.
https://docs.plain.icu/faq.html
It's worth mentioning that this is an open-source application. If you have doubts, you can either build your own version or choose not to use it. If you encounter any issues, feel free to open an issue on GitHub. I am always happy to help. Please do not give a one-star rating arbitrarily.
./gradlew downloadApolloSchema \
--endpoint="https://<box-ip>:8080/graphql" \
--schema="app/src/main/graphql/com/ismartcoding/plain/schema.graphqls" \
--header="Authorization: Bearer <token>"
- Generate
release.jks
file under$rootProject/app
folder.
keytool -genkey -v -keystore ./app/release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias plain
- Create
keystore.properties
file with following content under$rootProject
folder.
storePassword=
keyPassword=
keyAlias=plain
storeFile=release.jks