Skip to main content

Tunnel System V4 - Cloudflare Workers based tunnel system

Project description

Tunnel V4

A modern tunnel system built on Cloudflare Workers and Durable Objects.

Features

  • 🚀 Remote Terminal - SSH-like terminal access to your servers
  • 📡 SOCKS5 Proxy - Secure proxy through your nodes
  • Command Execution - Run commands remotely
  • 🔒 Secure - End-to-end encrypted connections
  • 🌍 Global - Powered by Cloudflare's edge network

Installation

pip install mp-tunnel

Quick Start

Start Agent on Your Server

# Basic usage
tunnel agent --id my-server @all

# With custom tags
tunnel agent --id my-server --tags env=prod,region=us @all

# Specific services only
tunnel agent --id my-server @term @socks5

Use CLI to Connect

# List nodes
tunnel list

# Remote terminal
tunnel term --node my-server

# Execute command
tunnel exec --node my-server "uptime"

# SOCKS5 proxy
tunnel socks5 --node my-server --port 1080

Configuration

Environment Variables

  • TUNNEL_WORKER_URL - Override default Worker URL
  • TUNNEL_ENV - Environment (dev/prod)
  • TUNNEL_DEBUG - Enable debug logging

Custom Worker URL

export TUNNEL_WORKER_URL="wss://your-worker.workers.dev"
tunnel agent --id my-server @all

Services

Built-in Services

  • @all - All services (exec, term, socks5)
  • @exec - Remote command execution
  • @term - Remote terminal
  • @socks5 - SOCKS5 proxy

Port Forwarding

# Forward local HTTP service
tunnel agent --id my-server myapi:8080:http

# Forward local TCP service  
tunnel agent --id my-server mysql:3306:tcp

HTTP Forward (支持 HTTP 和 WebSocket)

HTTP forward 类型统一支持 HTTP 请求和 WebSocket 升级:

# 启动 Agent,转发本地 HTTP/WebSocket 服务
tunnel agent --id my-server myservice:8080:http

访问方式:

  • 子域名模式: https://myservice-tun.your-domain.com/path
  • 路径模式: https://your-domain.com/http/myservice/path

本地地址自动替换

对于返回本地地址的服务(如 Chrome DevTools Protocol),Agent 会自动将 JSON 响应中的 127.0.0.1:port 替换为占位符,Worker 再替换为公网域名。

示例 - 连接远程 CDP 浏览器:

from playwright.sync_api import sync_playwright

# 启动 Agent: tunnel agent --id browser orbita:9222:http

with sync_playwright() as p:
    # 使用 https:// (Playwright 会自动获取 /json/version)
    browser = p.chromium.connect_over_cdp("https://orbita-tun.your-domain.com")
    page = browser.new_page()
    page.goto("https://example.com")
    browser.close()

Development

# Clone repository
git clone https://github.com/yourusername/tunnel-v4.git
cd tunnel-v4

# Install in development mode
export TUNNEL_DEV=1
pip install -e .

# Run agent (development uses tunnel4 command)
tunnel4 agent --id test @all

License

MIT License

Links

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

mp_tunnel-4.0.27.tar.gz (44.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mp_tunnel-4.0.27-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

Details for the file mp_tunnel-4.0.27.tar.gz.

File metadata

  • Download URL: mp_tunnel-4.0.27.tar.gz
  • Upload date:
  • Size: 44.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for mp_tunnel-4.0.27.tar.gz
Algorithm Hash digest
SHA256 fc0e17aef83b264fc8a5ec6af1ec6954038cfa21be461cd0b0f06bee736d7581
MD5 8daef512dc41eaed97e596ef33637618
BLAKE2b-256 17bb0f0d7f115afb887eb0fbfdf86c064da698baa216ce73a939fc756fbee890

See more details on using hashes here.

File details

Details for the file mp_tunnel-4.0.27-py3-none-any.whl.

File metadata

  • Download URL: mp_tunnel-4.0.27-py3-none-any.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for mp_tunnel-4.0.27-py3-none-any.whl
Algorithm Hash digest
SHA256 f534c596f20e23ed61f70101292476eba1a2401bc9d4da086d48e1fee6be76a8
MD5 5ab445c1f6ebef81e3276193cf2a1023
BLAKE2b-256 57bb48c025a0cadefd93383d59f249645e6ec2dfbd435bb4b99e5a5ced8104d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page