【免费下载链接】dumbpipe
Unix pipes between devices
dumbpipe 是一款基于 iroh 的P2P 加密管道命令行工具,它像 Unix 经典工具 netcat 一样在两台设备之间直接传递数据,同时自动完成NAT 穿透和端到端加密。本教程带你用 5 分钟完成 dumbpipe 安装、生成 ticket,并建立第一条加密连接。
dumbpipe 是什么:加密 P2P 数据管道
与靠 IP 地址定位的 netcat 不同,dumbpipe 用 256 位的endpoint id来寻址,因此"位置透明"——无论对方在哪个网络,只要拿到它的 ticket 就能连上。所有连接默认使用 TLS 加密,打洞失败时自动回退到 relay 中继,你无需手动配置端口映射或内网穿透。
💡 一句话总结:装好工具 → 生成 ticket → listen 监听 + connect 连接,三步打通加密通道。
核心逻辑实现在 main.rs 与 lib.rs,工具定位可在 Cargo.toml 的关键词中确认:netcat、p2p、holepunching。
一键安装 dumbpipe:Cargo 与 Homebrew 两种方式
dumbpipe 是 Rust 项目,最直接的安装方式是通过包管理器一条命令搞定,无需手动 clone 仓库。
方式一:使用 Cargo(推荐)
cargo install dumbpipe方式二:使用 Homebrew(macOS / Linux)
brew install dumbpipe安装完成后即可使用dumbpipe命令。若提示未找到,请确认 Rust 工具链或 PATH 配置无误(项目最低要求 Rust 1.91,见 Cargo.toml)。
生成 ticket:固定身份让连接可复用
ticket是连接对方的"门禁凭证",本质是 endpoint 地址(含 endpoint id 与 relay 信息)的编码。
默认情况下每次运行都会随机生成一把临时密钥。若希望长期复用同一个身份(比如固定一个可被反复连接的 listener),需先通过环境变量IROH_SECRET指定私钥,再运行generate-ticket:
export IROH_SECRET=你的私钥 dumbpipe generate-ticket命令会直接打印出 ticket。相关密钥读取逻辑见 get_or_create_secret,ticket 生成逻辑见 generate_ticket。
⚠️ 临时密钥无需 ticket 也能连(listen 会自动打印);ticket 主要用于"身份固定、可长期复用"的场景。
首次加密连接:listen 监听 + connect 三步走
建立连接最经典的用法是转发标准输入 / 输出。两端各运行一个命令,数据即可加密直通。
第一步:一端运行listen开始监听
dumbpipe listen它会立刻在终端打印出 ticket(输出到 stderr,避免污染数据流):
Listening. To connect, use: dumbpipe connect <ticket>第二步:另一端复制 ticket 并运行connect
dumbpipe connect <ticket>第三步:双向数据开始流动
两端随后进入交互,stdin/stdout 会被实时加密转发,按Ctrl+C即可断开。监听与连接的核心分别在 listen_stdio 和 connect_stdio 中实现,连接成功后会先交换一个hello握手(见 HANDSHAKE)再开始传输。
进阶玩法:转发 TCP 端口与 Unix Socket
想分享一个本地服务或应用?dumbpipe 提供了 TCP 与 Unix Socket 两种"端口转发"能力,同样只需 ticket。
转发 TCP 端口(如分享一个 web 服务)
# A 端:监听并转发到本机 3000 端口 dumbpipe listen-tcp --host localhost:3000 # B 端:把本机 3001 接入该 ticket dumbpipe connect-tcp --addr 127.0.0.1:3001 <ticket>之后访问 B 端的 3001 端口,就能看到 A 端 3000 端口上的服务。
转发 Unix Socket(如远程接入 Zellij 等工具)
# A 端:转发远程 socket dumbpipe listen-unix --socket-path /path/to/app.sock # B 端:在本地创建对应 socket dumbpipe connect-unix --socket-path /path/to/local.sock <ticket>两种转发分别由 listen_tcp、connect_tcp 与 connect_unix 实现。完整示例可参考官方文档 README.md。
常见问题与小结
- 看不到 ticket?ticket 输出在 stderr,若被重定向或日志干扰,可加
-v提升详细度。 - 连接超时怎么办?dumbpipe 会先尝试直接打洞,失败后自动切换 relay,通常无需干预。
- 如何复用身份?设置
IROH_SECRET后运行generate-ticket即可获得稳定 ticket。
小结:dumbpipe 把"内网穿透 + 加密传输"浓缩成了三个命令——generate-ticket、listen、connect。无论是快速传文件、分享本地服务,还是远程接入应用,它都能在几秒内建立起一条安全、稳定的加密 P2P 管道。
【免费下载链接】dumbpipe
Unix pipes between devices
相关推荐
5分钟上手ELF:从安装到首次生成文本的完整实践教程
5分钟上手ELF:从安装到首次生成文本的完整实践教程 ELF(Embedded Language Flows)是一个基于连续时间 Flow Matching 的
5分钟上手Backplane:新手安装与首次运行完整教程
5分钟上手Backplane:新手安装与首次运行完整教程 Backplane 是一个完全开源的 Agentic 硬件开发(AI 智能体 + 硬件设计)工作区,基
Sequoia-X 高而窄旗形策略:4道门筛出主力建仓窗口
Sequoia X 高而窄旗形策略:4道门筛出主力建仓窗口 追高三次被埋、割肉10%后横盘十天再破位——"高而窄旗形"是手动选股最反直觉的形态:看见时主升浪往往
金融科技数据分析
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考