CLI tool to expose Android devices remotely via NativeBridge
Project description
🌉 BridgeLink
BridgeLink is a production-ready CLI tool that exposes your local Android devices remotely via the NativeBridge platform, making them accessible from anywhere with secure tunneling powered by bore.
✨ Features
- 🚀 One-Command Setup - Install and configure in seconds
- 📱 Multi-Device Support - Manage multiple Android devices simultaneously
- 🔐 Secure Tunneling - API key-based authentication via NativeBridge
- 🌍 Remote Access - Access devices from anywhere in the world
- 🤖 Auto-Installation - Automatically installs bore tunnel and ADB
- 💻 Cross-Platform - Works on macOS, Linux, and Windows
- 🔄 Background Management - Tunnels run in the background as daemons
- 📊 Device Tracking - Track device state and connection URLs in real-time
- ✅ Input Validation - Validates device serials via ADB before backend calls
- 🎯 Smart Activation - Intelligently reactivates existing devices
🚀 Quick Start
1. Install BridgeLink
pip install bridgelink
2. Install Dependencies
bridgelink install
This automatically installs:
- bore - Tunnel binary for your platform (macOS, Linux, Windows)
- ADB - Android Debug Bridge from Google
3. Set API Key
Get your API key from NativeBridge Dashboard:
export NB_API_KEY='Nb-kNGB.your-api-key-here'
4. Connect Your Device
Connect your Android device via USB and enable USB debugging.
5. Add Device
bridgelink devices add <device-serial>
6. Access Remotely
adb connect bridgelink.nativebridge.io:15750
📋 Commands
Device Management
# Add device(s)
bridgelink devices add <serial>
bridgelink devices add <serial1> <serial2> # Multiple devices
# Activate existing device
bridgelink devices activate <serial>
# List all devices
bridgelink devices list
# Deactivate device (keeps registration)
bridgelink devices deactivate <serial>
bridgelink devices deactivate # Deactivate ALL active devices (with confirmation)
bridgelink devices deactivate --all # Deactivate ALL active devices
# Remove device completely
bridgelink devices remove <serial>
Daemon Management
# Check tunnel status
bridgelink daemon status
# View tunnel logs
bridgelink daemon logs <serial>
# Stop tunnel(s)
bridgelink daemon stop <serial> # Stop specific tunnel
bridgelink daemon stop # Stop ALL tunnels (with confirmation)
bridgelink daemon stop --all # Stop ALL tunnels
# Clean up dead tunnels
bridgelink daemon cleanup
Installation
# Install both bore and ADB
bridgelink install
# Install only bore
bridgelink install --bore-only
# Install only ADB
bridgelink install --adb-only
📖 Documentation
For complete documentation, visit the GitHub repository.
Key Guides:
- Security Guide - Security best practices ⚠️ READ FIRST
- Complete Command Reference - All commands with examples
- Deployment Guide - Backend setup and deployment
- Local Testing - Test before PyPI release
- PyPI Release - Publishing guide
🔧 Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
NB_API_KEY |
NativeBridge API key | Required |
NB_API_URL |
Backend API URL | https://dev.api.nativebridge.io |
BORE_SERVER |
Bore tunnel server | bridgelink.nativebridge.io |
State Directory
BridgeLink stores configuration in ~/.bridgelink/:
tunnels.json- Tunnel statetunnel_<serial>.log- Individual tunnel logs
🛡️ Security
- ✅ ADB Validation - Device serials validated before backend calls
- ✅ API Key Auth - Secure authentication for all operations
- ✅ User Isolation - Each user only sees their own devices
- ✅ HTTPS - Encrypted communication with backend
🤝 Support
- Email: support@nativebridge.io
- Issues: https://github.com/AutoFlowLabs/bridgelink/issues
- Docs: https://docs.nativebridge.io/bridgelink
- API Key: https://nativebridge.io/dashboard/api-keys
🙏 Acknowledgments
- bore - Fast, simple TCP tunnel
- ADB - Android Debug Bridge by Google
- Click - Python CLI framework
- FastAPI - Modern Python web framework
📄 License
MIT License - see LICENSE file for details.
Made with ❤️ by the NativeBridge team
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bridgelink-0.1.0.tar.gz.
File metadata
- Download URL: bridgelink-0.1.0.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74de5810d0cb3a6716dc953602b74e9de3c770149e77541636b8dba555466f76
|
|
| MD5 |
568a73fcd1cd9eb4cc92273b36897312
|
|
| BLAKE2b-256 |
e936dd326dbd6f110ec2a3c250bf15f176933a143732d98e2215eb12f6a62315
|
Provenance
The following attestation bundles were made for bridgelink-0.1.0.tar.gz:
Publisher:
release.yml on AutoFlowLabs/bridgelink
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bridgelink-0.1.0.tar.gz -
Subject digest:
74de5810d0cb3a6716dc953602b74e9de3c770149e77541636b8dba555466f76 - Sigstore transparency entry: 709628455
- Sigstore integration time:
-
Permalink:
AutoFlowLabs/bridgelink@4679dd34adbb928d89fc4b6e2ad7284a545d2f0e -
Branch / Tag:
refs/heads/production - Owner: https://github.com/AutoFlowLabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4679dd34adbb928d89fc4b6e2ad7284a545d2f0e -
Trigger Event:
push
-
Statement type:
File details
Details for the file bridgelink-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bridgelink-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb55890c38f28912563277bcf7506039f91744db071279ea0d4147bc93ba38a4
|
|
| MD5 |
e4757bbd7811890f7ee91fef68476144
|
|
| BLAKE2b-256 |
b69a8a3e20fbc923bc16878f00ee9d4e305d1e6a7396c554729568c2f0b8ab49
|
Provenance
The following attestation bundles were made for bridgelink-0.1.0-py3-none-any.whl:
Publisher:
release.yml on AutoFlowLabs/bridgelink
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bridgelink-0.1.0-py3-none-any.whl -
Subject digest:
eb55890c38f28912563277bcf7506039f91744db071279ea0d4147bc93ba38a4 - Sigstore transparency entry: 709628458
- Sigstore integration time:
-
Permalink:
AutoFlowLabs/bridgelink@4679dd34adbb928d89fc4b6e2ad7284a545d2f0e -
Branch / Tag:
refs/heads/production - Owner: https://github.com/AutoFlowLabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4679dd34adbb928d89fc4b6e2ad7284a545d2f0e -
Trigger Event:
push
-
Statement type: