GithubHelp home page GithubHelp logo

ninja's Introduction

青龙2.8面板 & Ninja面板 搭建教程

看教程之前 你必须拥有一台具备Docker功能的服务器

怎么搭建Docker? 参见 Docker教程


连接服务器 执行命令

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

image-20210731143900553


这是搭建完成的样子

输入命令docker logs -f qinglong可以查看实时日志

image-20210731144043403

当出现容器启动成功的字样再去浏览器访问面板

image-20210731144223081

进入浏览器输入默认用户名密码 admin adminadmin

image-20210731144320831

回到控制台 输入命令 cd ~ && cat ql/config/auth.json

image-20210731144423574

查看密码并登录面板

进入之后 最好先点击一下更新面板 让面板代码同步最新的

image-20210731144613514

为保证代码为最新代码 请点击两次更新面板!!


到这里 青龙面板搭建完成 现在开始搭建Ninja面板

回到SSH控制台

输入命令 docker exec -it qinglong bash

image-20210731145133936

执行命令

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

image-20210731145255278

到这一步Ninja面板搭建完成 可以访问IP:5701进入Ninja面板

image-20210731145354641

接着回到控制台

输入命令

echo 'cd /ql/ninja/backend' >>/ql/config/extra.sh
echo 'git checkout .' >>/ql/config/extra.sh
echo 'git pull' >>/ql/config/extra.sh
echo 'pnpm install' >>/ql/config/extra.sh
echo 'pm2 start' >>/ql/config/extra.sh
echo 'cp sendNotify.js /ql/scripts/sendNotify.js' >>/ql/config/extra.sh

image-20210731145809786

这一步是将Ninja面板加入青龙的自动启动项中


到这里Ninja也搭建完成


以下是可选配置项目

  • 修改Ninja面板的title

    sed -i 's/Ninja/要替换的内容/' /ql/ninja/backend/static/index.html

  • 修改Ninja面板的顶栏名称

    作者加了一点门槛 不让你乱改 这里只提供一个小方法

    mv index.1a8beb0e.js.gz index.1a8beb0e.js.gz.bak
    sed -i 's/"Ninja"/"标题"/' index.1a8beb0e.js

    image-20210731151531183

  • 修改顶栏卡片内容 图一乐

Ninja作者说后面卡片为自定义内容 这里先给出一个临时的玩法

<script type="text/javascript">
	window.onload=function (){
        var x = document.getElementsByClassName("card-title");x[0].innerHTML="卡片标题"
        var b = document.getElementsByClassName("card-body text-base leading-6");b[0].innerHTML="卡片内容"
}
</script>

修改/ql/ninja/backend/static/index.html 引入这段代码就可以修改

最后提示 如果需要修改Ninja资源 请在extra.sh中移除

git checkout .

git pull

pnpm install



Ninja

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

说明

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

Ninja 仅支持 qinglong 2.8+

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

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: 通知黑名单,使用 & 分隔,例如 东东乐园&东东萌宠;

注意事项

  • 重启后务必执行一次 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:使用现代的浏览器,而不是古代的。

ninja's People

Contributors

zy143l avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.