网盘链接检测系统 PanCheck, 结合 OmniBox 观影更稳定!
之前我写了篇关于 OmniBox 的文章,可以让你直接在里面看网盘内容。但有个问题是,OmniBox 后台返回的数据没把那些失效的网盘链接过滤掉,搞得有时候打开链接就报错,挺烦人的。最近我发现了一个开源项目叫 PanCheck,正好可以解决这个问题。
🧾 项目简介
PanCheck 是一个专门用来检查网盘链接是不是还能用的系统,它可以帮你批量检查多个主流网盘的分享链接。用它可以很快知道哪些链接失效了,方便你管理和维护网盘里的资源。和 OmniBox 搭配起来用,效果更好。
✨ 项目亮点
📦 支持的网盘
🐳 部署方法
🎯 Docker Compose
docker-compose.yml
services:
pancheck:
image: lampon/pancheck:latest
container_name: pancheck
ports:
- 8180: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=pancheck # 数据库密码,可以改为自定义密码
- 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=admin1234 # 后台管理密码,记得修改为自定义密码
volumes:
- ./data:/app/data
restart: on-failure:3
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
networks:
pancheck_network:
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=pancheck
- MYSQL_DATABASE=pancheck
- MYSQL_ROOT_HOST=%
- MYSQL_CHARACTER_SET_SERVER=utf8mb4
- MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci
volumes:
- mysql_data:/var/lib/mysql
restart: unless-stopped
networks:
pancheck_network:
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
volumes:
- redis-data:/data
restart: unless-stopped
networks:
pancheck_network:
command: redis-server --appendonly yes
healthcheck:
test: [CMD, redis-cli, ping]
interval: 10s
timeout: 3s
retries: 3
volumes:
redis-data:
mysql_data:
driver: local
networks:
pancheck_network:DATABASE_DATABASE和MYSQL_ROOT_PASSWORD必须一样,不然用不了。ADMIN_PASSWORD是管理后台的登录密码,为了安全,记得改一下。
1. 在飞牛主页面找到 Docker,然后点 Compose -> 新增项目
2. 填好项目名称,选个路径,然后把 docker-compose.yml 里的内容复制到来源框里
3. 到 Docker 管理页面,在 容器 菜单里就能看到它是不是跑起来了
📖 使用方法
1. 打开 http://[你的 NAS IP]:8180 就能看到主页面
2. 随便找个网盘分享链接,复制到页面上的文本框里,很快就能看到检查结果
3. 后台管理
1. 在浏览器里打开 http://你的NAS IP:8180/admin/login,然后登录
密码就是环境变量 ADMIN_PASSWORD 里的值,默认是 admin1234
2. 登录之后,可以访问这些功能:
仪表盘 (
/admin/dashboard): 查看检查统计和数据设置 (
/admin/settings): 配置检查频率和 Redis 缓存等等定时任务 (
/admin/scheduled-tasks): 创建和管理定时检查任务
PanCheck 还提供了 API 接口,可以用来检测网盘链接 ,有兴趣可以看看官方的详细说明。
📺 整合 OmniBox
1. 在 OmniBox 后台设置 网盘检测
2. 搜索网盘资源
没开 PanCheck 的时候,能搜到 605 个网盘资源,里面包含失效的。
开启 PanCheck 之后,会自动排除失效的资源,只剩下 416 个。
🔧 常见问题
检测结果不准
检查网络是不是有问题
有些网盘可能有频率限制,可以试着调整一下检测频率
看一下后台日志,里面可能有详细的错误信息
管理后台打不开
确认服务已经启动了
检查一下防火墙设置
确认访问地址没错:
http://NAS IP:8180/admin/login
🎉 总结
从实际效果来看,启用 PanCheck 之后,OmniBox 的搜索结果会自动过滤掉失效的链接,数量从 605 条减少到 416 条,数量少了,但是更“干净”了。OmniBox 负责“找”和“看”,PanCheck 负责“查”和“稳”——两者结合起来,可以减少无效点击,让观看体验更流畅。