Skip to content

flyhai/ninja

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ninja

一次对于 koa2 vue3 vite 的简单尝试

说明

Ninja 仅供学习参考使用,请于下载后的 24 小时内删除,本人不对使用过程中出现的任何问题负责,包括但不限于 数据丢失 数据泄露

Ninja 仅支持 qinglong 2.8.2+

TG 频道

特性

  • 扫码,跳转登录添加/更新 cookie
  • 添加/更新 cookie 后发送通知
  • 扫码发送通知可关闭
  • 添加备注并将通知中的 pt_pin nickName 修改为备注
  • 默认备注为昵称
  • 添加扫码推送卡片
  • 替换 cookie 失效通知
  • 登录界面展示自定义标语
  • 支持多容器,多面板
  • 采用自己的数据库,实现无视面板替换通知备注
  • 账号管理面板

文档

容器内

  1. 容器映射 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-run):

    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
  2. 进容器内执行以下命令

    进容器内执行以下命令

    git clone https://github.com/MoonBegonia/ninja.git /ql/ninja
    cd /ql/ninja/backend
    pnpm install
    pm2 start
    cp sendNotify.js /ql/scripts/sendNotify.js
  3. 将以下内容粘贴到 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 git clone https://github.com/MoonBegonia/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 环境变量

目前支持的环境变量有:

  • ALLOW_ADD: 是否允许添加账号 不允许添加时则只允许已有账号登录(默认 true
  • ALLOW_NUM: 允许添加账号的最大数量(默认 40
  • 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)

常见问题

Q:为什么我 git pull 失败?
A:一般是修改过文件,先运行一次 git checkout .git pull。还是不行就删了重拉。

Q:为什么访问不了?
A:一般为端口映射错误/失败,请自行检查配置文件。

Q:为什么访问白屏?
A:使用现代的浏览器,而不是古代的。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 79.1%
  • Vue 19.2%
  • HTML 1.2%
  • Other 0.5%