dForce中文网
你的位置:Gomining 中文站 > 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 从业者,都有相当高的价值,值得推荐。