https://github.com/schollz/croc
croc是golang开发的一款跨平台传输工具,基于命令行。
几MB的大小,足可以需要的时候下载使用。也可以脚本安装:curl https://getcroc.schollz.com | bash
发送端:croc send 文件名 它会自动给出一个安全编码
接收端:croc 安全编码 确认后即开始接收
你也可以自己定义安全码: croc send —code 123123 文件名
你可以自动接受,无需确认: croc —yes 安全码
它其实也可以自制中转服务器:
docker run -d -p 9009-9013:9009-9013 -e CROC_PASS='YOURPASSWORD' schollz/croc
就可以通过自己的中继转发
croc --pass YOURPASSWORD --relay "myreal.example.com:9009" send [filename]
不知道它的docker里,究竟是什么东西,有时间再研究。
还可以传送文本,这里依然使用了指定安全码,并自动接收:
发送:croc send --code 123123 --text "这是什么what"
接收:croc --yes --overwrite 123123
你利用它来简单的聊个天,也不是不可以。
于是我想到了一个应用:客户端发送文件,服务端自动接受。
服务端脚本:
#!/bin/bash
while true; do
croc --yes 123123
sleep 10s
done
脚本循环自动接收安全码为123123的传输文件
客服端只需要知道服务端设置的这个安全码,即可自由上传到服务端上。
croc send --code 123123 文件名
进一步,如果服务器只负责初始安全码,可以由客户端来修改,或许会更好一些。
分析发现:croc会自动发现内网,内网中的文件发送,不需要通过中继进行。