提供单行命令通过网络安全*传输文件。
该程序通过命令提示符或 shell 进行操作;没有图形界面
当您只需要在网络上或通过 Internet 的两台计算机之间发送一两个文件,但不想通过第三方服务发送数据,并且懒得设置完整的 FTP 时或 HTTP 服务器,或安装某种远程桌面软件。
发送者或接收者都可以连接或托管连接,具体取决于谁对防火墙有更多的了解和访问权限。如果双方都需要向对方发送文件,则需要两个单独的会话。
文件将相对于接收者的当前工作目录保存,并使用父目录标记..
明确禁止。不要从C:Windows
或/usr/bin
等系统文件夹运行此程序,除非您试图覆盖关键系统文件并且非常信任。
xfer -l
xfer -l -s -f file1.txt file2.jpg file3.docx...
xfer -c my.host.com
xfer -c 1.2.3.4 -s -f file1 file2 file3...
find . 2> /dev/null | xfer -l -s
find
。提示:使用 -v 选项(详细)查看更多详细信息。
调用不带选项的程序将产生一些使用帮助文本。
尽管有很多相似之处,但该程序不使用官方 TLS 标准或检查任何证书。它使用OpenSSL来加密数据,就像许多主流安全程序一样,但不符合严格的传输协议标准。各方之间没有身份证明。它仅保证所发送的任何内容均被准确接收,并且在传输过程中任何第三方都无法查看。加密密钥是为每个会话生成的新密钥,并且不会存储在文件系统上的任何位置。其想法是在现场环境中与另一方进行通信,并通过电话或短信/聊天验证连接。它在关闭端口之前只接受一个连接,因此您可以通过确认或 IP 地址知道该人是否是正确的人。
注意:Windows 版本上的 OpenSSL 库是静态链接的,以避免依赖额外的 DLL。这允许分发单个 .exe 文件,而不需要与其打包的其他文件。这贡献了程序的大部分大小。
该程序不使用 UPnP 或任何类型的路由器/防火墙魔法。 (还没有?)如果双方都位于无法配置的防火墙后面,则可能需要其他解决方案。
除非您在命令行上明确列出主机中的任何文件,否则这些文件将不可用。发送者决定将发送哪些文件。接收者无法请求某个文件。
传输模式始终是二进制的。不存在换行符转换。标头使用单个 LF ('n')。
转到版本页面并下载最新的 xfer.exe。将其放置在 PATH 中的文件夹中,或将该文件夹添加到 PATH 中。
目前不提供二进制发行版。请从源代码编译。 (见下文)
cmake
软件包以及gcc
或gcc-c++
。 git clone --recursive --depth 1 https://github.com/DFPercush/xfer`
cd xfer
cmake -B /output/dir -S .
cmake --build /output/dir --config Release
您将需要 CMake 来编译该项目。为了构建 OpenSSL,您还需要安装 Netwide Assembler (NASM) 和 Strawberry Perl。命令cmake
、 perl
和nasm
应该位于您的 PATH 中。
git clone --recursive --depth 1 https://github.com/DFPercush/xfer
cmake-gui
。将源文件夹设置为您刚刚克隆的 xfer 文件夹。Configure
,然后Generate
。选择您已安装的 Visual Studio 版本。xfer.sln
。F7
或构建解决方案。我建议使用 Release / x64 模式以获得更好的性能。sudo cp ./bin/xfer /usr/bin
您可以将xfer.exe
复制到已知路径(例如 Windowssystem32),或使用以下步骤修改%PATH%
环境变量:
单击 Windows/开始按钮并开始输入“高级系统设置” - 打开它
点击底部“环境变量”按钮
选择变量“Path”并单击“编辑”按钮。
单击“新建”并输入xfer.exe所在文件夹的完整路径。
这可以从文件资源管理器中的地址栏复制并粘贴
现在您可以在命令提示符下使用命令“xfer”。
如果您在 Windows 二进制文件上遇到缺少 DLL 错误,请安装最新的 Visual C++ 可再发行组件