Terminal

尋找終端下載管理器

  • November 30, 2017

我正在尋找在 CLI(終端)中執行的下載管理器。

工具應解決以下目的。

  1. 將 YouTube URL 列表作為輸入/從文件中獲取 URL 列表。
  2. 網路連接中斷時應暫停並恢復下載。
  3. 應該在終端中執行。我在無頭媒體伺服器上執行它。

我現在使用youtube-dlnodejs 腳本。但該腳本缺少連接監控和下載完整性檢查、下載恢復功能。

我嘗試了極限下載管理器,它不會無頭執行。

任何實現相同目標的投入都值得讚賞。

兩個 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以確保文件“觸摸”(如果我想按下載時間而不是影片更新時間列出文件排序,這很有用)。

引用自:https://unix.stackexchange.com/questions/407988