Terminal
尋找終端下載管理器
我正在尋找在 CLI(終端)中執行的下載管理器。
工具應解決以下目的。
- 將 YouTube URL 列表作為輸入/從文件中獲取 URL 列表。
- 網路連接中斷時應暫停並恢復下載。
- 應該在終端中執行。我在無頭媒體伺服器上執行它。
我現在使用
youtube-dl
nodejs 腳本。但該腳本缺少連接監控和下載完整性檢查、下載恢復功能。我嘗試了極限下載管理器,它不會無頭執行。
任何實現相同目標的投入都值得讚賞。
兩個
while
循環bash
就足夠了:while ! youtube-dl --batch-file /tmp/yt -i -c --socket-timeout 5; do while ! ping -c 1 -W 1 google.com; do echo "Network interface may down, please check your network"; sleep 10; done; echo "Network up but got url failed before, re-loop file after 5 seconds."; sleep 5; done
解釋:
youtube-dl
是可通過普通包管理器安裝的 python 包,例如apt
./tmp/yt
文件逐行包含 url 列表。-i
表示如果遇到 url 無效錯誤,則繼續在文件中選擇下一個 url(但不是套接字錯誤,這將進入ping
“失敗並等待網路啟動”循環)-c
表示強制恢復部分下載的文件。文件名應該具有一致的格式,以便恢復工作(即您下次不能更改youtube-dl
格式並期望恢復工作)。我個人使用-o './%(title)s-%(upload_date)s-%(id)s.%(ext)s'
格式- 我個人還添加
--no-mtime
以確保文件“觸摸”(如果我想按下載時間而不是影片更新時間列出文件排序,這很有用)。