janbar

前言

虽然现在文件上传下载工具多如牛毛,比如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 -s 127.0.0.1:8080 -p C:\dir -e password

url: http://127.0.0.1:8080

server:
    UpDownFile -s 127.0.0.1:8080 -p C:\dir -t 30s -e password
registry:
    UpDownFile -s 127.0.0.1:8080 -reg
cli get:
    UpDownFile cli -c -e password http://127.0.0.1:8080/tmp.txt
cli post:
    UpDownFile cli -c -e password -d @C:\tmp.txt http://127.0.0.1:8080/tmp.txt

Get File:
    wget -c --content-disposition http://127.0.0.1:8080/tmp.txt
    curl -C - -OJ http://127.0.0.1:8080/tmp.txt

Post File:
    wget -qO - --post-file=C:\tmp.txt http://127.0.0.1:8080/tmp.txt
    curl --data-binary @C:\tmp.txt http://127.0.0.1:8080/tmp.txt
    curl -F "file=@C:\tmp.txt" http://127.0.0.1:8080/

Get Offset:
    curl -H "Content-Type:application/janbar" http://127.0.0.1:8080/tmp.txt
    wget -qO - --header "Content-Type:application/janbar" http://127.0.0.1:8080/tmp.txt

Put File:
    curl -C - -T C:\tmp.txt http://127.0.0.1:8080/tmp.txt

分类:

技术点:

相关文章: