croc-文件传输工具
阅读原文时间:2023年10月16日阅读:3

croc是一款用go语言开发的命令行文件传输工具,该工具允许两台计算机设备以一种简单和安全的方式来传输文件。

GitHub项目地址

IP

系统版本

croc版本

说明

192.168.0.10

CentOS 7

9.6.4

中继服务

192.168.0.11

CentOS 7

9.6.4

模拟发送端

192.168.0.12

CentOS 7

9.6.4

模拟接收端

从release下载二进制文件即可运行。

默认情况下使用croc自己的relay服务,可能会有网络问题,而且也不太安全。

./croc relay --host 0.0.0.0

如果不想公开自己的中继服务器,可以为中继服务设置密码,这里用脚本启动。

#!/bin/bash

set -u

export CROC_PASS='yL1dG6'

./croc relay --host 0.0.0.0

发送文件时如果不加--code,则会自动生成一段code,所以最好还是自己加上。

# 使用默认的中继服务器发送文件test.txt
./croc send --code 123456 test.txt
# 使用自建的中继服务器发送文件
./croc --relay 192.168.0.10:9009 send --code 123456 test.txt
# 使用自建中继器并指定中继服务器的密码
./croc --relay 192.168.0.10:9009 --pass 'yL1dG6' send --code 123456 test.txt

--yes表示免交互确认,--overwrite表示直接覆盖已有文件

# 使用默认的中继服务器接收文件, code需要对应上
./croc 123456
# 使用自建的中继服务器接收文件
./croc --relay 192.168.0.10:9009 123456
# 使用自建中继器并指定中继服务器的密码
./croc --relay 192.168.0.10:9009 --pass 'yL1dG6' --yes --overwrite 123456

如果服务器之间禁用了SCP,只需要临时拷贝一个文件,但是不想从github下载个二进制包再传到服务器,可以用python临时起一个http服务,另一端使用wget或curl接收。

# 假设需要传输服务端当前目录下的test.txt文件
# 服务端起http服务,python2的方式,监听12345端口
python -m SimpleHTTPServer 12345
# 如果较新的linux发行版默认没有python2,用python3也行
python3 -m http.server 12345

# 客户端使用wget请求文件
wget http://<server ip>:12345/test.txt
# 或者用curl
curl -O http://<server ip>:12345/test.txt