Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VPN for All β€” V2Ray Proxy Manager

GitHub release License Chrome Edge Brave Chromium

VPN for All is a Chrome extension that connects to V2Ray / VLESS / VMess / Trojan proxy servers and routes all your browser traffic through a secure encrypted tunnel. Just paste your config link and connect β€” it's that simple.


Screenshots

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  β–  VPN4All                                          β—‹ Connected β”‚
│─────────────────────────────────────────────────────────────│
β”‚  [Connect]  [Profiles]  [Stats]                             β”‚
│─────────────────────────────────────────────────────────────│
β”‚                                                             β”‚
β”‚  Paste V2Ray / VLESS / VMess / Trojan Config Link           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ vless://uuid@server.com:443?security=tls&...        β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ Type       VLESS                                      β”‚    β”‚
β”‚  β”‚ Server     server.com                                 β”‚    β”‚
β”‚  β”‚ Port       443                                        β”‚    β”‚
β”‚  β”‚ Name       My Server                                  β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                             β”‚
β”‚  [+ Add to Profiles]           [Connect] β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ      β”‚
β”‚                                                             β”‚
β”‚  Paste a vless://, vmess://, or trojan:// link to connect  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  β–  VPN4All                                          β—‹ Connected β”‚
│─────────────────────────────────────────────────────────────│
β”‚  [Connect]  [Profiles]  [Stats]                             β”‚
│─────────────────────────────────────────────────────────────│
β”‚                                                             β”‚
β”‚  πŸ“‹ No saved profiles yet.                                  β”‚
β”‚                                                             β”‚
β”‚  Paste a config link in the Connect tab and save it.        β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  β–  VPN4All                                          ● Connected β”‚
│─────────────────────────────────────────────────────────────│
β”‚  [Connect]  [Profiles]  [Stats]                             β”‚
│─────────────────────────────────────────────────────────────│
β”‚  TRAFFIC STATISTICS                                         β”‚
β”‚                                                             β”‚
β”‚       β–² 1.2 MB                  β–Ό 5.7 MB                    β”‚
β”‚     340 B/s ↑               1.2 KB/s ↓                      β”‚
β”‚     Upload                   Download                       β”‚
β”‚                                                             β”‚
β”‚  ─────────────────────────────────────────────────────────  β”‚
β”‚  CONNECTION                                                 β”‚
β”‚                                                             β”‚
β”‚  Status           ● Connected                               β”‚
β”‚  Connected Since  10:32:45 AM                               β”‚
β”‚  Active Profile   My Server                                 β”‚
β”‚                                                             β”‚
β”‚  [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ Disconnect β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ]   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Features

  • βœ… Instant connect β€” Paste any vless://, vmess://, or trojan:// link and connect in one click
  • βœ… Multi-profile β€” Save and switch between multiple server profiles
  • βœ… All protocols supported β€” VLESS, VMess, Trojan (with Reality, XTLS, WebSocket, gRPC, TCP, etc.)
  • βœ… Real-time traffic stats β€” Monitor upload/download speed and total data usage
  • βœ… Proxy isolation β€” Routes only Chrome/Chromium traffic, not system-wide
  • βœ… PER-PROFILE support β€” Each Chrome profile can use a different server on a different port
  • βœ… Lightweight β€” Minimal UI, no bloat, just works
  • βœ… Open source β€” MIT licensed, fully transparent

Supported Protocols & Transports

Protocol Status
VLESS (with Reality, XTLS, Vision) βœ…
VMess (with AEAD, WebSocket, gRPC) βœ…
Trojan βœ…
VLESS + TCP βœ…
VLESS + WebSocket + TLS βœ…
VLESS + gRPC βœ…
VLESS + Reality βœ…
VMess + TCP + WebSocket βœ…
VMess + gRPC βœ…
Trojan + TLS βœ…

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Popup     │────▢│  Background  │────▢│  Native Host    │────▢│  Xray Core   β”‚
β”‚  (UI/Config)β”‚     β”‚  (Service    β”‚     β”‚  (Go binary)    β”‚     β”‚  (SOCKS5     β”‚
β”‚             β”‚     β”‚   Worker)    β”‚     β”‚  runs xray      β”‚     β”‚   :10801)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚                                                β”‚
                           β–Ό                                                β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ chrome.proxy β”‚                               β”‚ All Chrome       β”‚
                    β”‚  API (MV3)   │──────────────────────────────▢│ traffic β†’        β”‚
                    β”‚  socks5://   β”‚                               β”‚ V2Ray Server     β”‚
                    β”‚  127.0.0.1   β”‚                               β”‚ β†’ Internet       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Flow:

  1. User pastes a config link (vless://..., vmess://..., trojan://...) in the popup
  2. Extension parses the config and sends it to the native host via Chrome Native Messaging
  3. Native host generates Xray-compatible JSON config and launches Xray core as a local SOCKS5 proxy
  4. Extension sets Chrome proxy settings (chrome.proxy API) to point to 127.0.0.1:SOCKS5_PORT
  5. All browser traffic is now routed through the V2Ray server
  6. Real-time traffic statistics are displayed in the popup

Note: This extension requires a native messaging host component to run the Xray core binary. Chrome extensions cannot implement raw TCP/VLESS protocol directly due to browser sandbox restrictions. See Installation for setup instructions.

Installation

Prerequisites

  • Google Chrome, Microsoft Edge, Brave, or any Chromium-based browser
  • Go 1.21+ (to build the native host β€” or use the pre-built binary from the Releases page)
  • A V2Ray/VLESS/VMess/Trojan server config link

Step 1: Install the Extension

Option A: Load Unpacked (Developer Mode)

  1. Download this repository:
    git clone https://github.com/coldhell7/Chrome-extention-Vpnforall.git
    cd Chrome-extention-Vpnforall
  2. Open chrome://extensions/ in your browser
  3. Enable Developer mode (toggle in top-right corner)
  4. Click Load unpacked and select the extension/ folder

Option B: Install CRX (Release)

  1. Download vpnforall.crx from the Releases page
  2. Open chrome://extensions/
  3. Enable Developer mode
  4. Drag and drop vpnforall.crx onto the page

Step 2: Install the Native Messaging Host

Why? Chrome extensions cannot directly implement V2Ray/VLESS protocol. The native host runs the Xray core, which does the actual proxy work.

On macOS / Linux

# Make the installer executable
chmod +x native-host/install.sh

# Run the installer
./native-host/install.sh

The installer will:

  1. Build the Go native host binary
  2. Download Xray core from GitHub releases
  3. Register the native messaging host with Chrome
  4. Ask for your Extension ID β€” copy it from chrome://extensions/

On Windows (PowerShell)

# Run PowerShell as Administrator
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# Run the installer
.\native-host\install.ps1

The installer will:

  1. Build the Go native host binary
  2. Download Xray core from GitHub releases
  3. Register the native messaging host in the registry
  4. Ask for your Extension ID β€” copy it from chrome://extensions/

Step 3: Get Your Extension ID

  1. Go to chrome://extensions/
  2. Find VPN for All in the list
  3. Copy its ID (e.g., abcdefghijklmnopabcdefghijklmnop)
  4. Enter this ID when prompted by the installer script

Step 4: Reload & Connect

  1. After installation, go back to chrome://extensions/
  2. Click the Refresh icon on the VPN for All card
  3. Click the extension icon in your toolbar
  4. Paste your config link (e.g., vless://...) and click Connect

Usage

Connecting to a Server

  1. Click the VPN for All icon in your Chrome toolbar
  2. Paste your config link into the text area:
    vless://your-uuid@your-server.com:443?security=tls&sni=your-server.com&type=tcp&encryption=none#My%20Server
    
  3. Click Connect
  4. Chrome traffic is now routed through your V2Ray server

Saving Profiles

  1. Paste a config link
  2. Click + Add to Profiles
  3. Switch to the Profiles tab to see your saved servers
  4. Click Connect on any saved profile to quickly switch

Multi-Profile Setup

Each Chrome profile can use a different proxy server on a different port:

Chrome Profile Port Server
Default 10801 πŸ‡―πŸ‡΅ Japan
Work 10803 πŸ‡ΊπŸ‡Έ US
Personal 10805 πŸ‡ΈπŸ‡¬ Singapore

Important: Use different ports for different Chrome profiles. Each port corresponds to a separate Xray process.

Traffic Stats

The Stats tab shows:

  • Upload β€” Total data sent + current upload speed
  • Download β€” Total data received + current download speed
  • Connection β€” Current status, connection time, active profile

Building from Source

Prerequisites

  • Go 1.21+
  • Node.js 18+
  • OpenSSL (for CRX signing)

Build Everything

# Clone the repo
git clone https://github.com/coldhell7/Chrome-extention-Vpnforall.git
cd Chrome-extention-Vpnforall

# Run the build script
chmod +x build.sh
./build.sh

The build script:

  1. Compiles native host binaries for all platforms (Linux/macOS/Windows Γ— amd64/arm64)
  2. Creates dist/vpnforall.crx (packed Chrome extension)
  3. Creates dist/vpnforall.zip (unpacked extension archive)
  4. Copies installer scripts to dist/

Output Structure

dist/
β”œβ”€β”€ vpnforall.crx                        # Packed Chrome extension
β”œβ”€β”€ vpnforall.zip                        # Unpacked extension archive
β”œβ”€β”€ vpnforall-host-linux-amd64           # Native host (Linux x64)
β”œβ”€β”€ vpnforall-host-linux-arm64           # Native host (Linux ARM)
β”œβ”€β”€ vpnforall-host-darwin-amd64          # Native host (macOS Intel)
β”œβ”€β”€ vpnforall-host-darwin-arm64          # Native host (macOS Apple Silicon)
β”œβ”€β”€ vpnforall-host-windows-amd64.exe     # Native host (Windows x64)
β”œβ”€β”€ install.sh                           # Linux/macOS installer
β”œβ”€β”€ install.ps1                          # Windows installer
β”œβ”€β”€ com.vpnforall.native.json            # Native messaging manifest template
└── key.pem                              # Extension private key

Project Structure

Chrome-extention-Vpnforall/
β”œβ”€β”€ extension/                 # Chrome extension source
β”‚   β”œβ”€β”€ manifest.json          # Manifest V3 config
β”‚   β”œβ”€β”€ popup.html             # Popup UI
β”‚   β”œβ”€β”€ popup.js               # Popup logic + config parsing
β”‚   β”œβ”€β”€ background.js          # Service worker (proxy + native messaging)
β”‚   └── icons/                 # Extension icons
β”œβ”€β”€ native-host/               # Native messaging host (Go)
β”‚   β”œβ”€β”€ go.mod                 # Go module
β”‚   β”œβ”€β”€ main.go                # Native host implementation
β”‚   β”œβ”€β”€ install.sh             # Linux/macOS installer
β”‚   β”œβ”€β”€ install.ps1            # Windows installer
β”‚   └── com.vpnforall.native.json  # Native messaging manifest
β”œβ”€β”€ dist/                      # Build output
β”œβ”€β”€ build.sh                   # Build script
└── README.md                  # This file

FAQ / Troubleshooting

"Native host not found" error

  • Make sure you ran the installer script (install.sh or install.ps1)
  • Verify the native messaging manifest is in the correct location:
    • macOS: ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/
    • Linux: ~/.config/google-chrome/NativeMessagingHosts/
    • Windows: %LOCALAPPDATA%\Google\Chrome\User Data\NativeMessagingHosts\
  • Check that the Extension ID in the manifest matches your extension's ID

Connection fails after clicking Connect

  • Check your server config is valid (paste it in another V2Ray client to test)
  • Verify the Xray binary downloaded correctly: check ~/.vpnforall/xray
  • Look at the extension logs: chrome://extensions/ β†’ VPN for All β†’ Service Worker β†’ Console
  • Check if port 10801 is already in use: lsof -i :10801

"Port already in use" error

  • Different Chrome profiles must use different ports (10801, 10803, 10805, etc.)
  • Kill stale Xray processes:
    • macOS/Linux: pkill xray
    • Windows: Task Manager β†’ find xray.exe β†’ End Task

Traffic stats show 0 B/s

  • Traffic monitor updates every second
  • Make sure there is active browser traffic
  • Refresh the popup and check again

Which browsers are supported?

  • Google Chrome
  • Microsoft Edge
  • Mozilla Firefox (requires Firefox-specific native messaging paths)
  • Brave
  • Opera
  • Any Chromium-based browser

Why do I need a native host?

Chrome extensions run in a sandboxed JavaScript environment. They cannot:

  • Create raw TCP/UDP sockets
  • Execute system processes
  • Implement the VLESS/VMess protocol directly

The native messaging host bridges this gap by running Xray core as a system process and communicating with the extension via stdin/stdout.

Tech Stack

Component Technology
Chrome Extension Manifest V3 (JavaScript)
Native Host Go (compiled binary)
Proxy Core Xray-core
Proxy Protocol SOCKS5
Packaging CRX3 format

License

MIT

Credits

Disclaimer

This project is for educational and research purposes only. Users are responsible for complying with applicable laws and regulations in their jurisdiction. The authors are not responsible for any misuse of this software.

About

Chrome extension to connect via V2Ray/VLESS/VMess/Trojan. Paste your config link and route all browser traffic through a secure proxy tunnel.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages