需求
所有使用非windows的用户在需要下载迅雷资源的时候,大概都有两种方法。其一,使用wine,装一个xunlei,然后下载资源;其二,利用离线下载,先下载到离线服务器上,然后利用http或ftp协议下载到本地。
为啥迅雷不开发一个linux版呢!(个人猜测,估计是怕linux里面的license吧)相信为啥没有linux版本,只有迅雷知道。
为了能让linux下载迅雷资源,做了如下调研。。。
thunder 地址解码
通常能看到的 thunder 地址,都是通过base64 encode 过的 http 或 ftp 地址。所以解码,也需要用base64
1 2 3 4 5 6 7
| # base64 加密后的http 或 ftp 地址 thunder://QUFmdHA6Ly9keWdvZDE6ZHlnb2QxQGQxMzEuZHlnb2QuY246MzA0OS/pnZ7or5rli7/mibBEVkRzY3IvW+eUteW9seWkqeWggnd3dy5keWdvZC5jbl3pnZ7or5rli7/mibBjZDEucm12Ylpa
# 经过 base64 -d decode 之后 echo QUFmdHA6Ly9keWdvZDE6ZHlnb2QxQGQxMzEuZHlnb2QuY246MzA0OS/pnZ7or5rli7/mibBEVkRzY3IvW+eUteW9seWkqeWggnd3dy5keWdvZC5jbl3pnZ7or5rli7/mibBjZDEucm12Ylpa | base64 -d
AAftp://dygod1:dygod1@d131.dygod.cn:3049/非诚勿扰DVDscr/[电影天堂www.dygod.cn]非诚勿扰cd1.rmvbZZ%
|
看到了吧,去掉开头的“AA”,去掉结尾的“ZZ%”,就剩下了一个ftp地址,这个ftp地址,就是迅雷下载时使用的ftp地址。
迅雷资源下载
使用 wget 下载上文中的ftp资源
1 2 3 4 5 6 7 8
| $ wget -v ftp://i:i@d3.dl1234.com:6958/\[电影天堂www.dy2018.com\]神战权力之眼BD中英双字.rmvb --2016-05-25 14:58:52-- ftp://i:*password*@d3.dl1234.com:6958/[%E7%94%B5%E5%BD%B1%E5%A4%A9%E5%A0%82www.dy2018.com]%E7%A5%9E%E6%88%98%E6%9D%83%E5%8A%9B%E4%B9%8B%E7%9C%BCBD%E4%B8%AD%E8%8B%B1%E5%8F%8C%E5%AD%97.rmvb => ‘.listing’ Resolving d3.dl1234.com (d3.dl1234.com)... 218.93.205.139 Connecting to d3.dl1234.com (d3.dl1234.com)|218.93.205.139|:6958... failed: Connection refused. --2016-05-25 14:58:52-- ftp://i:*password*@d3.dl1234.com:6958/[%E7%94%B5%E5%BD%B1%E5%A4%A9%E5%A0%82www.dy2018.com]%E7%A5%9E%E6%88%98%E6%9D%83%E5%8A%9B%E4%B9%8B%E7%9C%BCBD%E4%B8%AD%E8%8B%B1%E5%8F%8C%E5%AD%97.rmvb => ‘.listing’ Connecting to d3.dl1234.com (d3.dl1234.com)|218.93.205.139|:6958... failed: Connection refused.
|
结果被无情的 refused 了,后来又用别的ftp客户端尝试下载结果,依然失败。。。
痛定思痛,上网搜索了一下,有片文章的分析我觉得可能是正确的,其文如下:
”(我揣测)迅雷走的是P2SP,也就是先访问它的索引server,找到真实可用的ip。换句话说,这个URL仅仅起到一个资源标识符的作用,本身也许未必能直接用于下载。 所以说这个东西,不逆向官方客户端恐怕是没法搞的,因为不知道它和服务器之间的协议。“
结论
根据网友的分析,后续可以下载一个迅雷软件分析看看
参考&鸣谢