Skip to content

Bahtya/adb-proxy-browser

Repository files navigation

🌐 ADB Proxy Browser

Route your PC traffic through your Android phone's proxy via USB

A lightweight Electron browser with built-in ADB tunnel support

GitHub release GitHub stars GitHub downloads License Platform

Electron Node.js

⭐ If this project helps you, please give it a star!

GitHub stars

📸 Preview

Welcome Screen Browser View Terminal Panel
Welcome Screen Browser View Terminal Panel
Device detection & connection Full browser experience SSH to Termux

✨ Features

🔌 One-Click Connection

  • Automatic Android device detection
  • No external ADB binary required
  • Built-in platform tools download

🌍 Built-in Browser

  • Chrome-like tabbed interface
  • URL suggestions from history
  • Bookmarks support

🔒 Proxy Support

  • HTTP & SOCKS5 protocols
  • Works with Clash, V2Ray, Shadowsocks
  • System-wide proxy configuration

💻 Terminal Access

  • Built-in SSH to Termux
  • xterm.js powered terminal
  • Direct phone shell access

🚀 Quick Start

Prerequisites

Requirement Details
📱 Android Phone USB debugging enabled, proxy app running (Clash/V2Ray/etc.)
💻 PC USB drivers installed
🔧 Proxy App "Allow LAN connections" enabled

Installation

Download the latest release for your platform:

Download Windows Download macOS Download Linux

Usage

1. Connect phone via USB
2. Start proxy app on phone (enable "Allow LAN")
3. Launch ADB Proxy Browser
4. Click "Connect"
5. Browse the internet through your phone's proxy!

📊 How It Works

Browser Traffic Flow

┌─────────────┐      ┌─────────────┐      ┌─────────────┐      ┌─────────────┐
│   Browser   │ ───▶ │ Local Proxy │ ───▶ │ ADB Tunnel  │ ───▶ │ Phone Proxy │
│   (PC)      │      │  (7890)     │      │  (USB)      │      │  (Clash)    │
└─────────────┘      └─────────────┘      └─────────────┘      └─────────────┘
                                                                      │
                                                                      ▼
                                                               ┌─────────────┐
                                                               │  Internet   │
                                                               └─────────────┘

Terminal SSH Flow

┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│  Terminal Panel │ ───▶ │   ADB Port      │ ───▶ │     Termux      │
│   (xterm.js)    │      │   Forward       │      │    (sshd)       │
│   Port: 8022    │      │  8022 → 8022    │      │   Port: 8022     │
└─────────────────┘      └─────────────────┘      └─────────────────┘
                                                          │
                                                          ▼
                                                   ┌─────────────────┐
                                                   │  Android Shell   │
                                                   │    (bash/zsh)     │
                                                   └─────────────────┘

🛠️ Advanced Usage

Using with Other Applications

The app creates a local proxy at 127.0.0.1:7890. Any application can use it:

📋 System-wide Proxy (Windows)
Settings → Network & Internet → Proxy → Manual proxy setup
- Address: 127.0.0.1
- Port: 7890
🌐 Browser Extension (Proxy SwitchyOmega)
  1. Install Proxy SwitchyOmega
  2. Create new profile → Proxy
  3. Protocol: SOCKS5 or HTTP
  4. Server: 127.0.0.1, Port: 7890
💻 Command Line Tools
# curl
curl -x http://127.0.0.1:7890 https://example.com

# git
git config --global http.proxy http://127.0.0.1:7890

# npm
npm config set proxy http://127.0.0.1:7890

# pip
pip install package --proxy http://127.0.0.1:7890
🐍 Python
import requests

proxies = {
    "http": "socks5://127.0.0.1:7890",
    "https": "socks5://127.0.0.1:7890",
}
response = requests.get("https://example.com", proxies=proxies)

💻 Terminal (SSH to Termux)

Access your phone's shell directly from the app!

Setup Termux SSH Server
# 1. Install Termux from F-Droid (recommended)

# 2. Install OpenSSH
pkg update && pkg install openssh

# 3. Set password
passwd

# 4. Find your username
whoami

# 5. Start SSH server
sshd

# (Optional) Auto-start on launch
echo 'sshd' >> ~/.bashrc

🔧 Build from Source

# Clone repository
git clone https://github.com/Bahtya/adb-proxy-browser.git
cd adb-proxy-browser

# Install dependencies
npm install

# Run in development
npm start

# Build for production
npm run build:win    # Windows
npm run build:mac    # macOS
npm run build:linux  # Linux

📈 Project Stats

Stats Badge
Stars Stars
Forks Forks
Issues Issues
Downloads Downloads
Contributors Contributors
Last Commit Last Commit

🤝 Contributing

Contributions are welcome! Here's how you can help:

PRs Welcome

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • Electron - Cross-platform desktop apps
  • adbkit - Pure JavaScript ADB implementation
  • xterm.js - Terminal emulator
  • ssh2 - SSH2 client

⭐ Star History

Star History Chart

⬆ Back to Top


Made with ❤️ by Bahtya

About

定制化通过手机上网的浏览器

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors