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.26.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.26-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mp_tunnel-4.0.26.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.26.tar.gz
Algorithm Hash digest
SHA256 ca63e1d2c89bc1e12fb2e8850b5685b1a122b8bd309a321d7533476907874d67
MD5 d1c8a8eb48c26262c4ff99862c397aa0
BLAKE2b-256 c834a75e9c6283ed86b8251f4fae4d9564317e471a19581666ac95413606ffee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mp_tunnel-4.0.26-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.26-py3-none-any.whl
Algorithm Hash digest
SHA256 359ed6fc25877f44f37080c8b53a80498acc3edcc591ff714f866bb5c29dde12
MD5 77e721cefba453158d413e8b82ed836a
BLAKE2b-256 c024734c58593cbf198e2c8c0df9c47bb7aeb06dd5dd6b7390424f176b8a6fbd

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