croc-文件传输工具

前言

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下载二进制文件即可运行。

私有化relay

默认情况下使用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
posted @ 2023-05-06 10:15  花酒锄作田  阅读(181)  评论(0编辑  收藏  举报