Open Source Matrix
同一天,五块拼图
Five pieces of one puzzle
四个产品,一个内核。每一个都能单独用,合起来是一条从“本机”到“公网可调用”的完整链路。
Four products, one core. Each works alone; together they form a complete path from “local” to “callable from anywhere”.
DTNS HTTP Tunnel
dtns-http-proxy · 隧道内核tunnel core
可嵌入的 HTTP / WebSocket 内网穿透协议与服务端实现。一条 WebSocket 复用多条域名隧道,二进制帧原样透传。
An embeddable HTTP / WebSocket tunneling protocol and server. One WebSocket multiplexes many domain tunnels; binary frames pass through untouched.
- 协议实现单文件、零依赖,Node / 扩展 / 网页都能跑
- Host 即路由,一个服务端按域名分流多条隧道
- 双向信用窗口,内存上界与传输量无关
- Single-file, zero-dependency protocol for Node, extensions and web pages
- Host-based routing: one server, many tunnels
- Two-way credit windows keep memory bounded
Node.js ≥ 18
:18385 WSS
:18386 HTTP
v1 / v2
剩余四个项目,全部构建在它的协议与隧道能力之上。
The other four projects are all built on this protocol.
IBBot PTY Manager
ibbot-pty · 终端中台terminal platform
浏览器里的多主机终端面板 + 可嵌入 SDK + 内置穿透。多终端订阅、断线回放、local / ssh 双后端、500MB 文件通道。
A multi-host terminal panel in the browser, with an embeddable SDK and built-in tunneling. Multi-terminal subscriptions, replay on reconnect, local/ssh backends, 500MB file channel.
- 单个 WebSocket 按 termId 订阅,切标签不重连
- 环形缓冲回放,弱网下 16ms 合并、积压丢旧保新
- 浏览器内 Agent 暴露 REST + WS,LLM 可直接驱动
- One WebSocket, per-termId subscriptions, no reconnect on tab switch
- Ring-buffer replay; 16ms coalescing and drop-oldest under pressure
- In-browser agent exposes REST + WS for LLM-driven terminals
node-pty
UMD / ESM / CJS
:10310
GPLv3
一个网页标签页,就是一台服务器。
One browser tab is one server.
DTNS Browser Proxy
dtns-ai-browser · 浏览器即 APIbrowser as API
装一个 Chrome 扩展,把你已登录的浏览器变成 69 个 HTTP 端点。不用公网 IP、不用 Playwright、不用把 Cookie 交给第三方。
Install a Chrome extension and your logged-in browser becomes 69 HTTP endpoints. No public IP, no Playwright, no cookies handed to third parties.
- 真实登录态:扫码、短信、SSO、硬件密钥照常可用
- 纯 HTTP + JSON,curl、Go、Java、n8n 都能接
- 185 个测试用例、94.14% 行覆盖率、68/69 路由真机联调
- Real login state: QR, SMS, SSO and hardware keys keep working
- Plain HTTP + JSON — curl, Go, Java, n8n all connect
- 185 tests, 94.14% line coverage, 68/69 routes live-tested
Chrome MV3
69 endpoints
CDP
binary frames
别的方案给你一台新浏览器;这里是你手上这台。
Others give you a new browser; this lends you the one you already use.
dsh-bridge
DeepSeek Harness → REST + SSE
把本机 DSH 控制面桥接成任何设备、任何脚本都能调用的 HTTP / SSE API,附 Android 多主机客户端 DSH-Hosts。
Bridges the local DeepSeek Harness control plane into an HTTP / SSE API any device or script can call, with the DSH-Hosts Android client.
- 运行时只依赖一个 ws,零框架、零数据库
- 任务 / 会话 / 工作区 / 终端 / Job 全套端点
- 内建隧道,clientId 持久化,手机上的旧链接不失效
- Only one runtime dependency (ws); no framework, no database
- Tasks, sessions, workspaces, terminals and jobs
- Built-in tunnel with persistent clientId — old phone links keep working
REST + SSE
:10998
Android APK
GPLv3
它不替代 DSH,而是把桌面软件变成可被程序调用的服务。
It doesn’t replace DSH; it turns a desktop app into a service.
DTNS HTTP Proxy Site
dtns-http-proxy-site · 零安装入口zero-install entry
项目站 + 浏览器标签页 Agent:打开一个网页,隧道就通了。URL 即凭证,零依赖 SDK 带 Express 风格路由与 WebSocket。
Project site plus an in-tab agent: open a page and the tunnel is up. The URL is the credential; the zero-dependency SDK offers Express-style routing and WebSocket.
- 无管理员权限、禁止装软件的机器也能当出口
- 页面即 API,自动生成 OpenAPI 3 描述
- WebSocket 双工、SSE 流式、背压一并透传
- Works on machines where installing software is impossible
- The page is the API, with generated OpenAPI 3
- WebSocket duplex, SSE streaming and backpressure included
zero-dep SDK
OpenAPI 3
tab as client
浏览器就是客户端,打开即用,关掉即离线。
The browser is the client: open to connect, close to go offline.