提供單行命令透過網路安全*傳輸檔案。
程式透過命令提示字元或 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++ 可再發行元件