前言
雖然現在文件上傳下載工具多如牛毛,比如
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/"
