Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: 1.2.0版本gocq在linux下出现:invalid byte: U+002F '/' #2476

Open
4 tasks done
okashi-ya opened this issue Oct 12, 2023 · 6 comments
Open
4 tasks done

[Bug]: 1.2.0版本gocq在linux下出现:invalid byte: U+002F '/' #2476

okashi-ya opened this issue Oct 12, 2023 · 6 comments
Labels
bug? The issue author think this is a bug

Comments

@okashi-ya
Copy link

请确保您已阅读以上注意事项,并勾选下方的确认框。

  • 我已经仔细阅读上述教程和 "提问前需知"
  • 我已经使用 dev分支版本 测试过,问题依旧存在。
  • 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题的ISSUE。
  • 我已知晓并同意,此处仅用于汇报程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。(这些问题应当在 Discussion 板块提出。)

go-cqhttp 版本

1.2.0

运行环境

Linux

运行架构

AMD64

连接方式

WebSocket (反向)

使用协议

6 | aPad

重现步骤

1.docker pull xzhouqd/qsign:core-1.1.9 拉取最新镜像
2.docker run -d --restart=always --name qsign -p 8000:8080 -e BASE_PATH=/srv/qsign/qsign/txlib/8.9.73 xzhouqd/qsign:core-1.1.9 使用8.9.73协议
3.启动gocq(linux下其存在于单独的一个容器中)
4.查看log

期望的结果是什么?

正确签名

实际的结果是什么?

qsign侧的签名无报错但仅有几条日志,而后gocq就报错

简单的复现代码/链接(可选)

No response

日志记录(可选)

**linux**下qsign侧日志Using base path /srv/qsign/qsign/txlib/8.9.73
FEBond sum = 7680
Load Package = Protocol(qua=V1_AND_SQ_8.9.73_4416_YYB_D, version=8.9.73, code=4416, packageName=com.tencent.mobileqq)
...
...
...
15:59:30.388 [DefaultDispatcher-worker-1] INFO ktor.application - Responding at http://0.0.0.0:8080
15:59:45.689 [eventLoopGroupProxy-3-1] DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkAccessible: true
15:59:45.689 [eventLoopGroupProxy-3-1] DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkBounds: true
15:59:45.690 [eventLoopGroupProxy-3-1] DEBUG io.netty.util.ResourceLeakDetectorFactory - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@55ccab54
15:59:45.741 [eventLoopGroupProxy-3-1] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxCapacityPerThread: 4096
15:59:45.741 [eventLoopGroupProxy-3-1] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.ratio: 8
15:59:45.741 [eventLoopGroupProxy-3-1] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.chunkSize: 32
15:59:45.741 [eventLoopGroupProxy-3-1] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.blocking: false
15:59:45.741 [eventLoopGroupProxy-3-1] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.batchFastThreadLocalOnly: true
----------------
到这里gocq就会报错然后后续就无了

**linux**下gocq侧日志2023-10-13 00:06:35] [INFO]: 当前版本:v1.2.0 
[2023-10-13 00:06:35] [INFO]: 将使用 device.json 内的设备信息运行Bot. 
[2023-10-13 00:06:35] [INFO]: 使用签名服务器http://192.168.174.130:8000 
[2023-10-13 00:06:35] [WARNING]: 自动注册实例已关闭请配置 sign-server 端自动注册实例以保持正常签名 
[2023-10-13 00:06:35] [INFO]: 开始尝试登录并同步消息... 
[2023-10-13 00:06:35] [INFO]: 使用协议: Android Pad 8.9.63.11390 
[2023-10-13 00:06:35] [INFO]:  30 分钟将刷新一次签名 token 
[2023-10-13 00:06:35] [INFO]: 从文件 data/versions/6.json 读取协议版本 Android Pad 8.9.73.11945. 
[2023-10-13 00:06:37] [INFO]: Protocol -> connect to server: 183.47.99.24:8080 
[2023-10-13 00:06:37] [WARNING]: 获取T544 sign时出现错误: encoding/hex: invalid byte: U+002F '/' (data: /custom_energy?data=810_9&salt=00000000001095cc922c0de46b240c9bd8d839d40e4f000a362e302e302e323535330000000900000000&uin=210215127&android_id=8d4915579b3e3361&guid=95cc922c0de46b240c9bd8d839d40e4f) 
[2023-10-13 00:06:37] [WARNING]: token 已过期, 总丢失 token 次数为 1 
[2023-10-13 00:06:37] [INFO]: 正在刷新 token 
[2023-10-13 00:06:37] [WARNING]: 刷新 token 出现错误: code=1, msg: Uin is not registered.. server: http://192.168.174.130:8000 
[2023-10-13 00:06:37] [WARNING]: 登录失败: 登录失败请前往QQ官网im.qq.com下载最新版QQ后重试或通过问题反馈与我们联系Code: 45 
[2023-10-13 00:06:37] [WARNING]: 你的账号被限制登录, 请配置 SignServer 后重试 
[2023-10-13 00:06:37] [INFO]:  Enter 继续.... 

**该问题仅出现于linux上在windows平台使用最新版qsign+gocq1.2.0+两端协议8.9.73是可以正常签名的**
**经测试应该与协议版本无关尝试8.9.638.9.71和8.9.73在linux上均是签名到同一位置报同样错误**

补充说明(可选)

No response

@okashi-ya okashi-ya added the bug? The issue author think this is a bug label Oct 12, 2023
@okashi-ya
Copy link
Author

okashi-ya commented Oct 12, 2023

另外我本地有一个5db03c7的dev版本,可以正常签名8.9.63(linux下不会报错),但是8.9.73好像会直接挂掉
不过现在8.9.63已经被废了,登不上去了,会直接要我下载最新QQ(报45错误)

@YumeMichi
Copy link
Contributor

gocq作者团队已经无力维护了,建议迁移到其他项目。
#2471

目前gocq就是运气好能用,运气不好就这样了。我自己的机器人8.9.63还能上,我朋友用的手表协议还苟着。

@okashi-ya
Copy link
Author

gocq作者团队已经无力维护了,建议迁移到其他项目。 #2471

目前gocq就是运气好能用,运气不好就这样了。我自己的机器人8.9.63还能上,我朋友用的手表协议还苟着。

我linux的服务器没图形界面而且就2G内存,Shamrock跑不起。。。chronocat还是等他们协议完善了再说吧
幸亏挂的是副bot号,我调低了版本可以正常签名但是会45,换一个号就不会,可能是被盯上了吧,哎

@1umine
Copy link
Contributor

1umine commented Oct 12, 2023

没有注册实例,qsign配置里的auto_register改成 true应该就好了

@ASAServer
Copy link

我遇到过68协议报这个错误,改成70协议就好了。

@mmlhl
Copy link

mmlhl commented Oct 22, 2023

gocq作者团队已经无力维护了,建议迁移到其他项目。 #2471

目前gocq就是运气好能用,运气不好就这样了。我自己的机器人8.9.63还能上,我朋友用的手表协议还苟着。

我linux的服务器没图形界面而且就2G内存,Shamrock跑不起。。。chronocat还是等他们协议完善了再说吧
幸亏挂的是副bot号,我调低了版本可以正常签名但是会45,换一个号就不会,可能是被盯上了吧,哎

可以试试复制device.json里面的AndroidID,然后删除device.json,重新生成,将ID改成原来的。我每次被封都会45。每次这样都可以

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug? The issue author think this is a bug
Projects
None yet
Development

No branches or pull requests

5 participants