互联网文件传输命令

互联网文件传输命令

我正在进行研究,需要通过互联网在家里和办公室之间传输文件。使用 AnyDesk 等软件可以轻松完成此操作。由于我想通过 Linux 中的 bash 文件进行文件传输,因此我正在寻找诸如“scp”之类的命令或至少一个提供便利的简单软件,我可以通过 bash 脚本来完成此操作。

据我所知,如果您没有公共 IP 地址,则无法通过 scp 命令执行此操作。任何帮助都非常感谢。

答案1

一个非常简单的工具,可以无缝处理“不知道 IP”的情况(使用临时密码进行传输身份验证)并且对传输进行 gzip 压缩门户网站

笔记:这是我写的!)

如何使用它

爱丽丝想要发送<folder1><file.txt>鲍勃,可位于同一 NAT 后面进行直接传输,也可位于互联网上的任何位置进行中继传输。如果可能,Portal 将使用直接传输。

Alice 在她的 shell 中执行以下操作来初始化文件传输:

portal send <folder1> <file.txt>

这将输出一个临时密码,Alice 通过其他安全通道将该密码传达给 Bob。

# the output of the send command, use this password to receive the files 
> 1-supernova-gamma-ray

Bob 执行以下命令来接收folder1file.txt

portal receive 1-supernova-gamma-ray

文件传输现在将开始!

优点

  • e2e 加密
  • 快速 gzip 压缩(解)
  • 简单的协议有助于传输速度
  • 处理任何类型和深度的文件夹
  • 如果端口开放或位于同一 NAT 后面,则可进行直接通信

缺点

  • 不进行 NAT 穿越,因此如果无法建立直接通信,则传输将通过中继
  • 它是一个新工具,因此尚未在不同系统中尝试过,并且可能存在奇怪的错误

答案2

有很多种方法可以实现这一点。

我会使用 rsync 来做到这一点。

rsync -a localhost:source targethost:destination

以下是对 rsync 的一些描述。 https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/

相关内容