我有一個 torrent,裡面有我真正想要的文件,但它已經死了好幾個月了。現在幸運的是,我有所有文件的直接下載連結。問題是這個 torrent 有很多 GB 大小,並且在它消失之前已經完成了幾乎 75%。我不能浪費這麼多數據,因為我有下載限制,而且這裡的網路存取費用非常昂貴。
有什麼方法可以使用直接下載連結繼續下載所有 torrent 檔案嗎?我嘗試過頻分複用和下載器但據我所知,兩者都不支持這一點。
答案1
理論上這應該是可能的,但實際上似乎沒有簡單的方法可以實現它(至少我不知道)。
簡而言之,問題的出現是由於 torrent 用戶端同時下載各種文件件每個文件並將它們按照磁碟上正確的順序「縫合」在一起。因此,即使您可能擁有檔案的 75%,但這並不意味著它是從檔案開頭開始的連續 75% 資料區塊。缺少的部分(即到目前為止尚未下載的部分)是零字節,隨著每個部分的完成,客戶端會逐漸填入這些部分。
現在,只要滿足某些伺服器條件,使用直接 HTTP 連結的多執行緒下載管理器(例如您使用的免費下載管理器或 FDM)也可以恢復下載並同時下載檔案的多個部分。 HTTP/1.1 允許客戶端請求文件的一部分而不是整個文件。這允許客戶端恢復中斷的下載(或同時下載多個部分),而無需再次重新下載整個資源。網路伺服器發送內容長度和接受範圍回應標頭向客戶端表明他們允許使用以下內容的 GET 請求範圍用於下載資源片段的標頭。以下是流程的概述:
僅支援 HTTP/1.0(因此無法恢復下載)的古代伺服器現在已經很少了,HTTP/2 已於 2015 年 2 月 17 日成為提議標準。
所以現在您可能會問,如果下載管理器可以(同時)下載檔案的一部分並恢復下載,就像 torrent 用戶端一樣,為什麼前者不能也恢復中斷的 torrent 下載呢?正如我一開始所說,理論上可以,但會涉及到各種問題。 Torrent 用戶端使用 .torrent 檔案來存儲有關每個文件的信息,包括名稱和檔案大小。更重要的是,單件尺寸是已知的,並且SHA-1 散列每個片段的資訊(類似於唯一的數字「指紋」)以及整個資訊字典的資訊雜湊都包含在 .torrent 檔案中。因此,即使Torrent 用戶端用於恢復以前從未遇到過的Torrent 下載中斷,它也可以將每個片段的預期哈希值與磁碟上資料的實際哈希值進行比較,以找出哪些片段未通過哈希檢查,並因此需要重新下載。
然而,當您將中斷的 torrent 下載傳遞給 HTTP 下載管理器時,它不知道檔案的哪些部分遺失了。現在理論上它可以檢查每個文件,創建僅包含零位元組的所有資料區塊的列表,然後嘗試從 Web 伺服器重新下載這些資料以填補空白。對於像 FDM 這樣也支援 BitTorrent 協定的下載管理器,它甚至可以使用 .torrent 檔案進行雜湊檢查,然後透過 HTTP 重新下載那些未通過上述檢查的片段。然而,在實踐中,正如我上面提到的,我所知道的下載管理器都沒有這樣做,所以你很可能不會走運。
†我見過的最接近的下載管理器是 GetRight 的恢復遺失的下載特徵。然而,這僅適用於從一開始就按順序下載的文件,而且磁碟上的大小應反映實際下載的位元組數,而不是總文件大小。因此,如果您的下載中斷,磁碟上的檔案大小為 15,000 字節,並且伺服器報告內容長度對於 100,000 位元組的資源,那麼 GetRight 所做的就是發送一個範圍請求位元組 15,001 到 100,000。 (實際上,它會「回滾」4KB(預設值,用戶可配置),以確認檔案下載中斷時最終沒有資料損壞,但這是一個較小的實作細節。)顯然,考慮到它的工作原理,此功能無濟於事您恢復中斷的 torrent 下載。
答案2
#0:如果 torrent 和直接下載連結 (DDL) 上託管的檔案相同,則理論上答案應該有效,即哈希值沒有差異 [NDH]。我正在考慮三種情況。其餘部分留給讀者當作練習。請依照以下步驟操作:
場景1
您的 torrent 只有一個文件,DDL 也是具有相同文件類型的單一連結。
如果DDL(以等結尾.mkv/zip/avi/exe
)沒有等待機製或模糊的URL(例如Google/One Drive、Dropbox等),那麼您可以將下載連結刻錄到種子箱,例如伯恩比特。複製 DDL 的 URL 並將其貼上到 Burnbit 中。該過程很簡單,並在那裡一步步提到。讓它處理,然後就建立了一個新的 torrent。下載 torrent 檔案並將追蹤器合併到原始 torrent 中(某些 torrent 用戶端在檔案開啟後會自動完成)。
#1:請注意,這個新的 torrent 可能有新的 torrent 和檔案名稱。因此,在合併之前,請將舊的 torrent 名稱和檔案名稱變更為新的名稱和檔案名稱。也要recheck the torrent
在您的用戶端中選擇 New Torrent [NT],以便它可以從 OT 留下檔案的位置恢復。
場景2
原始 Torrent (OT) 中有多個文件,並且有多個 DDL 可用。
如果是這樣的話,那麼在核算之後#0,將所有 DDL 刻錄到 Burnbit 中。 Burnbit 僅允許單一檔案燒錄,因此您必須對所有 DDL 重複這些步驟並下載 torrent 檔案。開啟新的 torrent 並指定 OT 下載檔案的自訂下載位置 (CDL)。這些檔案可能不會直接儲存在 CDL 中,而是儲存在其後一層(一個新資料夾)。考慮文件樹這和這洪流以了解更多。
#2: 重複#1。如果一切順利,您將成功下載 OT。
場景3
OT 是一個存檔,裡面有單一/多個檔案。您的 DDL 是單個/多個鏈接,但不像最終的 OT 存檔。
探明#0不知何故。我們的目標是將所有 DDL 收集在一起並遠端存檔。必要條件是:
- 一個足夠大小的網站託管空間來儲存您的 DDL,
- 檔案上傳的大小不受限制,或至少足以一次上傳最大的 DDL 到您的託管空間,
- FTP 存取並遠端上傳到託管網域,
- 多上傳文件分享網站,如多重上傳.bz(畝)。
谷歌搜索,您可以找到許多免費託管方案,可以為您提供此類功能(1-3)並且在幾分鐘內完成安裝。請閱讀他們的常問問題和條款與條件 (T&C)在使用它們之前避免帳戶被暫停或法律麻煩。
一旦您的託管空間設定完畢並準備好網域和 FTP 憑證,請前往 MU,建立一個帳戶,登錄,將 FTP 詳細資料輸入所需的格式這裡在必填的 FTP 欄位中。請務必透過 FTP 用戶端檢查您的 FTP 是否在正確的權限下執行,例如文件齊拉。現在,
- 儲存詳細資訊並前往主頁上傳文件。
- 選擇
Remote Upload
並輸入 DDL 連結(僅限一個連結)。 - 檢查
FTP Upload
URL 欄位下方的許多選項,然後取消選取其餘選項。 - 單擊
Upload
並讓它進行處理。
如果一切順利,您的 DDL 將遠端下載到您的託管空間。透過 FTP 用戶端/CPanel 檢查一切順利。如果是,則對所有其他 DDL 重複 2-4。
現在我們已經將所有 DDL 放在一個引擎蓋下,讓我們透過重命名和建立檔案和檔案樹來使其與 OT 類似。最新的 CPanel(網站寄存)帶有文件存檔和提取功能。按照 OT 的方式歸檔您的文件。我只知道.zip
支持。下一步就是將此文件刻錄到 Burnbit 中。要刻錄它,需要其 URL,可以透過在 Web 瀏覽器中開啟您的網域(從 Web 託管)來獲取該 URL,瀏覽到您的文件並透過 複製新文件的連結right-click -> copy link location
。您的託管網域可能類似於這。
將此複製的連結燒錄到 Burnbit 中,現在您就可以使用新的 torrent 了。記住#1成功下載種子。
#3:必須指出的是,除了可選的 FTP 用戶端和 Burnbit torrent 檔案之外,特別不需要下載任何新內容,並且一切都是遠端完成的,從而節省了提問者的頻寬。
#4:這些方法可能不適用於需要用戶交互(時間等待、驗證碼等)的下載鏈接,或者 URL 末尾沒有特定文件類型的模糊鏈接。
筆記:盜版、侵犯版權或違反任何服務的條款和條件的行為在任何地方均不受支持。種子連結僅用作範例。建議讀者在使用之前仔細閱讀並遵守答案中提到的服務的條款和條件。
答案3
Torrent 檔案將被重新命名直至完成。確保將它們重新命名為正確的文件,並確保 torrent 用戶端已關閉,因為它會對您的文件設定寫入鎖定。
但不能保證下載管理器會選擇此文件,因為文件可能不同,因此它會覆蓋您的文件並重新開始。因此,請確保首先複製這些文件。
答案4
您無法使用下載管理器復原下載。嘗試重新宣布torrent 檔案並取得任何新的追蹤器並繼續下載