An open API service indexing awesome lists of open source software.

https://github.com/plainhub/plain-app

πŸ”₯ 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://github.com/plainhub/plain-app

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

Last synced: 4 days ago
JSON representation

πŸ”₯ 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.

Awesome Lists containing this project

README

          

# PlainApp

**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.

[Get it on Google Play](https://play.google.com/store/apps/details?id=com.ismartcoding.plain)
[Get it on F-Droid](https://f-droid.org/packages/com.ismartcoding.plain/)
[Get it on GitHub](https://github.com/plainhub/plain-app/releases/latest)

## Why PlainApp?

Most phone-management tools either route your data through their own servers, lock features behind subscriptions, or plague you with ads. PlainApp is different:

- **100% local** β€” your data never leaves your network
- **End-to-end encrypted** β€” every connection is secured with TLS + XChaCha20-Poly1305
- **Completely free and ad-free** β€” no purchases, no upsells, ever
- **Fully open-source** β€” audit the code, build your own binary, or contribute

## Features

### 🌐 Web-Based Phone Management
Open 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.

| Category | What you can do |
|---|---|
| **Files** | Browse internal storage, SD card, and USB drives; upload, download, rename, delete |
| **Media** | View and manage photos, videos, and audio; stream them directly in the browser |
| **Contacts** | View, search, and manage your contacts |
| **SMS & Calls** | Read messages and call logs; send SMS from your desktop |
| **Apps** | List installed apps and export APKs |
| **Notifications** | Mirror phone notifications to the browser in real time |
| **Screen Mirror** | Live-stream the phone screen to the browser with audio and remote control support |
| **Device Info** | Check battery, storage, network, and system details |

### πŸ“± Built-in Android Tools
PlainApp is also a capable standalone app β€” not just a server:

- **Markdown Notes** β€” write and organize notes with a clean editor
- **RSS Reader** β€” follow your favorite websites with a distraction-free reader
- **Video & Audio Player** β€” full-featured media player with playlist support
- **TV Cast** β€” cast media to any DLNA/Chromecast-compatible TV
- **Peer-to-Peer Chat & File Sharing** β€” share files and messages directly between devices without a server
- **Pomodoro Timer** β€” stay focused with a built-in work timer
- **Sound Meter** β€” measure ambient noise levels in real time

### πŸ”’ Privacy & Security
- No Firebase Analytics or Messaging β€” crash reporting (via Firebase Crashlytics) is optional and opt-in
- Zero data sent to any third-party server
- All traffic between phone and browser is encrypted (TLS + XChaCha20-Poly1305)
- No account registration required

Video: https://www.youtube.com/watch?v=TjRhC8pSQ6Q

Reddit: https://www.reddit.com/r/plainapp

Discord: https://discord.gg/RQWcS6DEEe

QQ Group: 812409393

## How PlainApp Compares

| Feature | **PlainApp** | AirDroid | KDE Connect | AnExplorer | Pushbullet |
|---|:---:|:---:|:---:|:---:|:---:|
| Open source | βœ… | ❌ | βœ… | βœ… | ❌ |
| 100% local / no cloud required | βœ… | ⚠️ partial | βœ… | βœ… | ❌ |
| End-to-end encrypted (local) | βœ… | ⚠️ paid | ❌ | ❌ | ❌ |
| Ad-free | βœ… | ⚠️ paid | βœ… | ⚠️ paid | ⚠️ paid |
| Free all features | βœ… | ⚠️ freemium | βœ… | ⚠️ freemium | ⚠️ freemium |
| Web browser access (no desktop app needed) | βœ… | βœ… | ❌ | ❌ | βœ… |
| File manager (browser UI) | βœ… | βœ… | ⚠️ limited | βœ… | ❌ |
| SMS from desktop | βœ… | βœ… | βœ… | ❌ | βœ… |
| Screen mirroring | βœ… | βœ… | βœ… | ❌ | ❌ |
| Media streaming in browser | βœ… | ⚠️ limited | ❌ | ❌ | ❌ |
| Notification mirroring | βœ… | βœ… | βœ… | ❌ | βœ… |
| Built-in RSS reader | βœ… | ❌ | ❌ | ❌ | ❌ |
| Markdown notes | βœ… | ❌ | ❌ | ❌ | ❌ |
| P2P chat & file sharing | βœ… | ⚠️ paid | ❌ | ❌ | ⚠️ limited |
| TV casting (DLNA/Chromecast) | βœ… | βœ… | ❌ | ❌ | ❌ |
| PWA support | βœ… | ❌ | ❌ | ❌ | ❌ |
| No account required | βœ… | ❌ | βœ… | βœ… | ❌ |

> βœ… Fully supported Β  ⚠️ Partially supported or requires paid plan Β  ❌ Not supported

## Donations :heart:

**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!

- [Buy me a cup of Ko-Fi!](https://ko-fi.com/ismartcoding)

- Use WeChat to scan the code

## Screenshots

### Android App


files
home
music player
chat


audio
images
videos
rss

### Web Dashboard


home
images


videos
notes


files
calls


messages
contacts


audio
rss


encryption
screen mirror


image viewer
video player


chat

## Compatibility

PlainApp requires Android 9.0 or higher.

## FAQ

[http://docs.plain.icu/faq.html](http://docs.plain.icu/faq.html)

## Support

PlainApp is fully open-source.
If you have any doubts, you're free to review the code, build your own version, or simply choose not to use it.

If you run into issues, feel free to open a GitHub issue β€” I'm always happy to help.

Please don’t leave a one-star review without giving it a fair try.

## Build

1. Generate `release.jks` file under `$rootProject/app` folder.

```bash
keytool -genkeypair -v -keystore ./app/release.jks -alias release -keyalg RSA -keysize 4096 -validity 36500
```

2. Create `keystore.properties` file with following content under `$rootProject` folder.

```
storePassword=
keyPassword=
keyAlias=release
storeFile=release.jks
```

## Star history

[![Star History Chart](https://api.star-history.com/svg?repos=ismartcoding/plain-app&type=Date)](https://star-history.com/#ismartcoding/plain-app&Date)