Ninja介绍:Ninja是@MoonBegonia大佬开发的一个开源安全的青龙面板扫码工具。

教程开始:

注意:新手建议保存好ck,重置系统从0安装。教程从0开始。

安装docker

sudo yum check-update
curl -sSL https://get.daocloud.io/docker | sh
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker

安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

不想重置系统就删除容器

docker stop $(docker ps -a -q) // stop停止所有容器 
docker rm $(docker ps -a -q) // remove删除所有容器

安装青龙和Ninja
容器需要映射 5701 端口,ninja 目录至宿主机
例(docker-compose):

version: "3"
services:
  qinglong:
    image: whyour/qinglong:latest
    container_name: qinglong
    restart: unless-stopped
    tty: true
    ports:
      - 5700:5700
+      - 5701:5701
    environment:
      - ENABLE_HANGUP=true
      - ENABLE_WEB_PANEL=true
    volumes:
      - ./config:/ql/config
      - ./log:/ql/log
      - ./db:/ql/db
      - ./repo:/ql/repo
      - ./raw:/ql/raw
      - ./scripts:/ql/scripts
      - ./jbot:/ql/jbot
+      - ./ninja:/ql/ninja

例(docker-compose):

docker run -dit \
  -v $PWD/ql/config:/ql/config \
  -v $PWD/ql/log:/ql/log \
  -v $PWD/ql/db:/ql/db \
  -v $PWD/ql/repo:/ql/repo \
  -v $PWD/ql/raw:/ql/raw \
  -v $PWD/ql/scripts:/ql/scripts \
  -v $PWD/ql/jbot:/ql/jbot \
+ -v $PWD/ql/ninja:/ql/ninja \
  -p 5700:5700 \
+ -p 5701:5701 \
  --name qinglong \
  --hostname qinglong \
  --restart unless-stopped \
  whyour/qinglong:latest

进容器内执行以下命令

git clone https://github.com/Waikkii/waikiki_ninja.git /ql/ninja
cd /ql/ninja/backend
pnpm install
cp .env.example .env # 如有需要, 修改.env
pm2 start
cp sendNotify.js /ql/scripts/sendNotify.js

将以下内容粘贴到 extra.sh 重启后自动更新并启动 Ninja

cd /ql/ninja/backend
git checkout .
git pull
pnpm install
pm2 start
cp sendNotify.js /ql/scripts/sendNotify.js

此种方式需要宿主机安装 node pnpm 等环境。使用此种方法无法跟随青龙一起启动,无法发送扫码通知。

git clone https://github.com/Waikkii/waikiki_ninja.git
cd ninja/backend
pnpm install
# 复制 sendNotify.js 到容器内 scripts 目录,`qinglong` 为容器名
sudo docker cp sendNotify.js qinglong:/ql/scripts/sendNotify.js
cp .env.example .env
# 修改env文件
vi .env
node app.js

在 .env 文件中添加以下内容:

QL_DIR=qinglong 容器的本地路径
QL_URL=http://localhost:5700

node app.js 想要在后台运行可以使用 & nohup screen 等命令。

Ninja 目前支持的环境变量有:

SHOW_QR:是否显示扫码卡片,默认不显示
SHOW_WSCK:是否显示WSCK录入,默认不显示
SHOW_CK:是否显示CK登录,默认不显示
ALLOW_WSCK_ADD:是否允许添加WSCK账号 不允许添加时则只允许已有账号登录
ALLOW_WSCK_NUM:允许添加WSCK账号的最大数量
ALLOW_ADD: 是否允许添加账号 不允许添加时则只允许已有账号登录(默认 true)
ALLOW_NUM: 允许添加账号的最大数量(默认 45)
NINJA_PORT: Ninja 运行端口(默认 5701)
NINJA_NOTIFY: 是否开启通知功能(默认 true)
NINJA_UA: 自定义 UA,默认为随机

配置方式:

cd /ql/ninja/backend
cp .env.example .env
vi .env
pm2 start

修改完成后需要 pm2 start 重启生效 !!!

SendNotify 环境变量此环境变量在青龙中配置!!!

NOTIFY_SKIP_LIST: 通知黑名单,使用 & 分隔,例如 东东乐园&东东萌宠;


Ninja 自定义

(未完成)自定义推送二维码:将 push.jpg 文件添加到 /ql/ninja/backend/static/ 目录下刷新网页即可。

自定义常见活动:修改 /ql/backend/static/activity.json 即可

注意事项

重启后务必执行一次 ql extra 保证 Ninja 配置成功。
更新 Ninja 只需要在容器中 ninja/backend 目录执行 git pull 然后 pm2 start
Qinglong 需要在登录状态(auth.json 中有 token)

如何更新Ninja

cd /ql/ninja
git checkout .
git pull
cd backend
pm2 start


如何删除Ninja

cd /ql/ninja
pm2 delete ninja
rm -rf *
rm -r ./.*

常用命令
进入docker

docker exec -it qinglong bash

docker:查看容器的挂载目录

docker inspect container_name | grep Mounts -A 20
docker inspect container_id | grep Mounts -A 20

正在维护的京东代挂青龙仓库大合集看这里:京东代挂青龙仓库大合集

最后修改:2021 年 10 月 26 日
如果觉得我的文章对你有用,请随意赞赏