Sign inSign up

liheng6668/guangya

By liheng6668

•Updated 3 days ago

监控 QQ 群里的光鸭分享和磁力,收到后立刻转存到指定目录

Image
0

161

liheng6668/guangya repository overview

⁠光鸭群监控

用一台固定的电脑版 QQ 盯住勾选的群,把光鸭分享和磁力转存到同一个光鸭目录。

镜像 liheng6668/guangya 只包含监控面板和转存。电脑版 QQ 使用旁边的 mlikiowa/napcat-docker,不包含在本镜像里。两个容器必须在同一个 Docker 网络里。QQ 的消息端口不要映射到公网。

⁠1.2.0

  • QQ 收到勾选群的消息后立刻识别并转存
  • 一条消息里的多条分享、磁力都会转存
  • 同一个链接后来名称变了(例如集数更新)会再转存;名称完全相同则跳过
  • 转存成功的微信推送标题带资源名称
  • 转存记录超过 30 天自动清理

⁠部署前准备

已安装 Docker。自己准备两个口令,NAPCAT_WEBUI_TOKEN 在两个容器里必须相同。镜像没有默认面板密码,不设置 PANEL_PASSWORD 则面板不开放。

mkdir -p data/app data/napcat/qq data/napcat/config

目录没有写权限时:

sudo chown -R 1000:1000 data/app

登录态、已选群、转存记录和密钥都在 ./data。删掉这个目录等于重新开始。data/napcat/qq 要保留,删掉就要重新扫码。

⁠方法一:docker compose

在一个空目录里建立两个文件。

.env:

PANEL_PASSWORD=请改成面板管理密码
NAPCAT_WEBUI_TOKEN=请改成一段随机字符串
NAPCAT_TOKEN=

docker-compose.yml:

services:
  guangya:
    image: liheng6668/guangya:1.2.0
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      PANEL_PASSWORD: ${PANEL_PASSWORD:?请在 .env 里设置 PANEL_PASSWORD}
      PANEL_PASSWORD_RESET: ${PANEL_PASSWORD_RESET:-}
      NAPCAT_WEBUI_TOKEN: ${NAPCAT_WEBUI_TOKEN:?请在 .env 里设置 NAPCAT_WEBUI_TOKEN}
      NAPCAT_WEBUI_URL: http://napcat:6099
      NAPCAT_WS: ws://napcat:3001
      NAPCAT_TOKEN: ${NAPCAT_TOKEN:-}
      DATA_DIR: /data
      COOKIE_SECURE: ${COOKIE_SECURE:-0}
    volumes:
      - ./data/app:/data
    depends_on:
      - napcat

  napcat:
    image: mlikiowa/napcat-docker:latest
    restart: unless-stopped
    environment:
      MODE: ws
      WEBUI_TOKEN: ${NAPCAT_WEBUI_TOKEN:?请在 .env 里设置 NAPCAT_WEBUI_TOKEN}
    ports:
      - "127.0.0.1:6099:6099"
    volumes:
      - ./data/napcat/qq:/app/.config/QQ
      - ./data/napcat/config:/app/napcat/config

启动:

docker compose pull
docker compose up -d

浏览器打开 http://服务器IP:8080,用 .env 里的 PANEL_PASSWORD 登录。

  • guangya 是面板、提取和转存,对外只开放 8080。
  • napcat 是电脑版 QQ。管理页 6099 只绑定在本机,供排错。

升级到以后的版本时,把 compose 里的镜像标签改成新版本,再执行:

docker compose pull
docker compose up -d

./data 不要删。

⁠方法二:docker run

不使用 compose 时,先建网络,再分别启动。两处 NAPCAT_WEBUI_TOKEN 必须相同。容器名 napcat 不要改,监控服务靠这个名字访问电脑版 QQ。

mkdir -p data/app data/napcat/qq data/napcat/config
docker network create guangya

docker run -d --name napcat --network guangya --restart unless-stopped \
  -e MODE=ws \
  -e WEBUI_TOKEN=请改成一段随机字符串 \
  -p 127.0.0.1:6099:6099 \
  -v "$PWD/data/napcat/qq:/app/.config/QQ" \
  -v "$PWD/data/napcat/config:/app/napcat/config" \
  mlikiowa/napcat-docker:latest

docker run -d --name guangya --network guangya --restart unless-stopped \
  -p 8080:8080 \
  -e PANEL_PASSWORD=请改成面板管理密码 \
  -e NAPCAT_WEBUI_TOKEN=请改成一段随机字符串 \
  -e NAPCAT_WEBUI_URL=http://napcat:6099 \
  -e NAPCAT_WS=ws://napcat:3001 \
  -e DATA_DIR=/data \
  -v "$PWD/data/app:/data" \
  liheng6668/guangya:1.2.0

查看状态和日志:

docker ps
docker logs -f guangya

停掉并保留数据:

docker stop guangya napcat

升级时删掉旧的 guangya 容器,用同一条 docker run 换上新标签再启动。napcat 和 ./data 保持不动。

⁠第一次使用

缺任何一步都不会开始转存。

  1. 打开面板的 QQ。用手机 QQ 扫描页面上的二维码,授权的是这台电脑,手机 QQ 可以继续使用。
  2. 填 QQ 号和密码,点「保存并用密码登录」。密码只加密存在数据盘里,掉线后用来自动登录。
  3. 点「刷新群列表」,勾选要监控的群。
  4. 打开 光鸭,用短信登录。
  5. 从根目录进入目标文件夹,点「使用此目录」。所有群都转存到这一个目录。
  6. 打开 设置。需要微信通知时,按页面步骤扫码,把 SPT_ 开头的令牌粘贴进去并保存。TMDB 密钥可选,识别不到也会转存。

光鸭如果提示要先做人机验证,按页面上的地址完成一次,再重新发送验证码。

⁠忘记面板密码

compose:在 .env 写好新的 PANEL_PASSWORD,执行一次 PANEL_PASSWORD_RESET=1 docker compose up -d。完成后去掉这个变量,避免下次启动再次覆盖。

docker run:删掉 guangya 容器,用原来的数据目录再加上 -e PANEL_PASSWORD_RESET=1 和 -e PANEL_PASSWORD=新密码 启动一次。完成后去掉 PANEL_PASSWORD_RESET 再启动。

⁠不包含的功能

  • 不监控 QQ 频道,只监控勾选的 QQ 群
  • 不按群或日期分目录,不重命名,不删除重复版本
  • 不识别 ed2k、迅雷链和图片二维码
  • 不自动处理 QQ 验证码。出现验证就停在二维码,等你扫一次

Tag summary

Content type

Image

Digest

sha256:99eecdadf…

Size

55.4 MB

Last updated

3 days ago

docker pull liheng6668/guangya