開源多平臺命令行的加密文件和文件夾傳輸小工具
croc是免費的開源命令行工具,用于在計算機之間安全地傳輸文件。它使用中繼輔助的對等事務和通過密碼驗證的密鑰交換進行端到端加密。該程序是用Go語言編寫的,可用于Microsoft Windows,macOS,Linux和*BSD。
croc旨在能夠在跨平臺計算機之間安全,快速,輕松地傳輸文件和文件夾。支持可恢復的對等傳輸。作為一項額外功能,croc還能夠直接安全地傳輸短文本或URL。
數據傳輸是通過使用原始TCP套接字或websocket的中繼來完成的。當發送方和接收方在同一LAN上時,croc使用本地中繼,否則使用公共中繼。因此,croc可以在同一LAN或Internet之間的計算機之間發送文件,而無需啟用端口轉發。
通過中繼的數據使用PAKE生成的會話密鑰進行加密。為此,croc使用代碼短語,這是三個隨機單詞的組合。默認情況下,一個密碼短語只能在兩方之間使用一次,因此攻擊者將有不到40億分之一的機會正確猜出該密碼短語來竊取數據。
croc特色:
- 允許任何兩臺計算機傳輸數據(使用中繼)
- 提供端到端加密(使用PAKE)
- 實現輕松的跨平臺文件和文件夾傳輸(Windows,Linux,Mac和* BSD)
- 允許多次文件傳輸
- 允許恢復被中斷的傳輸
- 不需要本地服務器或端口轉發
- IPv6優先與IPv4后備
- 可以使用代理
開發人員提到croc是唯一具有上述所有功能的命令行文件傳輸工具。
擔心這是一個命令行工具,并且經驗豐富的用戶很難在Microsoft Windows上使用它嗎?不是。Windows用戶只需下載Windows二進制文件,將其解壓縮,然后雙擊croc.exe可執行文件,就會彈出一個控制臺窗口,要求用戶輸入接收代碼。如下:
croc用法
使用croc發送文件或文件夾很簡單:
croc 發送的文件或文件夾
例如:
- linuxmi@linuxmi:~/www.linuxmi.com$ croc linuxmi.com.py
- Did you mean to send 'linuxmi.com.py'? (y/n) y
- Sending 'linuxmi.com.py' (893 B)
- Code is: 5255-airport-helium-radio
- On the other computer run
- croc 5255-airport-helium-radio
從此處的命令輸出中可以看到,發送文件時,croc以易于記憶的方式進行形式化顯示代碼。此處仍顯示了接收文件的說明-因此,要獲取文件,接收方需要運行croc命令,后跟文件/文件夾的代碼:
croc 代碼Code
例如:
- linuxmi@linuxmi:~/桌面/linuxmi.com$ croc
- Enter receive code: 5255-airport-helium-radio
- Accept 'linuxmi.com.py' (893 B)? (y/n) y
- Receiving (<-115.201.89.124:50456)
- 100% |████████████████████| (893/893 B, 1.731 kB/s)
接收者運行croc命令獲取文件后,發送者將看到一條消息,內容如下:
- Sending (->115.201.89.124:50458)
- 100% |████████████████████| (893/893 B, 992.614 kB/s)
文件傳輸完成后,croc已存在,因此不再可以再次下載文件。如果要在文件傳輸完成之前(甚至開始之前)取消文件傳輸,請按Ctrl + c。
您還可以使用croc使用以下命令在計算機之間安全地發送短文本或URL:
- croc send --text "www.linuxmi.com.txt"
有關更多信息,例如使用管道等,請參閱其GitHub存儲庫中的croc用法。
下載croc 見 https://github.com/schollz/croc/releases
有適用于Microsoft Windows,macOS,FreeBSD和Linux的croc二進制文件。
在Linux上,您只會找到DEB二進制文件(對于Debian / Ubuntu / Linux Mint / Pop!_OS 等),以及可以在任何Linux發行版中安裝的通用二進制文件,只需將其復制到PATH中的某個位置即可(例如/usr/local/bin)。
請參閱croc官方安裝說明以獲取安裝此命令行工具的完整方式列表(用于在任何Linux發行版上安裝該腳本的通用腳本,該工具在Arch Linux存儲庫中可用,可使用Homebrew,Chocolatey等安裝。)。