(原) croc应用:服务器文件上传

原创文章,请后转载,并注明出处。

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会自动发现内网,内网中的文件发送,不需要通过中继进行。