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! π¬