mirai Bot初始化配置

RT

其实本来我的bot已经因为自己手贱登陆qq nt直接报废了,但是论坛里有佬提供了新的协议库,那这不赶紧复活bot都对不起这个新的协议库。
本文写于2024年7月4日19:20:21,可能随着时间久远而无法实现功能。

mirai 是一个在全平台下运行,提供 QQ Android 协议支持的开源高效率机器人库
这个项目的名字来源于
京都动画作品《境界的彼方》的栗山未来(Kuriyama mirai)
CRYPTON以初音未来为代表的创作与活动(Magical mirai)
图标以及形象由画师DazeCake绘制
项目地址:https://github.com/mamoe/mirai

由于存在下载障碍,所以这里也搞了个存档,本帖中的相关标星*资源无法下载均可以从这里拿走,由于本帖不会进行版本跟进,若年代过于久远请以最新为准,本帖中的一些配置可能需要后续随着引用贴的更新进行调整。
https://orisland.lanzoul.com/b0maqsrkj
密码:53cs
本帖使用xshell+xftp作为ssh连接软件 *。

特别感谢: @zhaodice

本帖适用于

  • 刚刚接触mirai不知道如何登录的新手
  • 因为安全问题不想使用整合包的选手
  • 已经知晓你的账户登录信息和收发的信息会全部被注册服务器知晓的选手
  • 稍微有一些Linux基础或乐于折腾的选手
  • 对使用协议库登陆bot可能造成的后果有心理承受力的选手
  • ....

过程中需要使用的项目

必须安装

可选安装(插件)

详细步骤

注册一个qq号

https://ssl.zc.qq.com/v3/index-chs.html

需绑定手机,非常不推荐使用一些批量注册的qq号,或者来源不明的qq号,这些账号被风控的可能性会更高,而且不安全,容易被杀。

准备一台服务器或vps

请注意,为了bot能长期稳定运行考虑,应尽可能避免海外云主机。
阿里云腾讯云,等等各大云服务厂商提供了各种型号的学生机供你选择。
从省钱划算的角度考虑,推荐考虑的配置为1c或2c配置,内存在1g到2g即可满足bot的运行需要,甚至还能再挂个宝塔,个人推荐最低使用轻量级云服务器即可,ecs或者类似的服务器也可以,这个没有特别大的区别。
alt text
alt text

当然因为bot本身不需要公网环境,所以如果你自己有闲置的服务器或者低功耗设备(比如nas,软路由,各种小盒子等等),也可以在自己的服务器或者设备上进行bot搭建,相同网络环境下,机器人被搞的概率和频率会小的多。可以使用目录调整到最下方,查看作为彩蛋的HomeLab硬件推荐。

系统选择

使用centos8或者ubuntu/debian等。
本文以目前比较常用的Ubuntu22作为bot的搭建平台进行。

初始系统配置

本文默认你已经对ubuntu的apt源进行了更换,已经对ubuntu做了基本的初始配置,例如挂载磁盘,update等操作。

如果你是在消费级硬件上进行搭建,请注意ubuntu时区可能有误,需要使用命令进行调整。
timedatectl set-timezone Asia/Shanghai

安装mirai

由于本文在进行编撰的过程中,mirai论坛本身处于被墙状态,mcl安装的必要资源package.json会出现问题,所以本文选择通用的安装方式,不使用mcl一键安装。若之后论坛网络访问恢复,更推荐考虑mcl一键安装更为省事,使用mcl一键安装可以跳转到下一章节--必要插件安装。
这里引用mcl项目提供的安装方案。
https://github.com/iTXTech/mcl-installer

为服务器安装java,不同系统以当前系统为准。

apt install openjdk-17-jre-headless -y

安装完成后检查版本。

java -verison

alt text

手动下载mcl压缩包
https://maven.aliyun.com/repository/public/org/itxtech/mcl/2.1.2/mcl-2.1.2.zip
解压到需要安装的mirai目录中,省事考虑可以对mirai文件夹整体给777权限。
本文默认mirai目录为/root/mirai,如果懒得对命令进行修改,请创建到相同目录。

chmod -R 777 /root/mirai

启动mcl.jar对mirai进行安装。

java -jar mcl.jar

安装过程中你必须完整的看完mirai的用户须知,不可取消和跳过,这对于之后的排错和处理非常重要。

2024-07-04 07:36:14 I/main: mirai-console started successfully.

mirai本体基本安装完成。
ctrl + cexit退出mirai进行后续安装。

必要插件/软件安装

安装手机模拟器(本帖以雷电为例)
前往github
下载fix-protocol-version *
https://github.com/cssxsh/fix-protocol-version/releases/download/v1.13.0/fix-protocol-version-1.13.0.mirai2.jar
下载mirai-login-solver-sakura *
https://github.com/KasukuSakura/mirai-login-solver-sakura/releases/download/v0.0.12/apk-release.apk

打开雷电模拟器,安装mirai-login-solver-sakura,打开备用。
alt text
alt text

fix-protocol-version上传到mirai目录下的plugins目录内,此时plugins内应包含三个文件。
alt text

前往下面的地址,本页后续还需要使用,不要关闭。
https://mirai.mamoe.net/category/13/使用交流
复制协议配置文件
alt text
在mirai的根目录中输入命令

nano android_pad.json

在控制台中右击屏幕,粘贴配置。
alt text
进行保存退出。
ctrl + x
y
回车

忘掉之前启动mirai的方式,之后使用./mcl -u进行启动。

协议配置

使用./mcl -u 启动mirai。
等待加载完成后输入命令

protocol load ANDROID_PAD

出现如下提示时协议信息导入完成。
alt text
检查当前的协议库中的协议版本。
alt text
退出mirai。

回到刚才的页面,复制该部分。
alt text

来到mirai根目录输入命令,

mv KFCFactory.json KFCFactory.json.bak
nano KFCFactory.json

将刚才复制的文本在这里粘贴并和之前一样进行保存,注意删除结尾的逗号
alt text

使用命令重新启动mirai。
启动完成无报错后,则协议库配置完毕。

登陆账号

./mcl -u
请注意,下面的过程可能需要一些手速,过慢的验证您可能需要反复进行下面的步骤,过多的重试可能会增加账号冻结的风险性,请注意。
登陆qq。

login botqq号 bot密码 ANDROID_PAD

若之前的配置全部没有问题,在mirai启动后登陆账号密码会提示注册成功。

2024-07-04 16:23:04 I/UnidbgFetchQsign: Bot(1145141919) register, 注册成功了您嘞!

之后可以在屏幕中找到下列类似地址,此时,需要尽可能快的将这串地址https://ti.qq.com/.... 复制到刚才开的模拟器中的框框中,并单击下一步.

[SliderCaptcha] Captcha link:https://ti.qq.com/safe/tools/captcha/sms-verify-login....

alt text
在经过简单的图形验证后,会弹出ticket,立即复制该ticket
alt text
回到ssh,在ticket栏进行粘贴,并回车,如果一切顺利,你会看到下面图片中的显示,即确认发送手机验证码。
alt text
输入yes后回车,将手机上收到的验证码填入对应栏目后回车,登陆完成。

注意本阶段有一次发送短信前的确认步骤,手动输入yes,不要在上面步骤就开始傻等短信。

alt text

mirai测试登陆过程全部结束。

为bot添加自动登录,让mirai每次启动后自动登录。
退出mirai,下面的步骤必须退出mirai之后才能进行,下列命令的实际路径以你的本地mirai的为准。

由于miria在退出时会回写配置,故所有的配置需在mirai关闭时进行。

nano /root/mirai/config/Console/AutoLogin.yml

在编辑器中添加你的bot信息,注意箭头这里必须修改为刚才导入的ANDROID_PAD不能使用默认的ANDROID_PHONE.
alt text
保存退出。
重新启动mirai,发现mirai自动登录完成。
alt text

非必须插件安装

本项目不是必须安装的,只作为安装演示。
有些插件支持使用mcl进行安装,有些只能手动下载jar包上传plugins目录安装
推荐安装Chat Commandluckperms - Mirai,前者为命令插件,后者为权限管理插件。
在mirai根目录分别执行下面的两条命令后,下次启动后自动安装下载这两个插件。

./mcl --update-package net.mamoe:chat-command --channel maven-stable --type plugin
./mcl --update-package io.github.karlatemp:luckperms --channel nightly --type plugin

完成后./mcl -u,启动等待完成即可。

配置启动

本文提供两种后台运行mirai的方式,二选一即可。
如果不进行下面的配置,当你断开ssh时,mirai也同样会中断运行

screen
screen为多重视窗管理程序
https://www.runoob.com/linux/linux-comm-screen.html

输入命令,创建mirai窗口

screen -S mirai

在这个窗口中启动mirai.
使用这种方式方便随时管理和查看,以及sj群友行为。
之后你可以直接断开ssh,mirai不会停止运行
当需要再次查看该screen 窗口时,只需要输入命令进行切换。

screen -r mirai

systemctl
systemctl是 Systemd 的主命令,用于管理系统。
https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

创建启动服务。

nano /etc/systemd/system/mirai.service

将下面的内容写入文件保存,注意对需要的部分进行修改。
ExecStartWorkingDirectory的变量。

[Unit]
Description=Mirai Bot
After=network.target

[Service]
Type=simple
ExecStart=/root/mirai/mcl
ExecStop=/bin/kill -9 $MAINPID
Restart=on-failure
User=root
WorkingDirectory=/root/mirai
StandardOutput=append:/root/mirai/log.log
StandardError=append:/root/mirai/log.log

[Install]
WantedBy=multi-user.target

重载systemctl。

systemctl daemon-reload

将bot启动设置为开机自启。

systemctl enable mirai.service

启动mirai。

systemctl start mirai.service

检查mirai状态。

systemctl status mirai.service

alt text

HomeLab相关推荐

本章节为彩蛋部分,只为想在自家运行bot的选手提供一些参考。
mirai运行需要的性能很低,当然这个也和你安装的插件数量以及插件的代码效率相关。
所以如果你想在家里配置一台设备运行mirai,配置自然是越低越好,功耗自然是越低越好,最理想的方式是插个网线放窗台,使用免费的核聚变供电。
推荐硬件配置:

  • 树莓派(arm平台)
  • e3 1265lv3 这个带集显tdp45w,可以关闭超线程
  • e3 1220lv3 不带集显13w,可以配合超微C7Z97-MF板载集显实现超低功耗
  • i3 6100t 带集显tdp只有35w
  • BV1JY4y117vH
  • epyc系列
  • j1900
  • .....

推荐使用纯ECC / Regecc(大部分家用设备不支持后者),d5平台消费级主板只能使用消费级内存条,纯ecc和regecc都不能用。

电源必须使用一线或准一线品质对于设备本身的稳定性至关重要。

推荐软件配置:
proxmox作为母鸡系统启动虚拟化。
目前测试该系统可以在消费级硬件无故障的情况下实现高负载400d+的使用,下图升级过版本,进行了一次停机,实际在线时间已经将近500d。
alt text

后日谈

待补充。

完成

好耶!
猛猛安装插件。
alt text
alt text

posted @ 2024-07-04 19:26  Orisland  阅读(24)  评论(0编辑  收藏  举报