前言
虽然现在文件上传下载工具多如牛毛,比如
http、ftp、sftp、scp
等方案都可以用于文件传输,但都是需要安装服务器甚至客户端。
有一种场景是我只需要临时上传或下载一个文件,完了就不用服务器运行了,如果使用那些文件传输工具,不光安装麻烦,开启关闭也恼火额。
因此才想搞小工具,不过Python爱好者可以用python -m http.server 8080 --bind 192.168.1.100
开启文件服务器,对我来说还是麻烦。
已经上传到【Github】,随意鉴赏。
源码鉴赏
可以使用url访问,会显示一个建议web页面,可以在这个web页面上传下载文件,以及进行文件的排序。
也可以使用wget或curl命令行工具上传下载文件,多种选择,总有一个是你想要的方式。
增加秘钥选项,使用后上传下载传输的数据全都加密,且秘钥每次都随机,有crc和时间戳校验,安全性极高。
使用加密选项时,无法通过web展示目录页面(前端加密代码不想写),可通过本程序命令行实现加密上传下载。
本工具作为客户端时可以实现断点上传或断点下载。提示里面有服务器和客户端命令行,可以参考。
成功执行后会显示帮助命令,可以复制改改就能用,非常方便。2021-01-23
号更新了一下,可以执行.\UpDownFile.exe -reg -s 127.0.0.1:8080
在同级目录下产生addRightClickRegistry.reg
的注册表文件。
通过双击注册表文件可以将本程序加入右键菜单,从此需要对某个目录创建临时文件服务,只需要在对应目录右键点一下下。Linux命令行可比window好办多了。
并且增加了上传下载文件完成后展示文件的md5值,这样可以确保传输的文件是否有损坏。
食用方法
执行
UpDownFile -h
可以查看帮助文档,执行UpDownFile cli -h
可以查看客户端帮助文档。
不使用加密方式,可以通过web页面查看服务器的目录,可以对目录排序,点击文件可以下载,点击目录可进入。
工具虽小,但确实解决了我个人的临时上传下载文件需求,再也不用到处安装各种服务器咯,爽爽哒。
UpDownFile.exe -s 127.0.0.1:8080 -p C:\dir -e password
dir [C:\dir],url [http://127.0.0.1:8080/]
server:
UpDownFile.exe -s 127.0.0.1:8080 -p C:\dir -e password
cli get:
UpDownFile.exe cli -u "http://127.0.0.1:8080/dir/tmp.txt" -c -e password
cli post:
UpDownFile.exe cli -d @C:\tmp.txt -u "http://127.0.0.1:8080/dir/tmp.txt" -c -e password
GET file:
wget -c --content-disposition "http://127.0.0.1:8080/dir/tmp.txt"
curl -C - -OJ "http://127.0.0.1:8080/dir/tmp.txt"
POST file:
wget -qO - --post-file=C:\tmp.txt "http://127.0.0.1:8080/dir/tmp.txt"
curl --data-binary @C:\tmp.txt "http://127.0.0.1:8080/dir/tmp.txt"
curl -F "file=@C:\tmp.txt" "http://127.0.0.1:8080/dir/"