aeroxy /
tunnix
一句话:一个通过 HTTP/SSE 传输的加密 SOCKS5/HTTP 代理隧道 —— 专为 Cloud Shell、Codespaces、Gitpod 这类只允许 HTTP 出站的环境设计。 卖点: 端到端加密:ChaCha20‑Poly1305 + Argon2id 密钥派生,中间人无法读取流量。 HTTP/SSE 传输:不需要 WebSocket,只要 HTTP 能通就能用。 同一端口双协议:自动识别 SOCKS5 和 HTTP …
aeroxy /
一句话:一个通过 HTTP/SSE 传输的加密 SOCKS5/HTTP 代理隧道 —— 专为 Cloud Shell、Codespaces、Gitpod 这类只允许 HTTP 出站的环境设计。 卖点: 端到端加密:ChaCha20‑Poly1305 + Argon2id 密钥派生,中间人无法读取流量。 HTTP/SSE 传输:不需要 WebSocket,只要 HTTP 能通就能用。 同一端口双协议:自动识别 SOCKS5 和 HTTP …
一句话:一个通过 HTTP/SSE 传输的加密 SOCKS5/HTTP 代理隧道 —— 专为 Cloud Shell、Codespaces、Gitpod 这类只允许 HTTP 出站的环境设计。 卖点: 端到端加密:ChaCha20‑Poly1305 + Argon2id 密钥派生,中间人无法读取流量。 HTTP/SSE 传输:不需要 WebSocket,只要 HTTP 能通就能用。 同一端口双协议:自动识别 SOCKS5 和 HTTP 代理,客户端监听一个端口即可同时支持两种协议。 连接复用:多个代理连接共享同一个 SSE 流,资源开销极小。 路径前缀支持:可挂载在 /tunnix 等子路径下,方便与其它服务共用同一域名。 单文件二进制:tunnix server / tunnix client,部署简单。 典型场景: 云端开发环境:Google Cloud Shell、GitHub Codespaces、Gitpod 通常只开放 HTTP/HTTPS 端口,且需要携带认证 Cookie。tunnix 在这些环境里启动 server,本地 client 通过 Web Preview 地址连接,瞬间拥有一个稳定的 SOCKS5 代理。 反向代理后方的穿透:公司 nginx 只暴露 443 端口,tunnix 加上 pathprefix 就能与现有服务共存,告别再开一台机器的烦恼。 容器平台出口:Railway / Render / Fly.io 等平台分配 HTTPS 域名但可能不保证 WebSocket 长连接,tunnix 的 SSE 方案更稳定。 临时共享代理:在任意有公网 HTTP 出口的机器上跑 tunnix server,本地用 client 连过去,立刻获得加密隧道。 功能: tunnix server — 启动服务端,监听本地端口,管理会话。 tunnix client — 启动客户端,连接远程 server,在本地暴露 SOCKS5/HTTP 代理端口。 支持通过配置文件(config.toml)或命令行参数设置服务端地址、密码、自定义 HTTP 头(如 Cookie)。 自动重连 + 过期会话清理(v0.1.4 新特性):当服务端重启并丢失会话 ID 时,客户端自动生成新 ID 并重置状态,彻底告别“503 循环”。 健康检查端点 /health 不受路径前缀影响,方便负载均衡探针。 支持的运行环境: 任何可以运行 Rust 二进制的地方(Windows / macOS / Linux / FreeBSD)。 云开发环境:Cloud Shell、Codespaces、Gitpod。 通用容器平台:Railway、Render、Fly.io(Vercel 不适合,函数超时太短)。 安装: bash 使用 cargo cargo install tunnix 或从 Releases 下载预编译二进制 快速上手: bash 服务端(比如跑在 Cloud Shell 里) tunnix server --listen 0.0.0.0:8080 --password "你的强密码" 客户端(本地机器) tunnix client \ server " \ password "你的强密码" \ local-addr 127.0.0.1:7890 然后 curl --socks5 127.0.0.1:7890 即可测试。 架构简析: 本地浏览器/APP → SOCKS5/HTTP → tunnix client ──(加密 HTTP/SSE)──> tunnix server ──> 目标网站 client 用 hyper 做 HTTP/1.1 连接,server 用 SSE 下发下行数据。每个上行 POST 请求携带一个随机 nonce 和密文,下行通过 SSE 的 data: 事件推送。 附言:项目完全开源(MIT),最近发布的 v0.1.4 修复了服务端重启后客户端无限重试的“过期会话”问题,现在无需任何手动干预即可恢复。如果你经常在受限网络环境里折腾代理,或者需要一个轻量、加密的 HTTP 穿透工具,欢迎试用和反馈。
讨论这个产品