qsign —— 签名 不要指望用来解决code=45
-
开源签名服务已停止更新,不止是我。不推荐再使用开源的签名服务,都是玩剩下的了。
https://github.com/MrXiaoM/qsign
8.9.58
-8.9.85
支持。8.9.88
、8.9.90
协议信息包含,可登录不保证可用性如果你对可快速配置上手的新版插件内置签名服务感兴趣,请参见 MrXiaoM/qsign,
目前稳定运行,正在测试中。能用,不保证以后能用,做好拉闸的准备。
MrXiaoM/qsign 的安装非常简单,只需要寥寥几步即可快速上手。支持 mirai-core 使用,详见项目地址末尾。
仓库中 txlib 内,除了签名配置外,还有各协议版本的
android_phone.json
和android_pad.json
,这些资料也可以用于 go-cqhttp。
SignManagerhttps://mirai.mamoe.net/topic/2421外置签名服务的图形化搭建方法,更方便不懂得如何编辑配置文件、经常忽略确认版本正不正确的小白使用。ufq 和 fpv 已删库,导致该软件依赖的下载源消失,已无法使用。
KawaiiMiku(已停更)https://github.com/MrXiaoM/KawaiiMiku
KawaiiMiku 旧版可使用,已测试通过。但旧版缺少一部分算法。KawaiiMiku 新版测试未通过,且 KawaiiMiku 不会再更新新版内容,请使用 fix-protocol-version
如果你觉得有用,给本帖
点赞
或者给仓库点个Star
,感谢。协议库可能撑不了多久了,且用且珍惜。
更多内容
解决 code=45 的
详细教程
以及注意事项:
https://wiki.mrxiaom.top/mirai/45捐助
前往 爱发电 捐助我。
插播一条广告
onebot 转 mirai:https://mirai.mrxiaom.top/
-
资瓷
-
This post is deleted! -
@MrXiaoM 请教下,mirai-core项目,尝试接入KawaiiMiku-0.1.3接入签名认证,但登录还是报code=45, 好像没对接上签名服务?
JDK版本:17.0.7 / 11.0.6
mirai-core-jvm版本:2.15.0-dev-105
fix-protocol-version: 1.8.3,已删除DDL和SO后缀文件
登录协议:PHONE,看日志版本是8.9.58.11170
qq签名服务:unidbg-fetch-qsign-1.1.3,txlib配置的是8.9.58maven-pom依赖
<dependency> <groupId>net.mamoe</groupId> <artifactId>mirai-core-jvm</artifactId> <version>2.15.0-dev-105</version> </dependency> <dependency> <groupId>net.mamoe</groupId> <artifactId>fix-protocol-version</artifactId> <version>1.8.3</version> </dependency> <dependency> <groupId>com.github.MrXiaoM</groupId> <artifactId>KawaiiMiku</artifactId> <version>0.1.3</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>1.8.10</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-core</artifactId> <version>1.6.4</version> <scope>runtime</scope> </dependency> <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> <repository> <id>miraisnapshots</id> <name>mirai snapshots</name> <url>https://repo.mirai.mamoe.net/snapshots</url> </repository> </repositories>
登录逻辑
final Bot bot = BotFactory.INSTANCE.newBot(qqId, qqPwd, new BotConfiguration() { { System.out.println("==协议==" + FixProtocolVersion.info()); FixProtocolVersion.update(); System.out.println("==协议=="+ FixProtocolVersion.info()); fileBasedDeviceInfo("deviceInfo-"+qqId+".json"); //文件方式保存设备信息 setProtocol(MiraiProtocol.ANDROID_PHONE); } }); new EncryptProvider.Factory("http://127.0.0.1:8080","347129306").registerAsOverride(); bot.login();
启动日志
==协议=={ANDROID_PHONE=ANDROID_PHONE 8.9.58.11170 2023-05-19T11:35+08:00, ANDROID_PAD=ANDROID_PAD 8.9.58.11170 2023-05-19T11:35+08:00, ANDROID_WATCH=ANDROID_WATCH 2.0.8 2019-06-03T20:25:31+08:00, IPAD=IPAD 8.9.33.614 2021-12-31T11:36:26+08:00, MACOS=MACOS 6.8.2.21241 2022-03-14T11:11:35+08:00} ==协议=={ANDROID_PHONE=ANDROID_PHONE 8.9.58.11170 2023-05-19T11:35+08:00, ANDROID_PAD=ANDROID_PAD 8.9.58.11170 2023-05-19T11:35+08:00, ANDROID_WATCH=ANDROID_WATCH 2.0.8 2019-06-03T20:25:31+08:00, IPAD=IPAD 8.9.33.614 2021-12-31T11:36:26+08:00, MACOS=MACOS 6.8.2.21241 2022-03-14T11:11:35+08:00} 2023-07-06 14:48:00 W/EncryptService.alert: Encrypt service was loaded: top.mrxiaom.mirai.kawaii.EncryptProvider$Factory@30f5a68a 2023-07-06 14:48:00 W/EncryptService.alert: All outgoing message may be leaked by this service. 2023-07-06 14:48:00 W/EncryptService.alert: Use this service if and only if you trusted this service and the service provider. 2023-07-06 14:48:00 W/EncryptService.alert: Service details: 2023-07-06 14:48:00 W/EncryptService.alert: `- Jvm Class: class top.mrxiaom.mirai.kawaii.EncryptProvider$Factory 2023-07-06 14:48:00 W/EncryptService.alert: `- ClassLoader: jdk.internal.loader.ClassLoaders$AppClassLoader@63947c6b 2023-07-06 14:48:00 W/EncryptService.alert: `- Source: file:/C:/Users/A/.m2/repository/com/github/MrXiaoM/KawaiiMiku/0.1.3/KawaiiMiku-0.1.3.jar 2023-07-06 14:48:00 W/EncryptService.alert: `- Protected Domain: ProtectionDomain (file:/C:/Users/A/.m2/repository/com/github/MrXiaoM/KawaiiMiku/0.1.3/KawaiiMiku-0.1.3.jar <no signer certificates>) jdk.internal.loader.ClassLoaders$AppClassLoader@63947c6b <no principals> java.security.Permissions@5ce33a58 ( ("java.io.FilePermission" "C:\Users\A\.m2\repository\com\github\MrXiaoM\KawaiiMiku\0.1.3\KawaiiMiku-0.1.3.jar" "read") ("java.lang.RuntimePermission" "exitVM") ) 2023-07-06 14:48:00 W/Bot 347129306: top.mrxiaom.mirai.kawaii.EncryptProvider$Factory@30f5a68a is not yet supported EncryptService with bot Bot(347129306) java.lang.UnsupportedOperationException at top.mrxiaom.mirai.kawaii.EncryptProvider$Factory.createForBot(EncryptProvider.kt:183) at net.mamoe.mirai.internal.network.components.EncryptServiceHolderImpl.<init>(EncryptServiceHolder.kt:49) at net.mamoe.mirai.internal.QQAndroidBot.createBotLevelComponents(QQAndroidBot.kt:288) at net.mamoe.mirai.internal.QQAndroidBot$defaultBotLevelComponents$2.invoke(QQAndroidBot.kt:192) at net.mamoe.mirai.internal.QQAndroidBot$defaultBotLevelComponents$2.invoke(QQAndroidBot.kt:191) at net.mamoe.mirai.utils.LateinitMutableProperty.getValue(LateinitMutableProperty.kt:47) at net.mamoe.mirai.internal.QQAndroidBot.getDefaultBotLevelComponents(QQAndroidBot.kt:191) at net.mamoe.mirai.internal.QQAndroidBot.createNetworkLevelComponents(QQAndroidBot.kt:300) at net.mamoe.mirai.internal.QQAndroidBot$createNetworkHandler$1.invoke(QQAndroidBot.kt:312) at net.mamoe.mirai.internal.QQAndroidBot$createNetworkHandler$1.invoke(QQAndroidBot.kt:305) at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelectorKt$KeepAliveNetworkHandlerSelector$1.createInstance(AbstractKeepAliveNetworkHandlerSelector.kt:277) at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelector.refreshInstance(AbstractKeepAliveNetworkHandlerSelector.kt:249) at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelector.getCurrentInstanceOrCreate(AbstractKeepAliveNetworkHandlerSelector.kt:57) at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler.getContext(SelectorNetworkHandler.kt:51) at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler$scope$2.invoke(SelectorNetworkHandler.kt:54) at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler$scope$2.invoke(SelectorNetworkHandler.kt:53) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler.getScope(SelectorNetworkHandler.kt:53) at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler.access$getScope(SelectorNetworkHandler.kt:45) at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler.resumeConnection$suspendImpl(SelectorNetworkHandler.kt:130) at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler.resumeConnection(SelectorNetworkHandler.kt) at net.mamoe.mirai.internal.AbstractBot.login(AbstractBot.kt:145) at net.mamoe.mirai.Bot$login$1.invoke(Bot.kt:65535) at net.mamoe.mirai.Bot$login$1.invoke(Bot.kt) at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$1.invokeSuspend(IntrinsicsJvm.kt:205) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115) at me.him188.kotlin.jvm.blocking.bridge.internal.RunSuspendKt.$runSuspend$(RunSuspend.kt:18) at net.mamoe.mirai.Bot.login(Bot.kt) at com.mszq.bondqq.service.MiraiDemo.main(MiraiDemo.java:48) 14:48:00.829 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework 14:48:00.838 [DefaultDispatcher-worker-1] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 16 14:48:00.876 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024 14:48:00.877 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096 14:48:00.889 [DefaultDispatcher-worker-1] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false 14:48:00.890 [DefaultDispatcher-worker-1] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512 14:48:00.919 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows 14:48:00.922 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false 14:48:00.922 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 17 14:48:00.925 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available 14:48:00.927 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available 14:48:00.928 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available 14:48:00.933 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: unavailable java.lang.UnsupportedOperationException: Reflective setAccessible(true) disabled at io.netty.util.internal.ReflectionUtil.trySetAccessible(ReflectionUtil.java:31) at io.netty.util.internal.PlatformDependent0$4.run(PlatformDependent0.java:238) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at io.netty.util.internal.PlatformDependent0.<clinit>(PlatformDependent0.java:232) at io.netty.util.internal.PlatformDependent.isAndroid(PlatformDependent.java:289) at io.netty.util.internal.PlatformDependent.<clinit>(PlatformDependent.java:92) at io.netty.channel.nio.NioEventLoop.newTaskQueue0(NioEventLoop.java:279) at io.netty.channel.nio.NioEventLoop.newTaskQueue(NioEventLoop.java:150) at io.netty.channel.nio.NioEventLoop.<init>(NioEventLoop.java:138) at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:146) at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:37) at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84) at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58) at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:52) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:96) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:91) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:72) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:52) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:44) at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler.createConnection$suspendImpl(NettyNetworkHandler.kt:87) at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler.createConnection(NettyNetworkHandler.kt) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$1.invokeSuspend(CommonNetworkHandler.kt:241) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) 14:48:00.934 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true 14:48:00.936 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable java.lang.IllegalAccessException: class io.netty.util.internal.PlatformDependent0$6 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @402ffb25 at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392) at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:674) at java.base/java.lang.reflect.Method.invoke(Method.java:560) at io.netty.util.internal.PlatformDependent0$6.run(PlatformDependent0.java:352) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at io.netty.util.internal.PlatformDependent0.<clinit>(PlatformDependent0.java:343) at io.netty.util.internal.PlatformDependent.isAndroid(PlatformDependent.java:289) at io.netty.util.internal.PlatformDependent.<clinit>(PlatformDependent.java:92) at io.netty.channel.nio.NioEventLoop.newTaskQueue0(NioEventLoop.java:279) at io.netty.channel.nio.NioEventLoop.newTaskQueue(NioEventLoop.java:150) at io.netty.channel.nio.NioEventLoop.<init>(NioEventLoop.java:138) at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:146) at io.netty.channel.nio.NioEventLoopGroup.newChild(NioEventLoopGroup.java:37) at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84) at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58) at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:52) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:96) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:91) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:72) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:52) at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:44) at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler.createConnection$suspendImpl(NettyNetworkHandler.kt:87) at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler.createConnection(NettyNetworkHandler.kt) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$1.invokeSuspend(CommonNetworkHandler.kt:241) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) 14:48:00.937 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): unavailable 14:48:00.937 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available 14:48:00.961 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - maxDirectMemory: 4234149888 bytes (maybe) 14:48:00.961 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\Users\A\AppData\Local\Temp (java.io.tmpdir) 14:48:00.962 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model) 14:48:00.963 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: -1 bytes 14:48:00.963 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1 14:48:00.965 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.CleanerJava9 - java.nio.ByteBuffer.cleaner(): available 14:48:00.965 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false 14:48:00.981 [DefaultDispatcher-worker-1] DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available 14:48:01.307 [DefaultDispatcher-worker-1] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.processId: 21336 (auto-detected) 14:48:01.310 [DefaultDispatcher-worker-1] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false 14:48:01.311 [DefaultDispatcher-worker-1] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false 14:48:01.341 [DefaultDispatcher-worker-1] DEBUG io.netty.util.NetUtil - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1) 14:48:01.342 [DefaultDispatcher-worker-1] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200 14:48:01.456 [DefaultDispatcher-worker-1] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: 5c:ea:1d:ff:fe:4c:7b:59 (auto-detected) 14:48:01.474 [DefaultDispatcher-worker-1] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple 14:48:01.474 [DefaultDispatcher-worker-1] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 16 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 16 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 11 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 16777216 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64 14:48:01.519 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768 14:48:01.520 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192 14:48:01.520 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0 14:48:01.520 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: true 14:48:01.520 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023 14:48:01.540 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled 14:48:01.540 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0 14:48:01.540 [DefaultDispatcher-worker-1] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384 2023-07-06 14:48:01 V/Net 347129306: Validated caches. 2023-07-06 14:48:01 V/Net 347129306: No server list cached. 2023-07-06 14:48:03 I/Net 347129306: EncryptService SPI is not provided, sso secure ecdh will not be initialized. 2023-07-06 14:48:03 I/Net 347129306: ECDH key is invalid, start to fetch ecdh public key from server. 2023-07-06 14:48:03 I/Net 347129306: Successfully fetched ecdh public key from server. 2023-07-06 14:48:03 V/Net 347129306: [AuthControl/acquire] Acquiring auth method 2023-07-06 14:48:03 D/Net 347129306: [AuthControl/acquire] Authorization responded: Password@1950706152 2023-07-06 14:48:03 V/Net 347129306: Send: wtlogin.login(9:password-login) 14:48:03.484 [DefaultDispatcher-worker-5] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxCapacityPerThread: 4096 14:48:03.484 [DefaultDispatcher-worker-5] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.maxSharedCapacityFactor: 2 14:48:03.484 [DefaultDispatcher-worker-5] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.linkCapacity: 16 14:48:03.484 [DefaultDispatcher-worker-5] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.ratio: 8 14:48:03.484 [DefaultDispatcher-worker-5] DEBUG io.netty.util.Recycler - -Dio.netty.recycler.delayedQueue.ratio: 8 14:48:03.498 [nioEventLoopGroup-2-2] DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkAccessible: true 14:48:03.498 [nioEventLoopGroup-2-2] DEBUG io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.checkBounds: true 14:48:03.499 [nioEventLoopGroup-2-2] DEBUG io.netty.util.ResourceLeakDetectorFactory - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@5d6fc667 2023-07-06 14:48:03 W/Net 347129306: Failed with auth method: Password@1950706152 net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) 2023-07-06 14:48:03 V/Net 347129306: [AuthControl/resume] Fire auth failed with cause: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=) 2023-07-06 14:48:03 V/Net 347129306: Recv: wtlogin.login 2023-07-06 14:48:03 W/Net 347129306: Exception in resumeConnection. net.mamoe.mirai.internal.network.handler.selector.SelectorRequireReconnectException 2023-07-06 14:48:03 I/Net 347129306: ECDH key is valid. 2023-07-06 14:48:03 V/Net 347129306: [AuthControl/acquire] Acquiring auth method 2023-07-06 14:48:03 D/Net 347129306: [AuthControl/acquire] Authorization responded: Error[net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=)]@1067681146 2023-07-06 14:48:03 W/Net 347129306: Failed with auth method: Error[net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=)]@1067681146 net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Caused by: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) ... 5 more 2023-07-06 14:48:03 W/Net 347129306: Exception in resumeConnection. net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:249) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Caused by: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247) ... 6 more Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) ... 5 more Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=)] 2023-07-06 14:48:03 W/Net 347129306: Network selector received exception, closing bot. (net.mamoe.mirai.internal.network.components.LoginFailedExceptionAsNetworkException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.) Exception in thread "main" net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below. at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263) at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490) at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) ... 5 more Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(347129306), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=)] 2023-07-06 14:48:03 I/Bot 347129306: Bot cancelled: Bot closed 14:48:05.918 [nioEventLoopGroup-2-2] DEBUG io.netty.buffer.PoolThreadCache - Freed 3 thread-local buffer(s) from thread: nioEventLoopGroup-2-2
签名服务,8.9.58配置
{ "server": { "host": "0.0.0.0", "port": 8080 }, "key": "347129306", "reload_interval": 40, "protocol": { "qua": "V1_AND_SQ_8.9.58_4106_YYB_D", "version": "8.9.58", "code": "4106" }, "unidbg": { "dynarmic": false, "unicorn": true, "debug": false } }
签名服务器日志
KawaiiMiku Please input txlib version: 8.9.58 14:28:30.172 [main] INFO ktor.application - Autoreload is disabled because the development mode is off. 14:28:30.559 [main] INFO ktor.application - Application started in 0.426 seconds. 14:28:30.565 [main] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework 14:28:30.587 [main] DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false 14:28:30.587 [main] DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 11 14:28:30.589 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available 14:28:30.590 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available 14:28:30.590 [main] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.storeFence: available 14:28:30.591 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available 14:28:30.592 [main] DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: unavailable: Reflective setAccessible(true) disabled 14:28:30.593 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true 14:28:30.594 [main] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable: class io.netty.util.internal.PlatformDependent0$7 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @742d4e15 14:28:30.594 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): unavailable 14:28:30.595 [main] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available 14:28:30.627 [main] DEBUG io.netty.util.internal.PlatformDependent - maxDirectMemory: 4234149888 bytes (maybe) 14:28:30.627 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\Users\A\AppData\Local\Temp (java.io.tmpdir) 14:28:30.629 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model) 14:28:30.630 [main] DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows 14:28:30.631 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: -1 bytes 14:28:30.631 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1 14:28:30.632 [main] DEBUG io.netty.util.internal.CleanerJava9 - java.nio.ByteBuffer.cleaner(): available 14:28:30.632 [main] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false 14:28:31.060 [main] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 16 14:28:31.067 [main] DEBUG io.netty.util.concurrent.GlobalEventExecutor - -Dio.netty.globalEventExecutor.quietPeriodSeconds: 1 14:28:31.072 [main] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024 14:28:31.072 [main] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096 14:28:31.077 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false 14:28:31.077 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512 14:28:31.086 [main] DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available 14:28:31.120 [main] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.processId: 23932 (auto-detected) 14:28:31.125 [main] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false 14:28:31.125 [main] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false 14:28:31.508 [main] DEBUG io.netty.util.NetUtilInitializations - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1) 14:28:31.510 [main] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200 14:28:31.541 [main] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: 5c:ea:1d:ff:fe:4c:7b:59 (auto-detected) 14:28:31.550 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple 14:28:31.551 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4 14:28:31.571 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 16 14:28:31.572 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 16 14:28:31.574 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192 14:28:31.574 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 9 14:28:31.574 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 4194304 14:28:31.575 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256 14:28:31.575 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64 14:28:31.576 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768 14:28:31.576 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192 14:28:31.577 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0 14:28:31.578 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: false 14:28:31.578 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023 14:28:31.587 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled 14:28:31.589 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0 14:28:31.589 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384 14:28:31.609 [DefaultDispatcher-worker-2] INFO ktor.application - Responding at http://127.0.0.1:8080
-
@Continued 1.0.3 是有点问题的,当时太晚了没测试,今早提交 1.0.4 修了一点,等我一会推送 1.0.5 再试试,不过也不一定能用,我感觉测试那么多次我的ip已经被暂时拉黑了,没法测试。
-
@MrXiaoM 哦哦,谢谢回复! mirai-core对接签名有新版本就行,我都会试试。最近看到对接签名服务后,就基本能解决code=45,而在mirai-console-loader的整合包中,基本都能登录了。
但mirai-core很少有完整的对接方案,偏偏我的项目是mirai-core-jvm搭建的,而mirai-core-jvm的2.15正式版还没出来,我只能挨个试这些对接方法。如果mirai-core对接签名还是不太顺利的话,我可能得想办法把监听消息事件的逻辑放到mirai-console-loader运行了。 -
旧版模式已更新
-
请教一下
mirai-console 插件模式开发 怎么 加上这行代码呢?
// java
EncryptProvider.Factory factory = EncryptProvider.Factory.INSTANCE;
// 以后需要修改地址时使用 put(url, key)
factory.put("url", "key");
// 此处填写 cmd whitelist
factory.setCmdWhiteList(SignClient.Companion.getDefaultCmdWhiteList());
// 只需要注册一次
factory.registerAsOverride(); -
@zhangwenjing 你要不要看看帖子开头的提示和这个帖子发在哪个板块
-
@MrXiaoM 感谢修复!!按旧版模式测试,mirai-core-jvm项目引入KawaiiMiku-0.1.5,能对接unidbg-fetch-qsign-1.1.0,一些风控qq能以手机协议登录,有所改善。
另外发现,项目还要引入mirai-login-solver-sakura、miglayout-swing依赖,使用solver-sakura验证,不然完成滑动验证后,可能报code=237。
此外,有几个问题想请问下:- doc文档说旧版模式仅支持单个bot登录。如果想启动多个bot,需要使用同一协议,设备信息使用同一androidId。 同一协议好弄,但android_id是device.json生成的,能保证统一吗?
此外txlib/8.9.58/config.json的"key"字段,看着只能填一个qq号,旧版模式应该要启动多个Sign服务实例,以不同的端口区分,才能满足多个bot登录吧? - device.json生成时,不能引入mirai-device-generator的原因,是因为它生成android_id格式不符合吗?
- 测试对接unidbg-fetch-qsign-1.1.3,确实会抛出Received packet returnCode = -10005,这是签名服务器的问题吗,还是对接模块未完善的逻辑?
- doc文档说旧版模式仅支持单个bot登录。如果想启动多个bot,需要使用同一协议,设备信息使用同一androidId。 同一协议好弄,但android_id是device.json生成的,能保证统一吗?
-
- 你可以修改 device.json 使 androidId 一致。
- config.json 是新版的配置,旧版是不读的。旧版只有两个 .so,没有那两个 .json 文件,并且旧版需要在启动脚本中提供 androidId 等参数。
- 新版的机制改变了,通过
register
接口将账号对应的 androidId 等参数传入签名服务,不用自己手动传参。 - key 是
密钥
不是QQ号
,是用于新版的 register 接口鉴权的,key 不正确就无法传入参数。 - mirai-device-generator 1.2.0 还没有适配版本为3的新版 mirai 设备信息,会导致无法生成 androidId,而自动使用 display 的值,导致 androidId 格式错误。
- 新版的签名服务器确实有问题,cssxsh 在修,等测试稳定后他会放出修复的方案。
另外我不推荐在旧版模式下登录多个 bot,目前 KawaiiMiku 的旧版模式没有为多 bot 设计。如果你需要,可以拉取源代码进行修改,让不同 bot 指向不同的签名服务地址。
旧版模式不需要填key,用不到。 -
请问这个是哪个没引入呢 -
@zhangwenjing 请使用 2.15.0-dev-105
-
目前按照旧版部署, 已ok 感谢大佬
-
请问一下我缺失了 top.mrxiaom.mirai.kawaii文件夹和里面的config.yml怎么办
我按照流程安装后目录是:
config文件夹里面是
我在几个帖子和github上全局检索都搜不到top.mrxiaom.mirai.kawaii文件夹有关信息 -
@jijibooo 说明你没有安装插件
-
依然不行啊。。。难道是我的号黑了吗。。。
===================================[ Mirai console 2.15.0 ]===================================
| \ / \ \ | / \ |
| ▓▓\ / ▓▓\▓▓ ______ ______ \▓▓ ▓▓▓▓▓▓\ ______ _______ _______ ______ | ▓▓ ______
| ▓▓▓\ / ▓▓▓ / \ | | \ ▓▓ \▓▓/ | \ / / | ▓▓/
| ▓▓▓▓\ ▓▓▓▓ ▓▓ ▓▓▓▓▓▓\ \▓▓▓▓▓▓\ ▓▓ ▓▓ | ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\ ▓▓▓▓▓▓▓ ▓▓▓▓▓▓\ ▓▓ ▓▓▓▓▓▓
| ▓▓\▓▓ ▓▓ ▓▓ ▓▓ ▓▓ \▓▓/ ▓▓ ▓▓ ▓▓ | ▓▓ | ▓▓ ▓▓ | ▓▓\▓▓ | ▓▓ | ▓▓ ▓▓ ▓▓ ▓▓
| ▓▓ \▓▓▓| ▓▓ ▓▓ ▓▓ | ▓▓▓▓▓▓▓ ▓▓ ▓▓/ \ ▓▓__/ ▓▓ ▓▓ | ▓▓_\▓▓▓▓▓▓\ ▓▓__/ ▓▓ ▓▓ ▓▓▓▓▓▓▓▓
| ▓▓ \▓ | ▓▓ ▓▓ ▓▓ \▓▓ ▓▓ ▓▓\▓▓ ▓▓\▓▓ ▓▓ ▓▓ | ▓▓ ▓▓\▓▓ ▓▓ ▓▓\▓▓
\▓▓ \▓▓\▓▓\▓▓ \▓▓▓▓▓▓▓\▓▓ \▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓\▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓▓▓▓▓▓2023-07-11 18:55:14 I/main: Backend: version 2.15.0, built on 2023-07-11 04:57:17.
2023-07-11 18:55:14 I/main: Frontend Terminal: version 2.15.0, provided by Mamoe Technologies
2023-07-11 18:55:14 I/main: Welcome to visit https://mirai.mamoe.net/
2023-07-11 18:55:16 I/plugin: Successfully loaded plugin Chat Command v0.6.0
2023-07-11 18:55:16 I/fix-protocol-version: 协议版本检查更新...
2023-07-11 18:55:16 I/fix-protocol-version: 注册服务...
2023-07-11 18:55:16 I/fix-protocol-version: 服务配置文件 file:///C:/Users/Administrator/Desktop/Mirai/KFCFactory.json
2023-07-11 18:55:16 I/plugin: Successfully loaded plugin fix-protocol-version v1.9.4
2023-07-11 18:55:17 W/KawaiiMiku: 若使用本插件,即代表你信任本插件获取 qmiei、guid 等信息用于调用签名服务
2023-07-11 18:55:17 W/KawaiiMiku: 警告为信息安全相关的警告,如果你信任本插件,可忽略该警告
2023-07-11 18:55:17 W/EncryptService.alert: Encrypt service was loaded: top.mrxiaom.mirai.kawaii.EncryptProvider$Factory@2baf72d5
2023-07-11 18:55:17 W/EncryptService.alert: All outgoing message may be leaked by this service.
2023-07-11 18:55:17 W/EncryptService.alert: Use this service if and only if you trusted this service and the service provider.
2023-07-11 18:55:17 W/EncryptService.alert: Service details:
2023-07-11 18:55:17 W/EncryptService.alert:- Jvm Class: class top.mrxiaom.mirai.kawaii.EncryptProvider$Factory 2023-07-11 18:55:17 W/EncryptService.alert:
- ClassLoader: JvmPluginClassLoader{KawaiiMiku-0.1.5.mirai2.jar}
2023-07-11 18:55:17 W/EncryptService.alert:- Source: file:/C:/Users/Administrator/Desktop/Mirai/plugins/KawaiiMiku-0.1.5.mirai2.jar 2023-07-11 18:55:17 W/EncryptService.alert:
- Protected Domain: ProtectionDomain (file:/C:/Users/Administrator/Desktop/Mirai/plugins/KawaiiMiku-0.1.5.mirai2.jar <no signer certificates>)
JvmPluginClassLoader{KawaiiMiku-0.1.5.mirai2.jar}
<no principals>
java.security.Permissions@25ad25f5 (
("java.io.FilePermission" "C:\Users\Administrator\Desktop\Mirai\plugins\KawaiiMiku-0.1.5.mirai2.jar" "read")
)2023-07-11 18:55:17 I/KawaiiMiku: Registered service: top.mrxiaom.mirai.kawaii.EncryptProvider
2023-07-11 18:55:17 I/plugin: Successfully loaded plugin KawaiiMiku v0.1.5
2023-07-11 18:55:17 I/plugin: Successfully loaded plugin mirai-api-http v2.9.1
2023-07-11 18:55:17 I/QRLogin: Loading QRLogin v0.1.9
2023-07-11 18:55:17 W/QRLogin: 本插件仅在 2.15.0 或以上工作,且在正式版或先行发布版(RC)中可能无法使用
2023-07-11 18:55:17 I/plugin: Successfully loaded plugin QRLogin v0.1.9
2023-07-11 18:55:17 I/plugin: Successfully loaded plugin mirai-login-solver-sakura v0.0.10
2023-07-11 18:55:17 I/plugin: Successfully loaded plugin arknights-helper v2.1.7
2023-07-11 18:55:17 I/plugin: Successfully loaded plugin MCL Addon v2.1.1
2023-07-11 18:55:18 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop
2023-07-11 18:55:18 I/fix-protocol-version: 当前各协议版本日期:
ANDROID_PHONE 8.9.58.11170 2023-05-19T11:35+08:00
ANDROID_PAD 8.9.58.11170 2023-05-19T11:35+08:00
ANDROID_WATCH 2.0.8 2019-06-03T20:25:31+08:00
IPAD 8.9.50.611 2023-02-16T15:10:14+08:00
MACOS 6.8.2.21241 2022-03-14T11:11:35+08:002023-07-11 18:55:18 I/Mirai HTTP API: ********************************************************
2023-07-11 18:55:18 I/MahKtorAdapter[http,ws]: Autoreload is disabled because the development mode is off.
2023-07-11 18:55:18 I/MahKtorAdapter[http,ws]: Application started in 0.205 seconds.
2023-07-11 18:55:18 I/MahKtorAdapter[http,ws]: Responding at http://127.0.0.1:33111
2023-07-11 18:55:18 I/http adapter: >>> [http adapter] is listening at http://127.0.0.1:33111
2023-07-11 18:55:18 I/ws adapter: >>> [ws adapter] is listening at ws://127.0.0.1:33111
2023-07-11 18:55:18 I/Mirai HTTP API: Http api server is running with verifyKey: Alex1911
2023-07-11 18:55:18 I/Mirai HTTP API: adaptors: [http,ws]
2023-07-11 18:55:18 I/Mirai HTTP API: ********************************************************
2023-07-11 18:55:18 I/QRLogin: 正在启用插件 QRLogin v0.1.9
2023-07-11 18:55:18 I/QRLogin: Mirai 版本: 2.15.0
2023-07-11 18:55:18 I/MCL Addon: iTXTech MCL Version: 2.1.2-61c8bd8
2023-07-11 18:55:18 W/MCL Addon: iTXTech Soyuz 未安装,Soyuz MCL Handler 特性已禁用
2023-07-11 18:55:18 I/main: 8 plugin(s) enabled.
2023-07-11 18:55:18 I/main: Auto-login 8, protocol: ANDROID_PHONE, heartbeatStrategy: STAT_HB
2023-07-11 18:55:19 W/EncryptProvider: HTTP GET ERROR 404 Not Found, url = http://127.0.0.1:8080/register?uin=&android_id=e5f8008f01c2bdd3&guid=C18E3BBBFE9F425AA740AC6DC1BAB022&qimei36=8e7d3898aa6898a064267ffc10001061730d&key=114514
2023-07-11 18:55:20 W/EncryptProvider: ERROR ON http://127.0.0.1:8080/sign,
code = 1, msg = lack of qua
2023-07-11 18:55:20 I/Bot.: Calculating type 2 PoW, it can take some time....
2023-07-11 18:55:20 I/Bot.: Got PoW result, cost: 165 ms
2023-07-11 18:55:41 W/EncryptProvider: ERROR ON http://127.0.0.1:8080/sign,
code = 1, msg = lack of qua
2023-07-11 18:55:41 I/Bot.*******: Bot cancelled: Bot closed
2023-07-11 18:55:41 E/main: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263)
at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
... 5 more
Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(), code=45, title=禁止登录, message=登录失败,建议升级最新版本后重试,或通过问题反馈与我们联系。, errorInfo=)]2023-07-11 18:55:41 V/Bot.********: Event: net.mamoe.mirai.console.events.AutoLoginEvent$Failure@665ed71a
2023-07-11 18:55:41 I/main: mirai-console started successfully.
2023-07-11 18:55:41 I/arknights-helper: 蹲饼监听已开启
2023-07-11 18:56:01 W/arknights-helper: 明日方舟 视频 MUSIC 数据加载失败
io.ktor.client.plugins.ResponseException: Bad response: HttpResponse[https://api.bilibili.com/x/space/wbi/arc/search?mid=161775300&ps=50&pn=1&order=pubdate&tid=3&jsonp=jsonp&wts=1689072961&w_rid=301d038bf400206fdc0afd718f1ed379, 200 ]. Text: "{"code":-403,"message":"访问权限不足","ttl":1}"
at arknights-helper-2.1.7.mirai2.jar//xyz.cssxsh.arknights.bilibili.VideoDataHolder$load$history$2.invokeSuspend(VideoDataHolder.kt:90)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) -
code=45 已经解决了,现在成功的变成了稳定报 code=237了。。。。
-
This post is deleted! -
@qianxue 用的什么方法解决的呀