网盘链接检测系统PanCheck

在这里插入图片描述

简介

什么是 PanCheck ?

PanCheck 是一个网盘链接有效性检测系统,专为用户提供批量检测多种主流网盘平台分享链接的有效性。它能够快速确认链接是否仍然可用,从而帮助用户管理和维护网盘资源。

主要特点

  • 🔍 多平台支持:支持检测 9 种主流网盘平台的链接
  • 高性能检测:支持并发检测,可配置检测频率和超时时间
  • 📊 数据统计:提供详细的检测统计和数据分析
  • 🔄 定时任务:支持创建定时检测任务,自动检测链接有效性
  • 💾 数据持久化:使用 MySQL 存储检测记录,Redis 缓存失效链接
  • 🎨 现代化界面:基于 React + TypeScript 的现代化管理后台
  • 🐳 容器化部署:提供 Docker Compose 一键部署方案

支持 9 种网盘

  • 夸克网盘
  • UC网盘
  • 百度网盘
  • 天翼云盘
  • 123网盘
  • 115网盘
  • 阿里云盘
  • 迅雷云盘
  • 中国移动云盘

总之,PanCheck 是一个高效、方便的工具,能够帮助用户轻松管理和检查网盘分享链接的有效性,适用于广泛的场景和用户需求。

安装

在群晖上以 Docker 方式安装。

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

services:
  pancheck:
    image: lampon/pancheck:latest
    container_name: pancheck
    ports:
      - "8774:8080"
    environment:
      - SERVER_PORT=8080 # 服务端口
      - SERVER_MODE=release # 服务模式
      - SERVER_CORS_ORIGINS=* # 跨域请求允许的源
      - DATABASE_TYPE=mysql # 数据库类型
      - DATABASE_HOST=db # 数据库地址
      - DATABASE_PORT=3306 # 数据库端口
      - DATABASE_USER=root # 数据库用户名
      - DATABASE_PASSWORD=your_password # 数据库密码
      - DATABASE_DATABASE=pancheck # 数据库名称
      - DATABASE_CHARSET=utf8mb4 # 数据库字符集
      - CHECKER_DEFAULT_CONCURRENCY=5 # 默认并发数
      - CHECKER_TIMEOUT=30 # 超时时间(秒)
      - REDIS_ENABLED=true # 是否启用Redis
      - REDIS_HOST=redis # Redis地址
      - REDIS_PORT=6379 # Redis端口
      - REDIS_USERNAME= # Redis用户名
      - REDIS_PASSWORD= # Redis密码
      - REDIS_INVALID_TTL=168   # 失效链接缓存时间(小时)
      - ADMIN_PASSWORD=admin123 # 后台管理密码
    volumes:
      - ./data:/app/data
    restart: unless-stopped
    depends_on:
      - db
      - redis
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/v1/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
      
  db:
    image: mysql:8.0
    container_name: pancheck-db
    environment:
      - MYSQL_ROOT_PASSWORD=your_password
      - MYSQL_DATABASE=pancheck
      - MYSQL_CHARACTER_SET_SERVER=utf8mb4
      - MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci
    volumes:
      - ./mysql:/var/lib/mysql
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"]
      interval: 10s
      timeout: 5s
      retries: 5
      
  redis:
    image: redis:latest
    container_name: pancheck-redis
    # ports:
    #   - "6379:6379"
    volumes:
      - ./redis:/data
    restart: unless-stopped
    command: redis-server --appendonly yes
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 3s
      retries: 3

关于环境变量的简单说明

容器环境变量默认值说明
PanCheck 主服务SERVER_PORT8080服务使用的端口。
SERVER_MODErelease服务运行模式,如 releasedebug
SERVER_CORS_ORIGINS*允许的跨域请求源,* 表示允许所有源。
DATABASE_TYPEmysql使用的数据库类型。
DATABASE_HOSTdb数据库地址,Docker 中使用服务名。
DATABASE_PORT3306数据库端口。
DATABASE_USERroot连接数据库的用户名。
DATABASE_PASSWORDyour_password数据库的用户密码,建议更改为安全的密码。
DATABASE_DATABASEpancheck数据库名称。
DATABASE_CHARSETutf8mb4数据库字符集。
CHECKER_DEFAULT_CONCURRENCY5默认并发检测数。
CHECKER_TIMEOUT30链接检测的超时时间(秒)。
REDIS_ENABLEDtrue是否启用 Redis 缓存。
REDIS_HOSTredisRedis 服务器地址。
REDIS_PORT6379Redis 端口。
REDIS_USERNAMERedis 用户名(可选)。
REDIS_PASSWORDRedis 密码(可选)。
REDIS_INVALID_TTL168失效链接在 Redis 缓存中的存活时间(小时)。
ADMIN_PASSWORDadmin123后台管理界面的密码,建议修改为更安全的密码。
MySQL 数据库MYSQL_ROOT_PASSWORDyour_passwordMySQL root 用户的密码。
MYSQL_DATABASEpancheck默认创建的数据库名称。
MYSQL_CHARACTER_SET_SERVERutf8mb4数据库字符集。
MYSQL_COLLATION_SERVERutf8mb4_unicode_ci数据库排序规则。
Redis(无)Redis 配置不需要额外环境变量,使用默认设置。

然后通过 SSH 登录到您的群晖,执行下面的命令:

# 新建文件夹 pancheck 和 子目录
mkdir -p /volume1/docker/pancheck/{data,mysql,redis}

# 进入 pancheck 目录
cd /volume1/docker/pancheck

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

初始化的时间有点长

在浏览器中输入 http://群晖IP:8774 就能看到主界面

丟入一个链接,很快就能检测出结果

整合到 OmniBox

OmniBox 的管理后台,设置 网盘检测

启用 网盘检测后,前端进行搜索的时候会启用 PancCheck 应用进行无效链接过滤

而未启用 网盘检测 时,可以搜到更多结果

从数量上看,多了 4 个,说明有 4 个链接是无效的

后台服务

在浏览器中输入 http://群晖IP:8774/admin/login 就能看到登录界面

密码为环境变量 ADMIN_PASSWORD 中设定的值

登录成功后的主界面,失效链接数符合我们在前端看到的结果

PanCheck 还提供 API 接口检测网盘链接,有兴趣可以看官方的详细说明

参考文档

Lampon/PanCheck
地址:https://github.com/Lampon/PanCheck

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值