文件传输利器Croc
概述
一般而言,Linux系统是没有用户界面的,所有操作都是在命令行里。
然后在安装搭建集群,如分布式的Hadoop集群时,经常需要在多个Server之间传输文件。两个server之间的文件传输,一般会想到FTP或SSH两种方式。使用FTP需要搭建FTP服务。使用SSH需学习SCP指令。
这里介绍一款传送过程既快速又安全,用Go语言写的工具Croc,GitHub。
其优势如下:
- 用Relay方式让任意两台电脑传送档案
- 点对点加密(使用 PAKE)
- 支持跨系统平台传送文件
- 一次可以传送多个文件或整个目录
- 支持断点续传
- 不需要自行搭建服务器或使用 port-forwarding 相关技术
- 优先使用IPv6,而IPv4 当作备用
- 可使用 Socks5 proxy
使用
在一个传送端Server执行croc send file.txt
命令行:
$ croc send ~/Downloads/data.csv
Sending 'data.csv' (6.9 kB)
Code is: cabinet-rodeo-mayday
On the other computer run
croc cabinet-rodeo-mayday
自动产生一个 secret code,在另一台Server执行命令行:
$ croc cabinet-rodeo-mayday
Accept 'data.csv' (6.9 kB)? (y/n) y
支持自定义secret code:croc send --code appleboy ~/Downloads/data.csv
Relay Server
由于此工具是通过 relay server 方式来进行传送,所以指令会预设连到官方所搭建的服务器
// 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"
)
部署一个Relay Server?执行命令:croc relay
,会在当前主机多个端口启动TCP server。可指定单一Port:croc relay --ports 3001
,在传送文件时也要换掉Relay Server:
$ croc --relay 127.0.0.1:3001 send ~/Downloads/data.csv
Sending 'data.csv' (6.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
即可。
问题
securing channel. room not ready
从Linux服务器传输文件到Windows:
然后在Windows执行命令,报错:
怀疑是被公司的文件传输安全校验拦截住。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix