You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 2, 2023. It is now read-only.
Node.js Version
v16.13.1
Package(oicq) Version
npm -v: 8.1.2
Login Protocol
iMac
Bug Description (最好截图说明,你的文字描述可能无法准确传达信息)
运行环境:
华数宽带,群晖Nas里的Docker,Centos8容器
部署的项目为Yunzai-Bot( https://github.com/Le-niao/Yunzai-Bot ),里面使用了oicq2.2.3版本
问题描述:
![image](https://user-images.githubusercontent.com/42203894/174430539-e66b8013-313d-41ab-8d83-32bb0b661351.png)
![image](https://user-images.githubusercontent.com/42203894/174430946-c82233f5-b20b-4b94-8c7b-c8a52d790465.png)
半个月前(2022年6月1日左右)部署了Yunzai-Bot,并且运行正常,直到几天前出现图片无法上传问题(其他信息可正常发出),经过初步排查,发现发送图片时,oicq代码如下位置发生死循环(只是自己debug发现):
根据日志文件(当时日志被我清掉了。。)发现最后一个日志输出是这里:
重装、重新部署等操作做完后,又发现给docker容器断网30秒(oicq检测断连的时间),再连接容器网络就可以发图了,对比改变的输出信息:
![image](https://user-images.githubusercontent.com/42203894/174431531-fd4c5a21-41a9-49cb-9017-037207e32710.png)
![image](https://user-images.githubusercontent.com/42203894/174432031-ff1436b1-467a-4baa-ae98-2486fafd5433.png)
this.logger.debug(
highway ip:${ip} port:${port}
);发现,当port为80时,无法发出图片,当port为8080(或者443、14000等等其他端口)时,图片可以发送。
翻阅源码看有关oicq选择端口号的代码片段发现似乎与这里有关:
*不知道上图的ip和port从哪来,参考其他位置的代码发现似乎port有多个可选择,但代码只用了其中一个(似乎是腾讯返回)
个人猜测:
运营商有问题,因为更换为联通5G后发送图片信息就正常了,另外oicq有没有办法判断发送图片的地址是有效的,或者Yunzai-Bot配置上有疏漏,希望得到解答。
我的临时解决办法:
![image](https://user-images.githubusercontent.com/42203894/174431734-9a55ab2b-4656-45cd-a366-5d3c1388cb11.png)
用sed在这里插入一个写死的port(用于代替自己识别到的80端口),目前运行正常。
其他:
![image](https://user-images.githubusercontent.com/42203894/174431587-869852ee-f445-4c76-9730-330befc5e4f6.png)
我在oicq文档里写的这个群里,可以提供测试环境:
@47492249
只是一晚上分析了下,可能会有描述不清或有错误的地方。
谢谢大佬🙏。
The text was updated successfully, but these errors were encountered: