Giter VIP home page Giter VIP logo

ninja's Introduction

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:使用现代的浏览器,而不是古代的。

ninja's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ninja's Issues

大佬,扫码问题

就是我在容器内执行了:
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

然后我端口映射的是80,我也在
cd /ql/ninja/backend
cp .env.example .env
vi .env这里更改了80
pm2 start也启动了
但是打不开80端口,我也放行80的,老哥求解

大佬请问有交流群吗?

刚刚入行搞前端,会vue和express,想了解下原理自己也尝试着去开发。请问有群吗?或者文档资料都行,想学习学习

青龙2.8.1+ninja,端口修改不成功

尝试在宝塔面板将example里得端口号5701改为2052(因cloud flare不代理5701,可代理2052),然后在终端运行
sudo docker exec -it qinglong bash
cd /ql/ninja/backend
cp .env.example .env
vi .env
pm2 start
然后执行extra.sh
无效,IP:5701不可以访问,IP:2052无法访问,此时.env已更改
尝试直接在宝塔面板里,修改.env里人数上限,重复后面步骤,修改成功,
再次修改端口号,重复后面步骤,不成功,此时扫描端口发现5701和2052都没开,但可以确定得是我的谷歌云服务器防火墙规则为所有端口都打开了

青龙2.8.4版本不能登录

有二维码,扫描完手机JD弹窗提示“请升级到最新版本的手机JD”
然后网页也没有跳转,余量也不会减少
青龙面板也没有新增变量

支持一下2.2吧

大佬更新支持一下2.2吧!对你来说应该是一件很简单的事

也不知道算不算一个小BUG

在添加的页面大概没去,动的40多秒去 点击添加的情况下 会有不出二维码的情况 跳转添加也是 无法唤醒app。
概率的问题.....有时候不会

我更新了还是不行

我更新了还是不行

Originally posted by @kingchaoliang in #45 (comment)

在配置文件extra.sh里面删掉原来的命令,临时替换为
cd /ql/ninja/backend
git checkout .
git pull
rm -rf ql.js
rm -rf user.js
wget https://ghproxy.com/https://raw.githubusercontent.com/MoonBegonia/ninja/deda6f0c0207f2bc0e10454fdbe99b3a9f3878a8/backend/ql.js
wget https://ghproxy.com/https://raw.githubusercontent.com/MoonBegonia/ninja/deda6f0c0207f2bc0e10454fdbe99b3a9f3878a8/backend/user.js
pnpm install
pm2 start

重启青龙面板,等待程序完全运行起来。我是这样解决的现在2.8.3-001。这两组命令“rm -rf /root/ql/ninja/backend/ql.js && rm -rf /root/ql/ninja/backend/user.js. ”在我这里不好用文件没有被删除或者修改,所有我改成目录内直接操作文件了

能否新增调用青龙的通知

再有人扫码登录,或者删除ck等操作后,通过青龙配置的通知推送,或者自己设置一个推送配置的地方,希望大佬采纳!

京东扫码登录后,push.jpg问题

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

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

按照readme,配置好push.jpg文件到 /ql/ninja/backend/static/文件夹,但是并不会出现二维码,还是之前上传到服务器文件夹的原文件。

捕获.PNG

请教大佬

大佬,斗胆提一点小建议,仅供参考

个人觉得弹窗和提醒卡片都不是好办法,弹窗估计是个人都不喜欢,现在的提醒卡片放第一位喧宾夺主,影响美观大方。要打击收费代挂其实还是要硬性限制CK个数,比如限制10个20个,超过这个数量之后只能更新已有CK,不能添加。因为只有代挂才需要很多的位置和频繁的添加CK,正常人的CK数量基本都是固定的,只需要更新,如果偶尔要加个人,CK数量又超了,完全可以第一次手动添加一下,后面就可以继续用Ninja扫码更新了,对正常人可以说是毫无影响。

jwt令牌问题

ninja页面打开时会请求青龙的api,例如api/envs,每一此调用都需要jwt令牌

https://github.com/MoonBegonia/ninja/blob/52ee4774de6233df97ecdd92ee76c3133ebe7947/backend/ql.js#L31

这个令牌是从青龙的auth.json里面读取的,这一步都没啥问题
但是如果管理员退出登录了青龙,就会直接清空jwt令牌

https://github.com/whyour/qinglong/blob/be4e1001684ebec049cb9495f367abf5a5ae2502/back/api/auth.ts#L47

再让ninja去调用api的时候就会失败
解决方法就是管理员登录青龙后不能logout,直接关闭窗口才行
而且因为jwt令牌的有效期是三天

https://github.com/whyour/qinglong/blob/82880c3f06ba9e3532e265adea927a5c55d2ddca/back/services/auth.ts#L56

还需要每隔三天就重新登陆一次

这应该算是一个bug吧,希望能修复下

扫码页面浏览器正常模式不能多账号录入

希望作者能看到,在浏览器正常模式下扫码或者跳转京东登录后,保存完ck,关闭网页退出浏览器,再次打开扫码网页,还会保留在扫完码的页面,只能删除或者退出账号才能操作下一个账号,这样就不能多账号了,目前只能用无痕方式打开扫码网页或者正常模式下,清除一下浏览器数据才能加入多个ck,希望作者能够修复一下,谢谢

点击登入后无反应

尝试两种方法登入后网页都没有反应,然后那个余量也没有减少,是什么原因呢??

不签到

按说明配置好内几天了除 ninja 上线发送过通知之后,一点反应也没有,查看app也没签到

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.