又一个命令行文件传输,这次用边缘函数做 TCP 打洞

日期 : 2023-01-18 23:39:05作者 : 熊人

简单来说,就是用 Deno deploy 这个跑 V8 的平台做建立点对点连接时打洞用的公共服务器。实现主要归功于 Deno deploy 的以下特性:

  • 作为 HTTP 服务器的 handler ,却可以拿到底层 TCP 连接的源 IP 和端口信息
  • BroadcastChannel API 让全球不同区域的实例可以实时通信

具体可以参见我边缘函数的实现

噱头归噱头,我也是真心想做一个比市面上已有的命令行文件传输更好用的工具。现有的工具设计时大部分是考虑传文件给他人的场景,但对于我来说,更多是在自己的不同服务器 /设备间传文件的场景。因此,大可不必每次传输都要求用户复制粘贴一段随机代号,身份验证信息可以提前存储到每台设备上。

acp 使用体验上尽量贴近 cp ,发送端指定文件,接收端不需要指定任何信息。并且启动无分先后,两边都就绪后即开始协商建立连接传输。

安装脚本详见 README(就下载个可执行文件然后初始化配置)

最后忍不住说一句,边缘函数干这个实在是太适合了,轻量低成本低延迟,还颇有拆手机锂电池用来生火的风味

项目在这: https://github.com/Contextualist/acp

标签 :