第二章 启动:
在项目根目录
里创建一个新的文本文档,命名随意
使用记事本打开这个文本文档,并在里面输入:
bin\unidbg-fetch-qsign.bat --basePath=txlib\配置文件夹
pause
保存文件,并将文件后缀名txt
改为bat
双击运行这个bat文件,显示Responding at http://127.0.0.1:8080
,就代表此时qsign已经正常启动了
如果刷了一大串东西但没有显示,可能是端口被占用,你需要用记事本打开配置文件夹
里的 config.json
,将port
项的数字改为其他1024-65535范围内的任意数字,并再次尝试第3步,直至正常显示Responding at http://127.0.0.1:[数字]
启动完成后,请勿关闭qsign的命令提示符窗口,否则qsign将被关闭
往后你想启动qsign,直接运行上述的bat文件即可
3 个赞
第三章 后台运行&自启动:
此章节内容并非必须,但完成此章节后,通过使用WinSW
将qsign程序打包成Windows服务,你重启电脑后不需要再次启动qsign
GitHub - winsw/winsw: A wrapper executable that can run any executable as a Windows service, in a permissive license. 在此下载适用于你操作系统的最新正式版WinSW
解压缩你下载的文件,将其移动到项目根目录
并连同其后缀名一起重命名为qsign.exe
;如果你发现下载到的文件已经是exe,则不需要解压
在项目根目录
创建一个文本文档,连同其后缀名一起重命名为qsign.xml
使用记事本打开qsign.xml
,并在里面输入:
<service>
<id>unidbg-fetch-qsign</id>
<name>unidbg-fetch-qsign</name>
<description>unidbg-fetch-qsign Service</description>
<executable>bin\unidbg-fetch-qsign.bat</executable>
<arguments>--basePath=txlib\配置文件夹</arguments>
<logmode>rotate</logmode>
</service>
保存并关闭文件
同时按下Windows徽标键+S
打开搜索,输入cmd
后右键命令提示符
,点击以管理员身份运行
在新弹出来的命令提示符窗口里输入 cd 项目根目录的路径
并回车以前往项目根目录
(如果你发现输入完命令后并没有前往项目根目录
,只需输入项目根目录的盘符并回车即可,例如 D:
)
输入 .\qsign.exe install qsign.xml
并回车以安装服务
输入 .\qsign.exe start qsign.xml
并回车以启动服务
使用以下命令管理服务:
●停止服务:.\qsign.exe stop qsign.xml
●重新启动服务:.\qsign.exe restart qsign.xml
●卸载服务:.\qsign.exe uninstall qsign.xml
3 个赞
请问gocq-dev是如何切换qq协议版本的呢?
平台: Armbian(ubuntu) arm64 22.04
jdk 1.8.x openjdk-8-jre
node v18 lts
默认打开gocqdev, log都是使用协议8.9.63.xxxxx
然后按教程部署内置qsign-1.1.7-8.9.71,手动抓取ticket,最后会报
2023-08-28 21:14:00 [I] qsign stdout: JNIEnv->NewByteArray(64) was called from RX@0x404332fc[libfekit.so]0xb32fc
2023-08-28 21:14:00 [I] qsign stdout:
JNIEnv->SetByteArrayRegion([B@58682a87, 0, 64, RW@0x4035e500) was called from RX@0x40433438[libfekit.so]0xb3438
JNIEnv->ReleaseStringUTFChars("wtlogin.login") was called from RX@0x407225b8[libfekit.so]0x3a25b8
2023-08-28 21:14:00 [I] qsign stdout: JNIEnv->SetObjectField(com.tencent.mobileqq.sign.QQSecuritySign$SignResult@79fdb94b, sign [B => [B@58682a87) was called from RX@0x404ea498[libfekit.so]0x16a498
2023-08-28 21:14:00 [I] qsign stdout: JNIEnv->ReleaseStringUTFChars("V1_AND_SQ_8.9.63_4194_YYB_D") was called from RX@0x404ea0a0[libfekit.so]0x16a0a0
JNIEnv->ReleaseStringUTFChars("wtlogin.login") was called from RX@0x404ea0b8[libfekit.so]0x16a0b8
JNIEnv->ReleaseStringUTFChars("2856667301") was called from RX@0x404ea0e4[libfekit.so]0x16a0e4
2023-08-28 21:14:00 [W] gocqhttp-dev 登录失败: 登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或通过问题反馈与我们联系。 Code: 45
2023-08-28 21:14:00 [W] gocqhttp-dev 你的账号被限制登录, 请配置 SignServer 后重试
2023-08-28 21:14:00 [I] gocqhttp-dev 你的账号被限制登录, 请配置 SignServer 后重试
并且code45,qsign server疑似挂掉
(虽然但是我能本地部署1.1.9-8.9.63成功登录.jpg)
我的gocqdev为最新,@…/qsign刚下的新
请问是否为配置问题?
gocqdev如何检测并切换协议?
如果不能自动切换,是否会存在误导?
2 个赞
为什么要使用手动抓取ticket,直接自动不就好了
2 个赞
ilharp
2023 年8 月 28 日 14:26
14
gocq 官方的自动验证已下线,能够手动抓的话一般不是使用 Koishi 登录的情况
2 个赞
Alirea
2023 年8 月 28 日 14:33
15
你的签名版本必须对应才可以生效啊
QQ协议使用8.9.63,那么你qsign也必须使用8.9.63协议,上下不可视为兼容。
能用63用63就可以了,qsign支持多个版本的QQ协议可能是为了兼容除了gocq以外的其他协议端,比如某端会强制锁8.9.68之类的。
3 个赞
我知道要对应这点,
但如果cqdev不会更改版本,而是锁63
那么教程中 都选最新 是否有歧义/误导?
3 个赞
jing_2hang1105:
然后按教程部署内置qsign-1.1.7-8.9.71,手动抓取ticket,最后会报
2023-08-28 21:14:00 [I] qsign stdout: JNIEnv->NewByteArray(64) was called from RX@0x404332fc[libfekit.so]0xb32fc
2023-08-28 21:14:00 [I] qsign stdout:
JNIEnv->SetByteArrayRegion([B@58682a87, 0, 64, RW@0x4035e500) was called from RX@0x40433438[libfekit.so]0xb3438
JNIEnv->ReleaseStringUTFChars("wtlogin.login") was called from RX@0x407225b8[libfekit.so]0x3a25b8
2023-08-28 21:14:00 [I] qsign stdout: JNIEnv->SetObjectField(com.tencent.mobileqq.sign.QQSecuritySign$SignResult@79fdb94b, sign [B => [B@58682a87) was called from RX@0x404ea498[libfekit.so]0x16a498
2023-08-28 21:14:00 [I] qsign stdout: JNIEnv->ReleaseStringUTFChars("V1_AND_SQ_8.9.63_4194_YYB_D") was called from RX@0x404ea0a0[libfekit.so]0x16a0a0
JNIEnv->ReleaseStringUTFChars("wtlogin.login") was called from RX@0x404ea0b8[libfekit.so]0x16a0b8
JNIEnv->ReleaseStringUTFChars("2856667301") was called from RX@0x404ea0e4[libfekit.so]0x16a0e4
2023-08-28 21:14:00 [W] gocqhttp-dev 登录失败: 登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或通过问题反馈与我们联系。 Code: 45
2023-08-28 21:14:00 [W] gocqhttp-dev 你的账号被限制登录, 请配置 SignServer 后重试
2023-08-28 21:14:00 [I] gocqhttp-dev 你的账号被限制登录, 请配置 SignServer 后重试
并且code45,qsign server疑似挂掉
(虽然但是我能本地部署1.1.9-8.9.63成功登录.jpg)
我的gocqdev为最新,@…/qsign刚下的新
请问是否为配置问题?
如果http://127.0.0.1:8080正常显示的话,可以尝试切换为8.9.63版本,如果还是无法登录,就只能使用外置了
1 个赞
(((
我本来就是外置正常的
我是想实践测试下cqdev协议问题(
那我有时间测试一下
还有,我改了端口(
qsign-8.9.73 → :8973
3 个赞
如果8.9.63不能正常登录,那就说明不是协议版本问题(
我使用最新版本是没有问题的(
但我目前因为不明原因所有版本内置外置都code237(
2 个赞
反转了,本来gocq的协议版本应该跟着qsign的,但因为gocq的问题只能8.9.63,只能等更新,也就是说我教程目前确实要改
1 个赞