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 是第一次,過程比想像中簡單。更有趣的是看到下載數字慢慢增加——代表有人在用。雖然不是什麼大型開源專案,但解決了一個真實的小問題,有人願意下載使用,這樣就夠了。