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

支持签名服务器 #2716

Closed
ghost opened this issue Jun 28, 2023 · 10 comments
Closed

支持签名服务器 #2716

ghost opened this issue Jun 28, 2023 · 10 comments
Labels
t:feature 类型: 新特性

Comments

@ghost
Copy link

ghost commented Jun 28, 2023

Mrs4s/go-cqhttp#2245 已经通过支持第三方签名服务器解决了登录问题,目前使用了一天没有遇到问题,mirai这边是否也考虑支持一下?

@ghost ghost added the t:feature 类型: 新特性 label Jun 28, 2023
@WorldLeen
Copy link

同求 现在mirai基本没法正常工作 但gocq有了签名服务器之后就很稳定了

@diyigemt
Copy link

真的很稳定吗?Mrs4s/go-cqhttp#2249

@miraiuser9528
Copy link

真的很稳定吗?Mrs4s/go-cqhttp#2249

基本稳定的啊,目前体验是:挂上去1小时内基本必定封号一次,之后人脸识别完,之后就好了不封了。

报告反复冻结的很少。

@Nekoer
Copy link
Contributor

Nekoer commented Jun 29, 2023

不推荐使用,目前容易冻结,而且目前有消息有人被封了90天

@miraiuser9528
Copy link

不推荐使用,目前容易冻结,而且目前有消息有人被封了90天

个例吧,好几个群都没听说,二次冻结的倒是有
然后大部分是人脸识别一次解冻后就正常群消息了

不推荐使用也没辙啊,现在8.88被针对,8.9登不上,手表发不出群消息,更难受啊。
然后现在解决方法也只能是换号,而且换的号还不一定能登录。

@StageGuard
Copy link
Member

StageGuard commented Jun 29, 2023

mirai 并不会考虑内置任何第三方 签名/加密 服务,而是提供 SPI 让用户自行实现。
mirai 目前已经在 core/pkgsso 支持了外部 EncryptService SPI,在稳定后会合并进主分支(随 2.15.0 发布),届时会有社区对接各种第三方签名服务。

@StageGuard
Copy link
Member

合并了再关闭吧

@StageGuard StageGuard reopened this Jun 29, 2023
@WorldLeen
Copy link

WorldLeen commented Jun 29, 2023

mirai 目前已经在 core/pkgsso 支持了外部 EncryptService SPI,在稳定后会合并进主分支(随 2.15.0 发布),届时会有社区对接各种第三方签名服务。

太好了,能给个链接地址吗,我立刻部署试试看

@miraiuser9528
Copy link

mirai 并不会考虑内置任何第三方 签名/加密 服务,而是提供 SPI 让用户自行实现。 mirai 目前已经在 core/pkgsso 支持了外部 EncryptService SPI,在稳定后会合并进主分支(随 2.15.0 发布),届时会有社区对接各种第三方签名服务。

太好了,简直振奋人心

@StageGuard
Copy link
Member

StageGuard commented Jun 29, 2023

mirai 目前已经在 core/pkgsso 支持了外部 EncryptService SPI,在稳定后会合并进主分支(随 2.15.0 发布),届时会有社区对接各种第三方签名服务。

太好了,能给个链接地址吗,我立刻部署试试看,我将组成头部 :)

(已过时)

克隆 core/pkgsso 分支,查看 EncryptService.kt 了解对接方法。
可以通过以下方式实现该接口(以 console 插件为例):

构建 core/pkgsso 分支,发布到 Maven Local

查看contributing/README.md

配置环境

build.gradle

plugins {
    ...
    id 'net.mamoe.mirai-console' version '2.15.0-RC'
}

dependencies {
    compileOnly "net.mamoe:mirai-core:<your local version>"
    compileOnly "net.mamoe:mirai-core-utils-jvm:<your local version>"
}

实现接口

package com.example;
import net.mamoe.mirai.internal.spi.EncryptService;

public class YourEncryptService implements EncryptService {

}

需要注意的是,EncryptService SPI 是 core internal 的,导入 EncryptService 时会有错误提示。

在 Java 忽略即可,在 Kotlin 则添加 IDE 给出 suppress。

注册实现

public final class ConsolePluginMode extends JavaPlugin {
    @Override
    public void onLoad(@NotNull PluginComponentStorage storage) {
        Services.INSTANCE.register(
                "net.mamoe.mirai.internal.spi.EncryptService",
                "com.example.YourEncryptService",
                YourEncryptService::new
        );
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t:feature 类型: 新特性
Projects
None yet
Development

No branches or pull requests

6 participants