给 Tailscale Taildrop 一个更好的命令行交互体验 - V2EX
爱意满满的作品展示区。
Contextualist

给 Tailscale Taildrop 一个更好的命令行交互体验

  •  
  •   Contextualist
    Contextualist Sep 25, 2023 4075 views
    This topic created in 983 days ago, the information mentioned may be changed or developed.

    Taildrop

    Tailscale 是个软组网工具,可以在广域网的设备间建立加密连接,并映射为虚拟网络设备,让它们仿佛处在同一局域网下。而 Taildrop 则是 Tailscale 提供的文件传输服务,在安装了 Tailscale 的设备间收发文件。

    acp

    acp 是我的个人项目,致力于提供一种简单的方式,让自己的设备间通过命令行点对点传输文件。使用体验上尽量贴近 cp ,发送端指定文件,接收端不需要指定任何信息(不需要别名、IP 地址、路径、一次性码)。并且启动无分先后,两边都就绪后即开始协商建立连接传输。

    # 发送端 acp path/to/files # 接收端,至 $(pwd) acp # 或接收到/接收为 path/to/target acp -d path/to/target 

    为了让任意两个设备能协商建立点对点连接,我手搓了个打洞 NAT 穿越。我这简陋的实现能覆盖很多情况,但是 NAT 穿越是个很复杂的问题,所以还是会有打洞失败的情况。

    Taildrop × acp

    直到我用上了 Tailscale ,被他们专业的打洞技巧所折服,又发现了他们整的 Taildrop 。Taildrop 传输效果不错,但是在命令行里使用起来比较繁琐且限制较多。

    于是乎,我萌生了”acp 交互 × Tailscale 底层”的想法。

    acp v0.3.0 在维持简洁统一的交互下,底层连接可自动选用 Tailscale 。(acp 的老用户们,你们要是不喜欢 Tailscale 也没关系,因为从老版本升级上来的 acp 是默认不启用 Tailscale 集成的)

    相较于 Taildrop ,acp 简洁的交互带来了下列提升:

    • 可以发送文件夹
    • 发送端无需写出接收设备的名字
    • macOS 和 Windows 端可接收文件至任意文件夹,而不只是下载文件夹

    相较于上一版 acp ,Tailscale 强大的组网能力带来了下列提升:

    • NAT 打洞成功率大大提升
    • 可以使用其中继节点,确保任何情况下都能建立连接

    那么,在哪里可以买到呢?

    项目地址:github.com/Contextualist/acp

    新用户安装 acp 前若已经安装了 Tailscale ,会自动启用 Tailscale 支持。或者在安装 Tailscale 后,在 acp 配置文件中加上 strategy:["tailscale","tcp-punch"] 优先启用 Tailscale 支持,或 strategy:["tcp-punch","tailscale"] 将 Tailscale 作为备选。

    让命令行个人文件传输像 cp 一样简单

    3 replies    2023-09-26 09:10:29 +08:00
    molezznet
        1
    molezznet  
       Sep 25, 2023
    至少一端 NAT1 或 2 容易打洞些. 看下来京东云,netgear ,华硕,openwrt ,和爱快有 NAT1 选项
    Contextualist
        2
    Contextualist  
    OP
       Sep 25, 2023
    @molezznet 如果有可以自己配置的 NAT 确实是最好的情况。acp 的打洞也有 UPnP 等端口映射方法的支持,让路由器的 NAT 能配合打开端口。不过现实的情况是有时会有两层或以上的 NAT ,而且多是像电信运营商那种用户无法配置的 NAT ,就比较麻烦了
    molezznet
        3
    molezznet  
       Sep 26, 2023
    @Contextualist 是的,公司是电信 Symmetric NAT4 , 没有权限, 测试下来只要家里移动至少有个 NAT2 就可以通,从 tailscale 的 hkg 中转 70ms 一下到 8-10ms
    About     Help     Advertise     Blog     API     FAQ     Solana     5365 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 07:01 PVG 15:01 LAX 00:01 JFK 03:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86