修改迅雷下载源地址,解决链接失效问题

现在很多的网盘或者文件分享网站的链接都有时效性,而我们可能文件下载了一半,不得不过一段时间或者更换其他IP地址继续下载,这可能导致我们无法正常续传。这是因为这些链接以及失效,而迅雷的离线资源如果又没有这些文件的话,那么我们可能只有重新下载,非常浪费时间和精力。

dbank-link-invalid

而最近在下载华为网盘的文件的时候,就碰到了这个问题,后来发现,其他迅雷会记录下载文件的源地址以及下载引用的页面,同时如果有离线支援,可能还包含一些其他节点等信息。对我们来说,只需要关注下载源地址即可,原则上,这些文件的内容没有变,只是需要重新生成一个下载地址,让迅雷使用新的下载地址继续下载文件即可,但目前迅雷界面没有提供该功能,所以,我们就只能手动来操作了。

thunder-td-cfg-old

用UE打开迅雷对应下载任务的xxx.td.cfg文件,然后我们会在开始位置发现上图类似的内容。其中高亮部分为下载的原始源地址,而00000012h位置的9D为该下载源地址URI的长度。而我们直接复制该连接到浏览器中,范围的时候,就会出现最开始的错误提示,该链接已经过期。

所以,我们只需要去该文件的下载地址,然后复制新的地址,并且在UE中替换掉原来已经失效的源地址(如下图为替换后的结果)即可。
thunder-td-cfg-new

当修改完成后,重新打开迅雷,开始下载,我们发现,迅雷下载就恢复了正常并可以继续下载之前的文件。

[alert type=”warning”]由于华为网盘的这个链接长度对同一个文件来说,基本都是相同长度,所以,只需要简单替换即可。不需要做修复0x12h位置的长度。同时,没有详细分析td.cfg文件的格式,后面的内容中,可能还有些信息是直接依赖偏移来定位信息,所以,如果长度不相同的情况下,贸然修改该文件,可能导致之前的下载进度消失。所以,请谨慎修改。[/alert]