告别FTP/SSH,拥抱Croc !安全性极强的点对点数据传输利器,


 

两台电脑之间该如何传送档案,其实方法有超多种的,像是 FTP 或透过 SSH 方式来传送档案,但是这些方法步骤都有点复杂,FTP 需要搭建 FTP 服务,SSH 要学习 SCP 指令,那有没有更好的方式从单一电脑点对点传送档案到另一台呢?

传送过程需要快速又要安全,本文将介绍一套用 Go 语言写的工具叫 Croc,详细的介绍可以参考看看作者的 Blog 介绍,此工具有以下功能及优势。

工具特点及优势

  •  用 Relay 方式让任意两台电脑传送档案
  •  点对点加密 (使用 PAKE)
  •  跨平台传送文件 (Windows, Linux, Mac)
  •  一次可以传送多个文件或整个目录
  •  支持断点续传
  •  不需要自行搭建服务器或使用 port-forwarding 相关技术
  •  优先使用IPv6,而 IPv4 当作备用
  •  可以使用 Socks5 proxy

Croc 项目地址:https://github.com/schollz/croc

使用方式

使用方式如同底下这张图所表示

传送端只需要执行 croc send file.txt 即可

  1. $ croc send ~/Downloads/data.csv  
  2. Sending 'data.csv' (632.9 kB)  
  3. Code is: cabinet-rodeo-mayday  
  4. On the other computer run 
  5. croc cabinet-rodeo-mayday 

上面可以看到会自动产生一个 secret code,接着在另外一台电脑执行底下指令

  1. $ croc cabinet-rodeo-mayday  
  2. Accept 'data.csv' (632.9 kB)? (y/n) y  
  3. Receiving (<-111.243.108.9:51032) 

当然你也可以自订 secret code

  1. croc send --code appleboy ~/Downloads/data.csv 

由于此工具是通过 relay server 方式来进行传送,所以指令会预设连到官方所搭建的服务器

  1. // DEFAULT_RELAY is the default relay used (can be set using --relay)  
  2. var (  
  3.     DEFAULT_RELAY      = "croc.schollz.com"  
  4.     DEFAULT_RELAY6     = "croc6.schollz.com"  
  5.     DEFAULT_PORT       = "9009"  
  6.     DEFAULT_PASSPHRASE = "pass123"  

假设你想要自己部署一个 Relay Server 呢?很简单,该工具也让使用者可以很快架设一台自己的 Relay Server,只需要执行下面的命令:

  1. $ croc relay  
  2. [info]  2021/02/16 11:38:59 starting croc relay version v8.6.7-05640cd  
  3. [info]  2021/02/16 11:38:59 starting TCP server on 9010  
  4. [info]  2021/02/16 11:38:59 starting TCP server on 9012  
  5. [info]  2021/02/16 11:38:59 starting TCP server on 9009  
  6. [info]  2021/02/16 11:38:59 starting TCP server on 9013  
  7. [info]  2021/02/16 11:38:59 starting TCP server on 9011 

可以指定单一 Port:

  1. $ croc relay --ports 3001  
  2. [info]  2021/02/16 11:39:22 starting croc relay version v8.6.7-05640cd  
  3. [info]  2021/02/16 11:39:22 starting TCP server on 3001 

接着在传送档案时也要跟着换掉 Relay Server

  1. $ croc --relay 127.0.0.1:3001 send ~/Downloads/data.csv  
  2. Sending 'data.csv' (632.9 kB)  
  3. Code is: saddle-origin-horizon  
  4. On the other computer run  
  5. croc --relay 127.0.0.1:3001 saddle-origin-horizon 

可以看到只需要加上 --relay 127.0.0.1:3001 就可以完成了,所以部署 Relay Server 是很简单的,即使官方服务挂了,你也可以在任意一台电脑装上 Relay Server 了。

心得

Croc 工具强调的就是: 简单 + 安全 + 快速,三大优势,让大家可以更容易点对点传送文件,加上 CLI 工具在任何平台都可以下载 (Windows,Mac, 及 Linux),只需要一个指令就可以装好此工具,跟其他用户快速进行文件传输。

相关内容