tcptun

嵌入

进程内网络运行时。

把 tcptun 作为 Go 网络运行时嵌入:net.Conn、PacketConn、Listener、endpoint.Dialer、路由引擎与数据包设备。

模块

导入运行时。

go.mod 模块路径
import "pkg.tcptun.com/net"
嵌入面(示意)
// High-level idea — compose focused packages rather than shelling out to the CLI.
// See docs on the runtime repository for package layout.

import (
    "pkg.tcptun.com/net/endpoint"
    "pkg.tcptun.com/net/engine"
    "pkg.tcptun.com/net/route"
)

// Stream connections use net.Conn.
// Packet sessions adapt to net.Conn or net.PacketConn.
// Reusable transport sessions can surface as net.Listener.
// engine.PacketForwarder routes UDP through Direct or SOCKS5 UDP ASSOCIATE.

契约

标准 Go 网络形态。

优先组合专用包。新集成在能嵌入引擎时,不必再去调用 CLI 二进制。

net.Conn

流式隧道与拨号会话使用标准流契约。

net.PacketConn

数据包会话可适配已连接或未连接的数据报 API。

net.Listener

可复用的传输会话可以暴露为 listener。

endpoint.Dialer

通过编译后的端点策略进行 TCP 与 UDP 拨号。

PacketDevice / TUN

平台数据包设备进入同一套编译路由器。

路由引擎

在出站图上做应用感知的路由选择。

谁会嵌入

面向的嵌入方。

  • 构建网络代理的 Go 开发者
  • VPN 与网关应用
  • 嵌入式系统与 CPE 类设备
  • 需要进程内隧道的控制面