RT
其实本来我的bot已经因为自己手贱登陆qq nt直接报废了,但是论坛里有佬提供了新的协议库,那这不赶紧复活bot都对不起这个新的协议库。
本文写于2024年7月4日19:20:21,可能随着时间久远而无法实现功能。
由于存在下载障碍,所以这里也搞了个存档,本帖中的相关标星*资源无法下载均可以从这里拿走,由于本帖不会进行版本跟进,若年代过于久远请以最新为准,本帖中的一些配置可能需要后续随着引用贴的更新进行调整。
https://orisland.lanzoul.com/b0maqsrkj
密码:53cs
本帖使用xshell+xftp
作为ssh连接软件 *。
特别感谢: @zhaodice
本帖适用于
- 刚刚接触mirai不知道如何登录的新手
- 因为安全问题不想使用整合包的选手
- 已经知晓你的账户登录信息和收发的信息会全部被注册服务器知晓的选手
- 稍微有一些Linux基础或乐于折腾的选手
- 对使用协议库登陆bot可能造成的后果有心理承受力的选手
- ....
过程中需要使用的项目
必须安装
- https://mirai.mamoe.net/topic/2673/试图复活qsign-基于9-0-56版本-再捞一把 @zhaodice
- https://github.com/iTXTech/mcl-installer
- https://github.com/cssxsh/fix-protocol-version
- https://github.com/KasukuSakura/mirai-login-solver-sakura
- 任意手机模拟器(本教程以雷电为例,海外版没有广告,广告ptsd可以选海外版)
- ..
可选安装(插件)
- https://github.com/project-mirai/chat-command
- https://mirai.mamoe.net/topic/68/luckperms-mirai-高级权限服务插件
- https://mirai.mamoe.net/topic/2645/今日运势插件
- ...
详细步骤
注册一个qq号
需绑定手机,非常不推荐使用一些批量注册的qq号,或者来源不明的qq号,这些账号被风控的可能性会更高,而且不安全,容易被杀。
准备一台服务器或vps
请注意,为了bot能长期稳定运行考虑,应尽可能避免海外云主机。
阿里云,腾讯云,等等各大云服务厂商提供了各种型号的学生机供你选择。
从省钱划算的角度考虑,推荐考虑的配置为1c或2c配置,内存在1g到2g即可满足bot的运行需要,甚至还能再挂个宝塔,个人推荐最低使用轻量级云服务器即可,ecs或者类似的服务器也可以,这个没有特别大的区别。
当然因为bot本身不需要公网环境,所以如果你自己有闲置的服务器或者低功耗设备(比如nas,软路由等等),也可以在自己的服务器或者设备上进行bot搭建,相同网络环境下,机器人被搞的概率和频率会小的多。
系统选择
使用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,不同系统以当前系统为准。
ssh
apt install openjdk-17-jre-headless -y
安装完成后检查版本。
ssh
java -verison
手动下载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进行安装。
ssh
java -jar mcl.jar
安装过程中你必须完整的看完mirai的用户须知,不可取消和跳过
,这对于之后的排错和处理非常重要。
2024-07-04 07:36:14 I/main: mirai-console started successfully.
mirai本体基本安装完成。
ctrl + c
或 exit
退出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
,打开备用。
将fix-protocol-version
上传到mirai目录
下的plugins
目录内,此时plugins
内应包含三个文件。
前往下面的地址,本页后续还需要使用,不要关闭。
https://mirai.mamoe.net/category/13/使用交流
复制协议配置文件
在mirai的根目录中输入命令
ssh
nano android_pad.json
在控制台中右击屏幕,粘贴配置。
进行保存退出。
ctrl + x
y
回车
忘掉之前启动mirai的方式,之后使用./mcl -u
进行启动。
协议配置
使用./mcl -u
启动mirai。
等待加载完成后输入命令
ssh
protocol load ANDROID_PAD
出现如下提示时协议信息导入完成。
检查当前的协议库中的协议版本。
退出mirai。
回到刚才的页面,复制该部分。
来到mirai根目录输入命令,
ssh
mv KFCFactory.json KFCFactory.json.bak
nano KFCFactory.json
将刚才复制的文本在这里粘贴并和之前一样进行保存,注意删除结尾的逗号
。
使用命令重新启动mirai。
启动完成无报错后,则协议库配置完毕。
登陆账号
./mcl -u
请注意,下面的过程可能需要一些手速
,过慢的验证您可能需要反复
进行下面的步骤,过多的重试可能会增加账号冻结的风险性
,请注意。
登陆qq。
ssh
login botqq号 bot密码 ANDROID_PAD
若之前的配置全部没有问题,在mirai启动后登陆账号密码会提示注册成功。
ssh
2024-07-04 16:23:04 I/UnidbgFetchQsign: Bot(1145141919) register, 注册成功了您嘞!
之后可以在屏幕中找到下列类似地址,此时,需要尽可能快的将这串地址https://ti.qq.com/....
复制到刚才开的模拟器中的框框中,并单击下一步.
ssh
[SliderCaptcha] Captcha link:https://ti.qq.com/safe/tools/captcha/sms-verify-login....
在经过简单的图形验证后,会弹出ticket
,立即复制该ticket
回到ssh,在ticket
栏进行粘贴,并回车,如果一切顺利,你会看到下面图片中的显示,即确认发送手机验证码。
输入yes
后回车,将手机上收到的验证码填入对应栏目后回车,登陆完成。
注意本阶段有一次发送短信前的确认步骤,手动输入yes,不要在上面步骤就开始傻等短信。
mirai测试登陆过程全部结束。
为bot添加自动登录,让mirai每次启动后自动登录。
退出mirai
,下面的步骤必须
在退出mirai之后才能进行
,下列命令的实际路径以你的本地mirai的为准。
由于miria在退出时会
回写
配置,故所有的配置需在mirai关闭时进行。
ssh
nano /root/mirai/config/Console/AutoLogin.yml
在编辑器中添加你的bot信息,注意箭头这里必须修改
为刚才导入的ANDROID_PAD
,不能使用默认的ANDROID_PHONE
.
保存退出。
重新启动mirai,发现mirai自动登录完成。
非必须插件安装
本项目不是必须安装的,只作为安装演示。
有些插件支持使用mcl进行安装,有些只能手动下载jar包上传plugins目录安装
。
推荐安装Chat Command
,luckperms - Mirai
,前者为命令插件,后者为权限管理插件。
在mirai根目录执行此命令后,下次启动后
会自动安装下载
。
ssh
./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的方式。
screen
screen为多重视窗管理程序
https://www.runoob.com/linux/linux-comm-screen.html
输入命令,创建mirai窗口
ssh
screen -S mirai
在这个窗口中启动mirai.
使用这种方式方便随时管理和查看,以及sj+=[(视奸)]=+群友行为。
systemctl
systemctl是 Systemd 的主命令,用于管理系统。
https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
创建启动服务。
ssh
nano /etc/systemd/system/mirai.service
将下面的内容写入文件保存,注意对需要的部分进行修改。
如ExecStart
,WorkingDirectory
的变量。
ssh
[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。
ssh
systemctl daemon-reload
将bot启动设置为开机自启。
ssh
systemctl enable mirai.service
启动mirai。
ssh
systemctl start mirai.service
检查mirai状态。
ssh
systemctl status mirai.service
HomeLab相关推荐
本章节为彩蛋部分,只为想在自家运行bot的选手提供一些参考。
mirai运行需要的性能很低,当然这个也和你安装的插件数量以及插件的代码效率相关。
所以如果你想在家里配置一台设备运行mirai,配置自然是越低越好,功耗自然是越低越好,最理想的方式是插个网线放窗台,使用免费的
核聚变供电。
推荐硬件配置:
- 树莓派(arm平台)
- e3 1265lv3 这个带集显tdp45w,可以关闭超线程
- e3 1220lv3 不带集显13w,可以配合超微C7Z97-MF板载集显实现超低功耗
- i3 6100t 带集显tdp只有35w
BV1JY4y117vH
- epyc系列
- j1900
- .....
推荐使用纯ECC / Regecc(如果支持,大部分家用设备不支持后者,d5平台消费级主板只能使用消费级内存条)。
电源必须使用一线或准一线品质对于设备本身的稳定性至关重要。
推荐软件配置:
proxmox
作为母鸡系统启动虚拟化。
目前测试该系统可以在消费级硬件无故障的情况下实现高负载400d+的使用,下图升级过版本,进行了一次停机,实际在线时间已经将近500d。
后日谈
待补充。
完成
好耶!
猛猛安装插件。