我對linux/unix下的多線程下載下傳工具都不太滿意。目前已有的,有兩個比較有名氣,一個是aget,一個是multiget。aget目前的開發狀态還處于初期,功能特色和穩定性都非常差;multiget相對而言成熟多了,但它是GUI的程式,不好在腳本中調用。是以我打算開發一個全新的程式,名字暫時叫做fget;這裡的f意思是fast, fancy等等。我已經在sourceforge注冊了這個項目,其位址是: http://sourceforge.net/projects/fget/
Fget is a cross-platform command-line multi-threaded HTTP/HTTPS/FTP file downloader which is very close to multiget. It features downloading single but very large files in multiple threads at highest possible speed with minimal system resources.
這個程式的重點是多線程。至于對各種協定的支援,例如https, ftp等,采用子產品化的方式編譯,因而設計時具有較好的可擴充性。目前計劃的功能有:
- 分級别的日志
- 如果發現目标,則繼續上一次下載下傳
- 可選的彩色進度條
- 跨系統(尤其是相容linux和windows)的信号處理
- 穩定的多線程(這其實是由C語言的庫決定的)
- 選擇不同的認證方式
- 适應各種不同的終端(目前考慮的是windows的cmd.exe,linux的xterm,emacs的dummy term)
項目的開發才剛剛開始。期待大家的關注。