xbox 高速下载不是梦想

您所在的位置:网站首页 uu加速器网速变慢 xbox 高速下载不是梦想

xbox 高速下载不是梦想

2024-02-03 05:31| 来源: 网络整理| 查看: 265

最近几周 xbox 上下载游戏总是出现安装已停止或者下载速度缓慢的问题,网上搜了个遍,大体上是以下几种办法

更换 DNS

清除 xbox 的 mac 地址

使用加速器(然鹅我这里 UU 加速器反向加速)

使用 xbox 下载助手(力荐,应该能解决大部分的问题)

我家能下载你家不能下载所以请你换个宽带或者来贴吧撕逼

我在使用 xbox 下载助手的过程中仍然会出现下载已停止的情况,咨询作者得知,有比较大概率是国内的 DNS 污染或者运营商缓存了过期文件,导致国内下载到的文件是损坏的。

那么一种解决办法呼之欲出: 使用国际域名下载之后设法回传给 xbox (回传功能与获取下载链接的功能 xbox 下载助手已内置)

你不想折腾的话,可以到此止步了。xbox 下载助手能解决大部分人的问题。

本文主要是从折腾的角度来获取下载链接和回传给 xbox 。

如何获取下载链接

获取下载链接最简单的办法是在 xbox 下载助手里面将国际下载域名和国内下载域名都设置为运行下载助手的电脑的IP地址,并且开启 xbox 下载助手的 http 服务,这样xbox尝试下载游戏时就会访问到下载助手的服务,下载助手会将下载链接以 404 的标识显示。

xbox 的下载链接是 http 而不是 https 的,这就为我们回传游戏文件提供了可能性。

我的思路是,电脑 A 作为下载游戏的中转,把 xbox 下载链接的请求原封不动的发给服务器,再将服务器的响应原封不动的返回给 xbox,这样我们就能在 xbox 上拿到下载链接了。

那么我们如何做一个这样的中转http请求的软件呢?

这里我使用搜狗公司的 workflow 框架 (https://github.com/sogou/workflow) 来完成我的需求。

对官方的 http 代理服务器略作修改,就可以达到我的目的了。

我修改的地方是

这样就可以把程序作为中转了。

将上面的代码联和 workflow 框架,编译出程序来。监听80端口。假设运行在电脑A上,使用 xbox 下载助手将 Xbox 的下载域名对应的IP改为电脑A的IP。这样xbox下载游戏时,就会经过电脑A的中转。

下图是下载刺客信条奥德赛的截图

xbox 经过电脑A的中转时,我们就可以把下载链接取到了,比如这里刺客信条奥德赛的国际域名下载链接是

在电脑上使用IDM或者直接用浏览器之类的访问这个链接,就可以把整个游戏的单个文件下载到了。

拿到下载链接之后,在 xbox 上暂停下载。

如何回传给 xbox 

简单来讲,你需要一个支持 Accept-Range: bytes 的 web 服务器,你当然可以用 xbox 下载助手实现此功能。这里我使用了 nginx ( http://nginx.org/download/nginx-1.20.2.zip )

解压之后,打开文件内 conf/nginx.conf,大概 40 行左右,也即 server {xxxx} 的大括号范围内。添加一行 add_header Accept-Ranges bytes;  也就是下面的样子

回头看下载链接 

下载链接中 ACDWW3981F5C7_1.5.6.2976_x64__b6krnev7r9sf8 是文件名,"13/77fb3ed5-9764-4993-81be-885f11bde63f/ba400e4b-6aa2-48e5-865d-fc247f053952/1.5.6.2976.c6a52c95-b179-489b-a366-d1c822ce2e94/" 则是保存路径,在 nginx 的html 文件内,依次新建目录 13 --> 77fb3ed5-9764-4993-81be-885f11bde63f -->  ba400e4b-6aa2-48e5-865d-fc247f053952  -->  1.5.6.2976.c6a52c95-b179-489b-a366-d1c822ce2e94 ,然后把下载好的游戏文件放在 1.5.6.2976.c6a52c95-b179-489b-a366-d1c822ce2e94 目录里。

使用 cmd 进入 nginx 的目录,输入 start nginx.exe 。 再回到 xbox 继续下载。此时 xbox 将访问的是 nginx 启动的 web 服务器。我的 Xbox one x 上可以的 450Mbps 以上的速度。xbox 自己直连国际域名的话只能跑到 20Mbps 左右。在电脑上使用 IDM 可以跑满带宽。

我的局域网带宽是能跑到千兆的,我给 xbox 换了内置硬盘之后,USB 往内置硬盘里拷贝持续写入速度可以超过 1.5Gbps。也就是说,xbox 换了硬盘之后持续写入速度可以到 1.5Gbpx。 但是实际上通过局域网回传给 xbox 最高只能跑到 550Mbps ,也许是 xbox one x 的辣鸡 CPU 限制了发挥,有 xss 或者 xsx 的同学可以试试局域网回传速度能到多少。

局域网回传仍然会出现安装已停止的情况的话,多半是下载到的游戏文件本省就有损坏,这种情况可以加速器或者用 xbox 下载助手,让 xbox 走国际域名下载一会,把损坏的区块从服务器上下载到之后,再用局域网回传给 xbox 。

P.S 本文只是折腾用,展示 workflow 和 nginx 的一种用法,对于多数人来说,xbox 下载助手是最好的选择。

稍微不那么折腾的办法

撇开 workflow ,我们也可以用 nginx 获取下载链接。将 xbox 的下载域名指向运行了 nginx 的电脑之后,xbox 发起下载请求,就可以在运行了 nginx 的电脑上的 nginx 的log 里拿到下载链接。这里可以参考我修改过的 nginx.conf

这个 config 的主要作用是由下面这段产生的

主要作用是接收到 符合 xbox 下载链接形式的请求时,如果请求的文件不存在,那么将请求转发给 http://assets1.xboxlive.cn 处理。使用 xbox 下载助手或者别的什么方式,将xbox的下载域名指向运行 nginx 的电脑,然后在 nginx 的 access.log 里面就可以看到请求了,下面是下载茶杯头的示例。

在 xbox 上暂停下载。拿到下载链接之后使用 IDM 或者别的支持多线程下载的 PC 端的软件将游戏文件下载到 nginx 的 html 目录里面。下载完成之后,xbox 点恢复下载,这个时候 nginx 检测到本地存在对应的游戏文件,那么就会从电脑本地传输给 xbox 。

使用 nginx 回传的原因是 xbox 下载助手的回传速度还是比 nginx 慢一点。

nginx 作为静态文件web服务器来说效率还是相当高的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3