BitBang CLI

3个月前发布 103 00

BitBang CLI是一个单一静态二进制远程访问多功能工具:打开交互式shell、浏览和传输文件,以及从任何浏览器访问远程机器网络上的Web应用——无需端口转发、无需配置、无需账户。

所在地:
美国
收录时间:
2026-08-03
BitBang CLIBitBang CLI

在远程访问领域,SSH 是王者,但它有一个致命的弱点:可达性。如果你身处 CGNAT(如蜂窝网络、Starlink)、公司内网或大学校园网背后,开放入站端口往往是不可能的任务。为了解决这个问题,我们通常不得不引入 Tailscale、ngrok 或复杂的 VPN 配置——这意味着更多的安装、更多的账户和更多的守护进程。

BitBang CLI 提供了一种极简的替代方案。它是一个单一的静态 Go 二进制文件,能让你在任何浏览器或终端中远程访问机器,无需端口转发,无需配置,甚至无需在连接端安装任何软件。

核心体验:简单到令人发指

1. 一键启动,随处可达

在你要访问的机器上运行:

curl -sSfL bitba.ng/install | sh
bitbang serve

serve 命令会打印一个 URL、一个 QR 码和一个 6 位数字配对码。

  • 浏览器访问:在任何设备(手机、借来的笔记本)的浏览器中打开该 URL,你即可获得一个全功能的终端、文件浏览器或网络代理。
  • CLI 访问:在另一台安装了 BitBang 的机器上运行 bitbang connect <url>,即可建立点对点的加密连接。

2. 6 位数字码配对:口头传递的安全握手

当你无法粘贴 URL 时(例如正在打电话),BitBang 的配对机制类似于 Magic Wormhole:

  1. 服务端显示一个 6 位数字。
  2. 客户端输入该数字后,也会显示一个 6 位数字。
  3. 双方口头核对这两个数字。如果一致,则连接建立并保存凭据。
    这种基于短身份验证字符串(SAS)的机制,能有效防止中间人攻击,且无需任何预先交换的密钥。

为什么选择 BitBang 而非 SSH?

特性SSHBitBang CLI
网络要求需要入站路径(公网 IP 或端口转发)穿透 NAT/CGNAT,无需开放端口
客户端依赖需要 SSH 客户端和密钥/密码仅需浏览器,或轻量级 CLI
配置复杂度需启用服务、配置公钥、管理权限零配置,普通用户权限即可运行
Web 应用代理需为每个应用单独设置隧道通用代理,连接时指定任意 LAN 地址即可
隐私保护取决于服务器配置端到端加密 (WebRTC/DTLS),信令服务器不看数据

功能亮点

  • 交互式 Shell:支持颜色、调整大小、复制/粘贴,体验接近本地终端。
  • 文件管理:浏览、预览、下载和上传文件,支持断点续传。
  • 通用网络代理:在浏览器中输入局域网地址(如 nas.local 或 192.168.1.10:8080),即可像在本机一样访问该网络上的 Web 应用。Cookie、登录状态和流媒体均可正常工作。
  • CLI 工具集:
    • bitbang connect <url> -- tail -f /var/log/syslog:执行一次性命令。
    • bitbang cp <url>:/path/to/file ./local_file:类似 scp 的文件传输。

安全性设计

BitBang 的安全性建立在“自认证”和“端到端加密”之上:

  1. 密钥不离身:首次运行时生成的 RSA 密钥对仅存储在本地 ~/.bitbang/ 目录下,永远不接触信令服务器。
  2. URL 片段凭证:访问令牌位于 URL 的片段(#...)部分,浏览器不会将其发送给服务器,确保信令服务器无法窃取访问权限。
  3. 密文中继:即使由于网络限制需要通过 TURN 服务器中继,传输的也全是 WebRTC DTLS 加密后的密文。
  4. 可选 PIN 与一次性模式:支持 --pin 用于无头设备的永久访问,或 -ephemeral 用于每次运行生成全新身份,用完即焚。

安装与使用

BitBang 目前主要支持 Linux(amd64, arm64, armv7),macOS 和 Windows 版本正在开发中。

快速安装:

curl -sSfL bitba.ng/install | sh

该脚本会自动检测架构,下载二进制文件,验证 SHA-256 校验和,并安装到 ~/.local/bin/。

常用命令:

# 启动所有功能(Shell + 文件 + 代理)
bitbang serve

# 仅启动文件共享(允许上传)
bitbang serve files ~/share -upload

# 连接到已保存的设备
bitbang connect nas1

# 复制远程文件到本地
bitbang cp nas1:/var/log/app.log ./app.log

相关导航