大佬们求助, 我是参考这个教程部署的mirai: https://www.bilibili.com/read/cv25116207?from=articleDetail
但是在签名服务 卡住了。
我在KFCFactory.json就修改了第二行的8.9.63

{ "8.9.63": { "base_url": "http://127.0.0.1:8080", "type": "fuqiuluo/unidbg-fetch-qsign", "key": "114514" }, "0.1.0": { "base_url": "http://127.0.0.1:8888", "type": "kiliokuara/magic-signer-guide", "server_identity_key": "vivo50", "authorization_key": "kfc" }, "8.8.88": { "base_url": "http://127.0.0.1:80", "type": "TLV544Provider" } }

启动mcl显示的也是

ANDROID_PHONE 8.9.63.11390 2023-05-25T20:46:18-06:00 ANDROID_PAD 8.9.63.11390 2023-05-25T20:46:18-06:00 ANDROID_WATCH 2.0.8 2019-06-03T07:25:31-05:00 IPAD 8.9.50.611 2023-02-16T01:10:14-06:00 MACOS 6.8.2.21241 2022-03-13T21:11:35-06:00

但用/login登录报错了

2023-07-22 20:30:32 W/EncryptService.alert: Encrypt service was loaded: KFCFactory(config=file:///G:/mirai_bot/KFCFactory.json) 2023-07-22 20:30:32 W/EncryptService.alert: All outgoing message may be leaked by this service. 2023-07-22 20:30:32 W/EncryptService.alert: Use this service if and only if you trusted this service and the service provider. 2023-07-22 20:30:32 W/EncryptService.alert: Service details: 2023-07-22 20:30:32 W/EncryptService.alert: `- Jvm Class: class xyz.cssxsh.mirai.tool.KFCFactory 2023-07-22 20:30:32 W/EncryptService.alert: `- ClassLoader: JvmPluginClassLoader{fix-protocol-version-1.9.9.mirai2.jar} 2023-07-22 20:30:32 W/EncryptService.alert: `- Source: file:/G:/mirai_bot/plugins/fix-protocol-version-1.9.9.mirai2.jar 2023-07-22 20:30:32 W/EncryptService.alert: `- Protected Domain: ProtectionDomain (file:/G:/mirai_bot/plugins/fix-protocol-version-1.9.9.mirai2.jar <no signer certificates>) JvmPluginClassLoader{fix-protocol-version-1.9.9.mirai2.jar} <no principals> java.security.Permissions@18f4c12 ( ("java.io.FilePermission" "G:\mirai_bot\plugins\fix-protocol-version-1.9.9.mirai2.jar" "read") ) 2023-07-22 20:30:32 I/KFCFactory: ANDROID_PHONE(8.9.63) server type: fuqiuluo/unidbg-fetch-qsign, file:///G:/mirai_bot/KFCFactory.json 2023-07-22 20:30:32 W/Bot.3661476008: KFCFactory(config=file:///G:/mirai_bot/KFCFactory.json) is not yet supported EncryptService with bot Bot(3661476008) java.lang.UnsupportedOperationException: repeated create EncryptService at fix-protocol-version-1.9.9.mirai2.jar//xyz.cssxsh.mirai.tool.KFCFactory.createForBot(KFCFactory.kt:79) 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.QQAndroidBot.getComponents(QQAndroidBot.kt:189) at net.mamoe.mirai.internal.AbstractBot.login(AbstractBot.kt:154) at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.doLogin$suspendImpl(LoginCommandImpl.kt:40) at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.doLogin$mirai_console(LoginCommandImpl.kt) at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.handle(LoginCommandImpl.kt:99) at net.mamoe.mirai.console.command.BuiltInCommands$LoginCommand.handle(BuiltInCommands.kt:202) at net.mamoe.mirai.console.command.BuiltInCommands$LoginCommand.handle$default(BuiltInCommands.kt:196) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Static.call(CallerImpl.kt:106) at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:173) at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:339) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt) at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:84) at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt) at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:168) at net.mamoe.mirai.console.command.CommandManager.executeCommand$suspendImpl(CommandManager.kt:131) at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt) at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt) at net.mamoe.mirai.console.terminal.ConsoleThreadKt$startupConsoleThread$3.invokeSuspend(ConsoleThread.kt:187) 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) 2023-07-22 20:30:32 I/Bot.3661476008: Bot cancelled: Bot closed Login failed: 请检查 unidbg-fetch-qsign by http://127.0.0.1:8080 的可用性 2023-07-22 20:30:32 E/console: java.lang.RuntimeException: 请检查 unidbg-fetch-qsign by http://127.0.0.1:8080 的可用性 java.lang.RuntimeException: 请检查 unidbg-fetch-qsign by http://127.0.0.1:8080 的可用性 at fix-protocol-version-1.9.9.mirai2.jar//xyz.cssxsh.mirai.tool.KFCFactory.createForBot(KFCFactory.kt:117) 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.console.internal.command.builtin.LoginCommandImpl.doLogin$suspendImpl(LoginCommandImpl.kt:40) at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.doLogin$mirai_console(LoginCommandImpl.kt) at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.handle(LoginCommandImpl.kt:99) at net.mamoe.mirai.console.command.BuiltInCommands$LoginCommand.handle(BuiltInCommands.kt:202) at net.mamoe.mirai.console.command.BuiltInCommands$LoginCommand.handle$default(BuiltInCommands.kt:196) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Static.call(CallerImpl.kt:106) at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:173) at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:339) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt) at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt) at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:84) at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt) at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:168) at net.mamoe.mirai.console.command.CommandManager.executeCommand$suspendImpl(CommandManager.kt:131) at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt) at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt) at net.mamoe.mirai.console.terminal.ConsoleThreadKt$startupConsoleThread$3.invokeSuspend(ConsoleThread.kt:187) 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: java.net.ConnectException: Connection refused: connect at java.base/sun.nio.ch.Net.connect0(Native Method) at java.base/sun.nio.ch.Net.connect(Unknown Source) at java.base/sun.nio.ch.Net.connect(Unknown Source) at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source) at java.base/java.net.Socket.connect(Unknown Source) at java.base/java.net.Socket.connect(Unknown Source) at java.base/sun.net.NetworkClient.doConnect(Unknown Source) at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source) at java.base/sun.net.www.http.HttpClient.<init>(Unknown Source) at java.base/sun.net.www.http.HttpClient.New(Unknown Source) at java.base/sun.net.www.http.HttpClient.New(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.base/java.net.URL.openStream(Unknown Source) at kotlin.io.TextStreamsKt.readBytes(ReadWrite.kt:149) at fix-protocol-version-1.9.9.mirai2.jar//xyz.cssxsh.mirai.tool.KFCFactory.createForBot(KFCFactory.kt:104) ... 50 more

大佬们求助