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