非侵入式Napcat进阶:自动启动

发布于 27 天前  182 次阅读


在读完关于Napcat的安装与加速后,会发现还没有介绍自动启动的方法。下面将对自动启动方法作一个说明。

环境

系统:Ubuntu

必要组件:systemd

建议使用:1Panel/BT面板(快给我打钱)

配置固定QQ号启动

进入napcat目录(这里为/opt/napcat)

发现文件launcher.sh结构如下

#!/bin/bash
Xvfb :1 -screen 0 1x1x8 +extension GLX +render > /dev/null 2>&1 &
export DISPLAY=:1
trap "" SIGPIPE
LD_PRELOAD=./libnapcat_launcher.so qq --no-sandbox

根据日志可以看到,只要我们使用-q参数就可以定向登录QQ账号,于是修改如下

#!/bin/bash
Xvfb :1 -screen 0 1x1x8 +extension GLX +render > /dev/null 2>&1 &
export DISPLAY=:1
trap "" SIGPIPE
LD_PRELOAD=./libnapcat_launcher.so qq --no-sandbox -q <要登录的QQ号>

保存,退出

添加到系统服务

进入/etc/systemd/system

创建文件napcat.service

其中输入如下命令:

[Unit]

Description=NapCat Launcher Service

After=network.target

[Service]

Type=simple

User=root  #运行用户

ExecStart=/opt/napcat/launcher.sh  #前文脚本位置

Restart=on-failure

RestartSec=5

WorkingDirectory=/opt/napcat  #工作目录

StandardOutput=journal

StandardError=journal

[Install]

WantedBy=multi-user.target

保存,输入命令给予权限并启用开机自启

sudo chmod +x /etc/systemd/system/napcat.service  #给予权限
sudo systemctl daemon-reload  #重新加载 systemd 守护进程
sudo systemctl enable napcat.service  #开机自启

然后,你就可以通过以下手段开关指定账号的Napcat了

sudo systemctl start napcat.service  #启动
sudo systemctl stop napcat.service  #关闭
sudo systemctl restart napcat.service  #重启 

至此大功告成

鸣谢

Napcat开发人员


若是一枝枯枝,终有开花的一天