SyncMe is a lightweight tool that connects your Android, Linux, and Windows devices so they can work together seamlessly. Control, sync, and manage everything from one simple web interface.
Stars Forks Issues Android Linux Windows Kotlin Python Support My Work
- Modern Web Dashboard: Tactical UI for managing all connected devices. π
- REST API & WebSockets: Low-latency communication and real-time updates. β‘
- MJPEG Streaming: Live camera feed from Android devices directly in the browser. π₯
- File Management: Centralized file transfers and storage. π
- Discovery: Automatic device discovery via UDP and mDNS. π
- PWA Support: Install the dashboard as a standalone app. π±
- Full Control: Torch, vibration, volume, brightness, TTS, and toasts. π¦π³π
- Media: On-demand photos, microphone recording, and MJPEG live stream. π·ποΈ
- Data Sync: Bidirectional clipboard, notification mirroring, SMS inbox/send, contacts, and call logs. πβοΈβοΈ
- Tracking: Continuous and on-demand GPS location tracking. π
- Remote Shell: Execute commands remotely on your Android device. π
- Smart Fallback: Works in both "Full API" (Termux:API) and "No-API" modes. π§
- Clipboard Sync: Bidirectional clipboard sharing across your mesh. π
- Notifications: Mirror server-side notifications to your desktop. π
- Remote Shell: Securely execute shell commands from the dashboard. π
- Heartbeat: Real-time status reporting. β€οΈ
The server acts as the central hub.
# Clone the repository git clone https://github.com/h9zdev/SyncME.git cd SyncME # Install dependencies pip install -r requirements.txt # Start the server python server.py
Open http://localhost:5000 in your browser. Default token is syncbridge-token-2024.
Tip
If you are running locally, use your local IP address. You can also use port forwarding to expose your server to the internet. π
Download the SyncME Android app to easily connect your device.
- For Android 8 to Android 11: Download APK π₯
- For Android 12, 13, and 14+: Download APK π₯
- Build your own: Syncme-droid Repository ποΈ
Once installed:
- Open the app.
- Enter your Server URL, Token, and Device Name.
- Click Connect. π
For advanced users, run the agent within Termux.
Download Termux and Addons:
- Termux: F-Droid | Play Store
- Termux:API: F-Droid
- Termux:Widget: F-Droid
- Termux:Boot: F-Droid
Setup Steps:
# Open Termux and download the setup script and agent curl -O https://raw.githubusercontent.com/h9zdev/SyncME/main/termux_setup.sh curl -O https://raw.githubusercontent.com/h9zdev/SyncME/main/agent_android.py # Run the setup script chmod +x termux_setup.sh ./termux_setup.sh # Start the agent python agent_android.py --server [YOUR_SERVER_URL] --token [YOUR_TOKEN]
export SYNCBRIDGE_SERVER="http://YOUR_SERVER_IP:5000" export SYNCBRIDGE_TOKEN="your-secret-token" python agent_linux.py
# Install dependencies pip install requests pywin32 plyer # Set environment and run $env:SYNCBRIDGE_SERVER="http://YOUR_SERVER_IP:5000" $env:SYNCBRIDGE_TOKEN="your-secret-token" python agent_windows.py
- The Hub:
server.pyruns a Flask web server and a Socket.IO hub. It stores device states and queues commands. - The Agents: Agents connect to the server via REST (polling for commands) and push data (heartbeats, clipboard, stats).
- The Tunnel: If your server is behind a NAT, use a tunnel like Ngrok or Cloudflare Tunnel to expose the port.
- Live Stream: Android agents capture frames using
termux-camera-photoand POST them to the server, which then streams them to the dashboard using MJPEG.
- Termux:API calls fail: Ensure you have both the
termux-apipackage (pkg install termux-api) and the Termux:API app installed from F-Droid. - Device shows as Offline: Check if the agent is running and the
SYNCBRIDGE_SERVERURL is correct. - MJPEG Lag: Streaming performance depends on network latency and device CPU. Lower the FPS in the dashboard if needed.
SyncBridge uses a simple token-based authentication (X-Auth-Token). It is highly recommended to run the server behind a reverse proxy with HTTPS and use a strong, unique token. π‘οΈ
export SYNCBRIDGE_TOKEN="a-very-strong-random-token" export SECRET_KEY="your-flask-secret" python server.py
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) License. See the LICENSE file for more details.
Unauthorized use is strictly prohibited.
π§ Contact: singularat@protn.me
Donate via Monero: 45PU6txuLxtFFcVP95qT2xXdg7eZzPsqFfbtZp5HTjLbPquDAugBKNSh1bJ76qmAWNGMBCKk4R1UCYqXxYwYfP2wTggZNhq