CLI 工具•2025年1月1日
updownserver
一行指令啟動的輕量級 HTTP 檔案傳輸工具。整合上傳、下載、資料夾管理於單一介面,支援 QR Code、HTTPS、Docker,已上架 PyPI。
维护中PythonCLIHTTP ServerPyPIDocker零依賴
為什麼做這個?
很久以前在公司分享過一個技巧:只要有 Python,一行指令就能在電腦上起一個 HTTP server 傳檔案,不需要安裝任何東西。後來有類似需求時,發現社群上有個 uploadserver 套件,在原本的 http.server 基礎上加了上傳功能。
不過它的介面偏陽春——上傳和下載是分開的、沒有資料夾管理、沒有行動裝置支援。既然需求在這裡,就基於它再做多一點。
功能
- 統一介面:上傳區、檔案列表、下載、刪除,全部在同一頁
- QR Code:啟動時印出 QR Code,手機掃一下就連上,局域網傳檔超方便
- 安全機制:預設 5 分鐘自動關機(避免忘記關);未認證連線限制管理操作
- Basic Auth:支援下載認證、上傳認證各自獨立設定
- HTTPS + mTLS:需要加密時可以帶憑證啟動
- Docker 支援:一行
docker run分享當前目錄 - 零依賴核心:全用 Python 標準函式庫,QR Code 為可選依賴
使用方式
pip install updownserver[qr]
python3 -m updownserver --qr
啟動後用手機掃 QR Code,直接拖曳上傳或點擊下載。
心得
這個工具的核心價值是「零門檻」——對方不需要安裝任何東西,你這端也只需要一行指令。傳完檔案、時間到自動關閉,乾淨俐落。
上架 PyPI 是第一次,過程比想像中簡單。更有趣的是看到下載數字慢慢增加——代表有人在用。雖然不是什麼大型開源專案,但解決了一個真實的小問題,有人願意下載使用,這樣就夠了。