再見 FTP/SFTP,是時(shí)候擁抱下一代文件傳輸利器 Croc 了!
兩臺(tái)電腦之間該如何傳送檔案,其實(shí)方法有超多種的,像是 FTP 或透過 SSH 方式來傳送檔案,但是這些方法步驟都有點(diǎn)復(fù)雜,F(xiàn)TP 需要搭建 FTP 服務(wù),SSH 要學(xué)習(xí) SCP 指令,那有沒有更好的方式從單一電腦點(diǎn)對(duì)點(diǎn)傳送檔案到另一臺(tái)呢?
傳送過程需要快速又要安全,本文將介紹一套用 Go 語言寫的工具叫 Croc,詳細(xì)的介紹可以參考看看作者的 Blog 介紹,此工具有以下功能及優(yōu)勢(shì)。
工具特點(diǎn)及優(yōu)勢(shì)
- 用 Relay 方式讓任意兩臺(tái)電腦傳送檔案
- 點(diǎn)對(duì)點(diǎn)加密 (使用 PAKE)
- 跨平臺(tái)傳送文件 (Windows, Linux, Mac)
- 一次可以傳送多個(gè)文件或整個(gè)目錄
- 支持?jǐn)帱c(diǎn)續(xù)傳
- 不需要自行搭建服務(wù)器或使用 port-forwarding 相關(guān)技術(shù)
- 優(yōu)先使用IPv6,而 IPv4 當(dāng)作備用
- 可以使用 Socks5 proxy
Croc 項(xiàng)目地址:https://github.com/schollz/croc
使用方式
使用方式如同底下這張圖所表示
傳送端只需要執(zhí)行 croc send file.txt 即可
- $ croc send ~/Downloads/data.csv
- Sending 'data.csv' (632.9 kB)
- Code is: cabinet-rodeo-mayday
- On the other computer run
- croc cabinet-rodeo-mayday
上面可以看到會(huì)自動(dòng)產(chǎn)生一個(gè) secret code,接著在另外一臺(tái)電腦執(zhí)行底下指令
- $ croc cabinet-rodeo-mayday
- Accept 'data.csv' (632.9 kB)? (y/n) y
- Receiving (<-111.243.108.9:51032)
當(dāng)然你也可以自訂 secret code
- croc send --code appleboy ~/Downloads/data.csv
由于此工具是通過 relay server 方式來進(jìn)行傳送,所以指令會(huì)預(yù)設(shè)連到官方所搭建的服務(wù)器
- // DEFAULT_RELAY is the default relay used (can be set using --relay)
- var (
- DEFAULT_RELAY = "croc.schollz.com"
- DEFAULT_RELAY6 = "croc6.schollz.com"
- DEFAULT_PORT = "9009"
- DEFAULT_PASSPHRASE = "pass123"
- )
假設(shè)你想要自己部署一個(gè) Relay Server 呢?很簡(jiǎn)單,該工具也讓使用者可以很快架設(shè)一臺(tái)自己的 Relay Server,只需要執(zhí)行下面的命令:
- $ croc relay
- [info] 2021/02/16 11:38:59 starting croc relay version v8.6.7-05640cd
- [info] 2021/02/16 11:38:59 starting TCP server on 9010
- [info] 2021/02/16 11:38:59 starting TCP server on 9012
- [info] 2021/02/16 11:38:59 starting TCP server on 9009
- [info] 2021/02/16 11:38:59 starting TCP server on 9013
- [info] 2021/02/16 11:38:59 starting TCP server on 9011
可以指定單一 Port:
- $ croc relay --ports 3001
- [info] 2021/02/16 11:39:22 starting croc relay version v8.6.7-05640cd
- [info] 2021/02/16 11:39:22 starting TCP server on 3001
接著在傳送檔案時(shí)也要跟著換掉 Relay Server
- $ croc --relay 127.0.0.1:3001 send ~/Downloads/data.csv
- Sending 'data.csv' (632.9 kB)
- Code is: saddle-origin-horizon
- On the other computer run
- croc --relay 127.0.0.1:3001 saddle-origin-horizon
可以看到只需要加上 --relay 127.0.0.1:3001 就可以完成了,所以部署 Relay Server 是很簡(jiǎn)單的,即使官方服務(wù)掛了,你也可以在任意一臺(tái)電腦裝上 Relay Server 了。
心得
Croc 工具強(qiáng)調(diào)的就是: 簡(jiǎn)單 + 安全 + 快速,三大優(yōu)勢(shì),讓大家可以更容易點(diǎn)對(duì)點(diǎn)傳送文件,加上 CLI 工具在任何平臺(tái)都可以下載 (Windows,Mac, 及 Linux),只需要一個(gè)指令就可以裝好此工具,跟其他用戶快速進(jìn)行文件傳輸。