Giter Site home page Giter Site logo

huochai's Introduction

Ninja

备份

支持CK注册,登录和删除,支持WSKEY录入和删除,登录成功进入个人中心,可修改备注。默认登录CK才可提交WSCK,主页提交WSCK容易乱,不建议。

基本功能已完善,鸽几天,有问题先仔细看此README。

致谢

感谢Ninja原作者:@MoonBegonia

仓库地址:https://github.com/MoonBegonia/ninja

感谢WSCK功能原作者:@huiyi9420

仓库地址:https://github.com/huiyi9420/ninja

当前:增加备用接口(针对某些半黑号)

新特性:支持Github Action前端编译并自动替换文件。Fork之后:Action->BuildAndCommit->Run workflow->Run workflow即可。

说明

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

Ninja 仅支持 qinglong 2.8.2+

TG 频道

特性

  • 局域网扫码,跳转登录添加/更新 cookie
  • 添加/更新 cookie 后发送通知
  • 扫码发送通知可关闭
  • 默认备注为账号
  • 可修改备注
  • wskey有效性检测
  • 登录界面展示自定义标语
  • Github Action自动编译
  • WSKEY录入

文档

容器内

  1. 容器映射 5701 端口,ninja 目录至宿主机

    例(docker-compose):

    version: "3"
    services:
      qinglong:
        image: whyour/qinglong:latest
        container_name: qinglong
        restart: unless-stopped
        tty: true
        ports:
          - 5700:5700
          - 520:520
        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 520:520 \
      --name qinglong \
      --hostname qinglong \
      --restart unless-stopped \
      whyour/qinglong:latest
  2. 进容器内执行以下命令

    docker  exec  -it qinglong bash
    

    进容器内执行以下命令

    git clone https://github.com/1335344215/huochai.git /ql/ninja
    cd /ql/ninja/backend
    pnpm install
    cp .env.example .env # 如有需要, 修改.env
    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 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_AD D:是否允许添加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 exec -it qinglong bash -c "npm install -g typescript"
docker exec -it qinglong bash -c "npm install axios date-fns"
docker exec -it qinglong bash -c "npm install crypto -g"
docker exec -it qinglong bash -c "npm install jsdom"
docker exec -it qinglong bash -c "npm install png-js"
docker exec -it qinglong bash -c "npm install -g npm"
docker exec -it qinglong bash -c "pnpm i png-js"
docker exec -it qinglong bash -c "pip3 install requests"
docker exec -it qinglong bash -c "apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && cd scripts && npm install canvas --build-from-source"
docker exec -it qinglong bash -c "apk add python3 zlib-dev gcc jpeg-dev python3-dev musl-dev freetype-dev"
docker exec -it qinglong bash -c "cd /qinglong/scripts/ && apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && npm i && npm i -S ts-node typescript @types/node date-fns axios png-js canvas --build-from-source"

###部分大佬的库脚本是TS后缀,青龙面板并不能支持运行 一:青龙面板添加TS后缀脚本指令,拉库才能拉到TS脚本

打开面板,选择配置文件(config.sh)找到修改为

## ql repo命令拉取脚本时需要拉取的文件后缀,直接写文件后缀名即可
RepoFileExtensions="js py ts"

###二:进入服务器后台(连接SSH) ***依次输入下面的代码安装依赖:

 docker exec -it qinglong bash
 npm i -g ts-node typescript @types/node date-fns axios

***依赖安装完成后再修改青龙task.sh支持ts-node运行方式

依次输入下面的代码完成修改:

 docker exec -it qinglong bash
cd shell/   
nano task.sh    #如果提示没有nano 可以执行 apk add nano或者使用vi task.sh
找到define_program,修改成如下,保存(按ctrl+x 输入Y或者X Y保存 X不保存)
define_program() {
    local p1=$1
    if [[ $p1 == *.js ]]; then
        which_program="node"
    elif [[ $p1 == *.py ]]; then
        which_program="python3"
    elif [[ $p1 == *.ts ]]; then
        which_program="ts-node"
    elif [[ $p1 == *.sh ]]; then
        which_program="bash"
    else
        which_program=""
    fi
}

###一些其他的方法以及依赖:

运行ts方式
1.全局安装ts-node
npm install ts-node -g --save --unsafe-perm=true --allow-root
2.运行ts脚本看报错
ts-node xxx.ts
3.看报错信息确认到底需要哪些依赖,安装相应依赖,目前发现有typescript,fs,axios
npm install typescript
npm install fs
npm install axios
4.再运行相应脚本,一般会成功了
ts-node xxxx.ts
依赖:
npm install date-fns
npm install require
npm i –save-dev @types/node
npm install tslib

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.