DeviceBridge is a local web application for secure and convenient file and data sharing between PC and mobile devices, only using the default browser. 🔗📱💻
- Your PC and mobile must be connected to the same network.
- No USB cable needed.
- No bluetooth needed.
- No additional software or app needed.
- No administrative privileges needed.
- No jailbreak (iOS) or root (Android) required. 🚫🔓
- No privacy exclosure risks!
Ensuring seamless flow between PC and mobile devices, DeviceBridge also ease your life by providing the following interesting features:
- Generate logo embedded QR code
- Scan QR code using your PC, when your want to open the link on PC
- Sign your name using your finger, instead of mouse, without an apple pencil
- Send photos from phone to PC without a USB cable
- Save documents on your phone, using it as a wireless hard drive. This is especially attractive to iPhone users.
- More to explore...
DeviceBridge can transfer text, (drawing) images, and files between your PC and mobile device in a fast and convenient way. It supports most hardware platforms and operating systems, including PC with Windows or Linux, iphone, iPad, and Android devices. The main features include:
- QR Code Generator: Generate logo-embedded QR codes Locally. No more online QR generators! 🔳
- Remote Scan: Use your phone to scan QR codes and send the result back to your PC. 📲
- Draw & Sign: Draw or sign on your device and transfer the image to your PC. 🖼️
- File Share: Transfer files from your PC to your mobile device via browser. 📤
- File Fetch: Transfer files from your mobile device to your PC. 📥
- Windows, Linux, or macOS 🖥️
- Python 3.7 or higher (recommended: Python 3.10+) 🐍
- pip (Python package manager) 📦
- OpenSSL for SSL certificates (enabling https transfers)
- (Optional) Potrace for saving drawing as vector.
Clone the repository and install all dependencies:
git clone https://github.com/paradoxsolver1997/DeviceBridge.git
cd DeviceBridge
pip install -r requirements.txtStart the desktop app:
python main.py- By default, the local web server is closed. Configrue it in "Server Setup" and click "Start Server". 🖱️
- Check help for how to use the app. ℹ️
The remote scan requires HTTPS protocol to access cameras. On starting of the App, SSL keys are automatically configured. But OpenSSL must be previously installed with environment variable correctly configured.
Potrace is a tool that transforms a binary bitmap into vector. It is required for saving drawing or signatures as vectors. Follow the official guide to download and install Potrace.
Important: you MUST add the path of the Potrace executable to the $PATH environment variable (Windows or Linux) such that the app can find it. If successful, the Tool Check panel of the app shows a tick.
If Potrace is not installed, you can still use the other features of DeviceBridge. You can save drawing or signatures only as bitmaps.
Check Help & Documentation for the usage of this app.
DeviceBridge/
├── main.py # Main entry, starts the Flask server
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── LICENSE # Open source license
├── static/ # Frontend static resources
│ ├── index.html # Main entry page (dashboard/portal)
│ ├── setup.html # Certificate setup guide
│ ├── html/ # JavaScript files for each page
│ │ ├── help.html # User help and documentation
│ │ ├── scan.html # Remote scan page (scan QR codes, send result to PC)
│ │ ├── share.html # File share page (PC to mobile file download)
│ │ ├── fetch.html # File fetch page (mobile to PC file upload)
│ │ └── draw.html # The draw & sign page
│ ├── js/ # JavaScript files for each page
│ │ └── html5-qrcode.min.js
│ └── css/
│ └── style.css # Global styles
└── src/ # Backend core code
├── app.py # Main application window (Tkinter)
├── tabs/ # Tab logic for each feature (QR, scan, share, fetch, about, etc.)
├── frames/ # UI frame components (title, server, tool, etc.)
├── libs/ # Useful functions
└── utils/ # Utility modules (logger, server_manager, etc.)
- main.py: Entry point for the backend server and desktop app. 🏁
- requirements.txt: Lists all Python dependencies. 📦
- static/: Contains all frontend resources:
- index.html: Main dashboard/portal for navigation. 🗺️
- help.html: In-app help and usage guide. 🆘
- scan.html: Scan QR codes with mobile, send result to PC. 🔍
- share.html: Download files from PC to mobile. 📤
- fetch.html: Upload files from mobile to PC. 📥
- draw.html: Draw & Sign on mobile. 📝
- css/style.css: Global styles for all pages. 🎨
- src/: All backend and desktop app logic:
- app.py: Main Tkinter application window and logic. 🖼️
- tabs/: Each feature tab (QR, scan, share, fetch, about, etc.). 🗂️
- frames/: UI frame components for modular design. 🧩
- utils/: Helper modules (logging, server management, etc.). 🧰
- libs/: Helper functions (qr generation, etc.). 🧰
This structure ensures clear separation of backend, frontend, configuration, and utility scripts, making the project easy to maintain and extend. 🧑💻
Mozilla Public License Version 2.0
- Developed by: Paradoxsolver 👨💻
- License: Mozilla Public License Version 2.0 🪪
- Powered by:
- Flask ⚗️
- html5-qrcode 📷
- And more open source libraries 🌐
- Project Home: https://github.com/paradoxsolver1997/DeviceBridge 🏠
For questions, suggestions, or contributions, feel free to open an issue or contact the author! 💬