发送文件最简单的方法是什么:
- 在 Ubuntu 机器上,
- 对于本地网络之外的另一个 Ubuntu 用户(如果也对其他人更好),
- 通过加密文件传输,
- 仅使用免费和开源软件,
- 最好不要依赖第三方,比如必须上传文件的云应用,
- 最好不要泄露您的 IP 地址,并且不要以任何方式使您的机器更容易受到文件接收者的攻击。
如何快速设置?
答案1
您的要求 #5(无第三方/云存储)和 #6(无 IP/主机名披露)相互冲突:要将文件传输到远程计算机,您要么直接连接,要么不连接。如果您这样做,远程端将拥有您的 IP 地址(仅因为 TCP/IP 的工作方式);如果您不这样做,那么根据假设,您正在依靠第三方进行传输,并且他们必须存储您的数据。
话虽如此,但对您的请求还是有一些近似的。
F*EX:使用基于网络的第三方转账
F*EX(Frams 的快速文件交换)是一种服务,可用于让互联网上任何地方的用户快速、方便地交换非常大的文件。
发送者将文件上传到 F*EX 服务器,收件人会自动收到一封带有下载 URL 的通知电子邮件。
F*EX的主要特点:
- 文件传输几乎不受文件大小限制
- 发件人和收件人只需要一个电子邮件程序和一个网络浏览器(任何类型均可;无需安装任何软件) [...]
- 免维护:除创建新的 F*EX 账户外,无需任何管理
- 多个收件人只需要一份存储副本
- F*EX 使用 HTTP,不需要防火墙隧道
- 为命令行用户提供的 shell 客户端:
fexsend
和fexget
. (fex 实用程序包裹)
据我所知,F*EX 本身不进行加密,但您可以使用 GPG 加密要发送的文件。
F*EX 服务器完全开源,因此您只需在您信任的服务器上安装并运行它。
这FEX主页详细解释了 FEX 与其他文件传输服务和协议进行比较。
sendfile
:跨 UNIX 计算机的异步文件传输
这发送文件命令已经存在大约 10 年了:你在发送端和接收端安装它和附带的守护程序,然后传输就像输入一样简单:
sendfile a.file user@otherhost
此外,sendfile
可以使用 GPG 自动加密文件(查找-pe
和-ps
选项)。
然而,由于这建立了直接联系:
- 接收计算机必须在某个时刻启动并运行,
- 它必须能够接受
sendfile
端口上的连接,这意味着它应该可以通过公共 IP 访问 - 它可以记录发件人的 IP 地址
发送文件 是由 F*EX 的同一作者编写的(见上文),他们解释了为什么选择在sendfile 主页
自己动手:使用nc
仅使用 网猫。
在接收在另一侧,你运行:
nc -l 9999 > myfile
此后,发送在另一侧,你运行:
nc otherhost 9999 < myfile
与往常一样,您应该在发送之前使用 GPG 加密文件(或者,如果您熟悉 shell,也可以使用管道即时加密)。您可以9999
用任何其他有效端口号替换 (例如,一次进行多次传输)。
缺点:
- 协调:您必须按照正确的顺序在两端发出两个命令,因此发送者和接收者必须同时在线,并且他们必须通过聊天或电话线等方式进行协调。
- 它必须能够接受 9999 端口上的连接,这意味着它应该可以通过公共 IP 访问
- 接收端可以记录你的 IP 地址