83 Star 676 Fork 63

Moe/TMOE

 / 详情

容器内aria2下载软件失败

待办的
创建于  
2023-10-29 10:58

提示如下
检测到最新版本为linuxqq_2.0.0-b2-1089 您是否需要更新linuxqq?
最新版链接为http://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_arm64.deb
未检测到本地版本,您可能尚未安装腾讯QQ linux版客户端。
Do you want to continue?[Y/n]
Press enter to continue,type n to return.
按回车键继续,输n返回

10/29 10:57:12 [ERROR] CUID#7 - Download aborted. URI=http://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_arm64.deb Exception: [AbstractCommand.cc:351] errorCode=19 URI=http://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_arm64.deb
-> [AbstractCommand.cc:799] errorCode=19 CUID#7 - Name resolution for down.qq.com failed:No address returned

下载结果:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
4a22d8|ERR | n/a|/tmp/LINUXQQ.deb

状态标识:
(ERR): 发生错误。

传输重启后 aria2 可继续该下载。
如见任何错误,详查日志文件。详细信息见帮助或手册页面中 的“-l”选项。

评论 (3)

fogbox 创建了任务 1年前
fogbox 修改了描述 1年前
展开全部操作日志

很多软件都有有此问题,不仅限于qq

5617340 mo2 1648809770 Moe 拥有者 1年前

其实 qqlinux 2.0 的链接(目前还是)有效的,不过还是推荐你用 3.x。
上面显示是 2.0 是因为几年前只有 2.0 版,而且 2.0 和 3.x 的版本检测方法不一样。


题外话:
其实解析 3.x 的链接还是挺简单的,分分钟就能搞定了。

咱看了一下qq linux 官网的 html, 发现它是通过下面这个 js 来获取下载链接的。

https://cdn-go.cn/qq-web/im.qq.com_new/latest/rainbow/linuxQQDownload.js

看了一下这个 js 里面的内容,发现它是将对象存在 params 里的。
i.e. 无需 js 运行时,只需把 params 的值提取出来,再把它当成 json 来解析,就能获取到最新链接了。

下图为 json -> toml 的结果:

输入图片说明


好了,回归正题。

最关键的错误是:Name resolution for down.qq.com failed:No address returned

简单来说,就是 DNS 域名解析失败。

修复方法:

# 以 root 权限运行

# 卸载 systemd 的 DNS 解析器,并删除其配置
apt autopurge systemd-resolved

# 进入系统配置目录
cd /etc

# 因为与 DNS 解析有关的配置文件可能是个“软链接”,所以需要先删掉它,而不是直接覆盖写入。 
unlink resolv.conf

# 写入新的 DNS
cat > resolv.conf <<-'EOF'
nameserver 144.144.144.144
nameserver 223.5.5.5
nameserver 240c::6666
nameserver 2606:4700:4700::1111
EOF

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
fogbox-gexiaoxi 5617340 mo2 1648809770
1
https://gitee.com/mo2/linux.git
git@gitee.com:mo2/linux.git
mo2
linux
TMOE

搜索帮助