再见 FTP/SFTP!是时候拥抱下一代文件传输利器了!
阅读原文时间:2023年07月09日阅读:2

关注「开源Linux」,选择“设为星标”

回复「学习」,有我为您特别筛选的学习资料~

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

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

  • 用 Relay 方式让任意两台电脑传送档案

  • 点对点加密 (使用 PAKE)

  • 跨平台传送文件 (Windows, Linux, Mac)

  • 一次可以传送多个文件或整个目录

  • 支持断点续传

  • 不需要自行搭建服务器或使用 port-forwarding 相关技术

  • 优先使用IPv6,而 IPv4 当作备用

  • 可以使用 Socks5 proxy

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

下载适用于您系统的最新版本,用命令行安装最新版本:

$ curl https://getcroc.schollz.com | bash

在macOS上,您可以使用Homebrew安装最新版本:

$ brew install croc

一个发送端,一个接收端,如下图所示:

发送端 接收端

传送端只需要执行 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

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

$ croc cabinet-rodeo-mayday
Accept 'data.csv' (632.9 kB)? (y/n) y

Receiving&nbsp;(<-111.243.108.9:51032)

当然你也可以自订 secret code

croc&nbsp;send&nbsp;--code&nbsp;appleboy&nbsp;~/Downloads/data.csv

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

//&nbsp;DEFAULT_RELAY&nbsp;is&nbsp;the&nbsp;default&nbsp;relay&nbsp;used&nbsp;(can&nbsp;be&nbsp;set&nbsp;using&nbsp;--relay)
var&nbsp;(
&nbsp;&nbsp;&nbsp;&nbsp;DEFAULT_RELAY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;"croc.schollz.com"
&nbsp;&nbsp;&nbsp;&nbsp;DEFAULT_RELAY6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;"croc6.schollz.com"
&nbsp;&nbsp;&nbsp;&nbsp;DEFAULT_PORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;"9009"
&nbsp;&nbsp;&nbsp;&nbsp;DEFAULT_PASSPHRASE&nbsp;=&nbsp;"pass123"
)

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

$&nbsp;croc&nbsp;relay
[info]&nbsp;&nbsp;2021/02/16&nbsp;11:38:59&nbsp;starting&nbsp;croc&nbsp;relay&nbsp;version&nbsp;v8.6.7-05640cd
[info]&nbsp;&nbsp;2021/02/16&nbsp;11:38:59&nbsp;starting&nbsp;TCP&nbsp;server&nbsp;on&nbsp;9010
[info]&nbsp;&nbsp;2021/02/16&nbsp;11:38:59&nbsp;starting&nbsp;TCP&nbsp;server&nbsp;on&nbsp;9012
[info]&nbsp;&nbsp;2021/02/16&nbsp;11:38:59&nbsp;starting&nbsp;TCP&nbsp;server&nbsp;on&nbsp;9009
[info]&nbsp;&nbsp;2021/02/16&nbsp;11:38:59&nbsp;starting&nbsp;TCP&nbsp;server&nbsp;on&nbsp;9013
[info]&nbsp;&nbsp;2021/02/16&nbsp;11:38:59&nbsp;starting&nbsp;TCP&nbsp;server&nbsp;on&nbsp;9011

可以指定单一 Port:

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

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

$&nbsp;croc&nbsp;--relay&nbsp;127.0.0.1:3001&nbsp;send&nbsp;~/Downloads/data.csv
Sending&nbsp;'data.csv'&nbsp;(632.9&nbsp;kB)
Code&nbsp;is:&nbsp;saddle-origin-horizon
On&nbsp;the&nbsp;other&nbsp;computer&nbsp;run

croc&nbsp;--relay&nbsp;127.0.0.1:3001&nbsp;saddle-origin-horizon

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

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

_原文:https://blog.wu-boy.com/2021/02/share-files-between-two-computer-using-croc-tool/_

关注「开源Linux」加星标,提升IT技能

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章