type
status
date
slug
summary
tags
category
icon
password

BiliBiliToolPro 在 Dockercompose 中无法运行的解决办法

背景

我的BiliBiliToolPro运行在由 Docker Desktop 搭建的 DockerCompose中。
我的Docker Desktop使用了clash代理。
我无法在BiliBiliToolPro中通过扫码登陆。

Dockercompose

我的Dockercompose如下:

日志

我的运行日志如下
其中,Authorization我作了隐藏处理。其他原封不动。

日志分析

首先我对自己的日志进行了分析。

直接原因

服务器响应了错误的http状态码:502 Bad Gateway
这一错误码是我直观感受到的原因,因此我主要思考从这个报错解决问题。
我翻阅了Github上面有关的issue。有关502的报错主要有以下三个。
其中,
【其他】扫码登录报错
Updated Mar 14, 2023
是Github搜索错误,翻阅其日志也和该502状态码无关,因此排除。

更进一步的分析

clash
因此,我开始如下尝试:
  • Clash设置为Direct。失败。
  • Clash关闭。失败。
  • 修改Docker Proxy。失败。
以上尝试均失败,因此错误和clash无关。
但是我又注意到我们都使用了Docker虚拟机

是否是虚拟机的问题?

这时候,我开始怀疑这是虚拟机导致的问题,毕竟作者在
扫码登入报错502 develop分支
Updated Feb 15, 2023
回复
未复现,需要debug级别日志
而且我注意到另一个报错提示。
Host: localhost:5600
这一端口很明显和我的DockerCompose的5700很接近,然而又有不同。
是否是因为dockercompose的端口和docker 容器命令默认端口不同导致的?
因为如果这一端口被改动了,那么访问localhost:5600显示服务器响应了错误的http状态码:502 Bad Gateway 就可以解释了——这个错误码不是无法访问bilibil,而是无法访问青龙面板

使用5600端口的其他人也有问题

在issue上面搜索了其他有关5600端口 的提问,我发现类似的问题还有很多:
这些人无一例外,都是5600端口,并且获取到了cookies但是失败在了设置cookies的那一步上!

如何修改端口?

除了我之外,也有人同样发现了问题
如何修改访问青龙面板的端口,我的是5700,好像默认访问5600。
Updated Feb 19, 2024
。但是他提出了问题而没有解决。
通过搜索代码,我发现
/src/Ray.BiliBiliTool.Agent/Extensions/ServiceCollectionExtension.cs目录下的qinglongHost变量是设置“青龙面板”的host的。

完成

修改该字段为5700后,测试,无报错。
修复完成!!!
在Windows上同时使用夜神模拟器和虚拟机的兼容性解决方案 | 开关 Hyper -V 的使用弗洛伊德-华尔什算法找出矩阵中所有点对的最短路径
  • Twikoo
  • Giscus
  • Utterance