• 首页
  • dForce中文网
  • 领取MOLI红包

    dForce中文网

    免认证/匿名远程传输文件(Wormhole 的使用方法)

    发布日期:2025-01-04 18:09    点击次数:197
    前言 文件传输是一个很基础且被广泛应用的需求,传统工具都不太适合给陌生人或匿名传输文件,因为它们都要求身份认证。向服务器传输文件,我们需要 SSH 登录信息。向普通用户传输文件,我们得是对方的 IM 好友,而且通常有大小限制。 如果有一种文件传输模式,像某些远程桌面软件那样输入口令便建立传输通道,那就太方便了。本文介绍的 Wormhole 就是这样一个工具。它可以免除身份认证,甚至匿名的发送和接收文件。 本文将告诉你如何使用 Wormhole,以及它的基本概念。这是一篇新手向教程。内容十分简单! 效果 我想有必要展示一下效果,让读者提前知道其便捷程度。在我的电脑上,使用命令发送一个文件: Wormhole 最后输出了一条接收命令,我复制它并发给他人让其执行: 这里我们使用 wormhole send ./鸽鸽跳舞.mp4 命令发送了一段 cxk 跳舞的视频,对面是一位 ikun,他兴奋的使用 wormhole receive 6-ultimate-snowslide 命令接收到了。 这个过程中不存在身份认证,即没有登录(如 IM 软件)或密钥交互(如 SSH)。 首先是 wormhole send 命令生成了一个值为 6-ultimate-snowslide 的传输码(或者叫口令)。然后 wormhole receive 命令使用这个口令接收到发送者的文件。这便是传输的基本逻辑。 我们不用在意接收方,甚至不用在意发送方。假设你的服务器太多,用这种方式传输文件十分方便。或者你给陌生人传输文件,丢个码即可。 你也许不喜欢命令行,没关系,后文会介绍一种兼容 Wormhole 的图形客户端软件。 优势 除了建立传输关系更加便捷,Wormhole 还是即时传输的模式。也就是发送者发了多少,接收者就收到多少。不像 IM 或网盘,需要先保存到他们的服务器,然后对方再去下载。 当然,这种模式并不是万能药。它确实显得更即时了,但也加大了风险(因为同时考验发送/接收双方的网络稳定性)。所以传输特别大的文件的话,还是网盘更可靠一些。 安装 如果你使用的是 Linux 操作系统,参考此处的列表。存在的发行版,直接用包管理安装即可。如果你的发行版软件源没有这个软件包,或者你嫌弃它(的版本)太老了。也可以使用 snap 安装: Snap 是一个容器环境,可以让不同的发行版共用同一个仓库中的软件而不会出现兼容问题。如果你不喜欢 Snap 那通常只能选择本地安装了。 这里还有一些整理好的其它类型客户端的下载地址: 使用 如同效果中的例子,发送就是 send 子命令,接收就是 receive 子命令。接收命令执行后,会提醒你确认是否是要接收的文件,如果是直接回车就开始传输了。 批量发送 如果你指定的发送路径的是一个文件夹,那么 Wormhole 会将整个文件夹打包发送。当然接收方不用在意解压,因为 Wormhole 会自动做这一步。 无公网 在 Wormhole 的架构中,传输码是由 Wormhole 的中心服务器生成和维护的。所以发送/接收双方才可以在不知晓彼此的情况下建立连接。 也就是说发送者和接受者并不能在无公网的环境下使用,但如果你自行部署服务端则可以(具体原因参考下文的解释原理)。 原理 Wormhole 需要两个不同角色的服务器:一个用于传输码管理以及客户端之间的通信/协商,被称作邮箱服务器。一个负责中继传输客户端之间的流量,被称作中继服务器。 无论客户端之间否能直连,都需要跟邮箱服务器通信。经过邮箱服务器协商以后,如果客户端之间可以直连,便会直连传输文件。如果不能直连,就会使用中继服务器传输。其关系图如下: flowchart TB; S(发送者)-. 协商 M((邮箱服务器)) -. 协商 R(接收者) S-- 直连发送 -->R S-- 传输 -->T((中继服务器)) -- 转发 -->R Wormhole 顾名思义就是「虫洞」,无论双方能否直连,它都将尝试建立一个直接路径或间接的隧道用于传输。并且即使通过中继服务器,传输也是免费的。 一般在服务器之间或具有 IPv6 网络的设备之间,或内网设备之间,都会优先直连传输。 GUI 客户端 Warp 是 PC 上最值得推荐的 GUI 客户端,它由 Gnome 团队开发,但不依赖 Gnome 桌面。从安装章节访问下载地址,若是 Linux 也可以从发行版自己的软件源中检索,Windows 则从 GitLab 的发布页面找资源包下载。 它的界面简约美观: 匿名发送/接收 Wormhole 支持利用 Tor 网络匿名发送和或接收。在使用前要打开 Tor 浏览器,并连接上 Tor 网络。像这样: 接收时也可以利用 Tor 保护自己: 如果双方都使用 Tor 网络传输,那么发送方和接收方就不可能知道彼此是谁(即和哪个设备 IP 通信)。这在某些情况下是有意义的,但传输速度可能会很慢。 部署服务端 邮箱服务端 中继服务端 如果你想把 Wormhole 应用于公司内部,可以选择自己部署服务端。这样做可以提高安全性,甚至可以无节制的使用而不用担心占用公共资源。部署以后,需要修改 Wormhole 或 Warp 的配置中的两个地址,对应自己的部署的服务端访问地址。 结束语 这就是 Wormhole 的介绍了。我认为这个工具无论是普通网民还是 IT 从业者,都有相当高的价值,值得推荐。