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.
- 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.pyOpen 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.pyThis 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




