这个项目能做什么

PanSou 是一个用 Go 编写的高性能网盘资源搜索 API 服务,核心目标是为网盘资源检索提供可自托管的搜索后端。它同时支持 Telegram 频道搜索和自定义插件搜索,并以并发执行、结果排序和网盘类型归类为主要设计方向。 主要能力 - 并发搜索:同时执行多个 TG 频道与异步插件搜索,通过工作池管理并发任务,缩短整体响应时间。 - 网盘类型分类:自动识别链接所属网盘并按类型归类,支持百度网盘、阿里云盘、夸克网盘、光鸭云盘、天翼云盘、UC 网盘、移动云盘、115、PikPak、迅雷、123 网盘、磁力链接、电驴链接及其他类型。 - 智能排序:基于插件等级、时间新鲜度和优先关键词的多维度综合排序。 - 异步插件系统:插件可先快速返回部分结果,再在后台持续处理,缓解部分搜索源响应慢的问题;插件需通过 ENABLED_PLUGINS 显式启用。 - 二级缓存:分片内存加磁盘缓存,提升重复查询速度与并发表现,缓存 TTL、大小、分片数等可配置。 - 可选认证:默认关闭,开启后除登录与健康检查外的接口需携带 JWT Token,支持多用户账号配置与 Token 有效期设置。 接口概览 - POST/GET /api/search:按关键词搜索,可指定频道、插件、并发数、数据来源(TG/插件/全部)、网盘类型、是否强制刷新,以及 include/exclude 关键词过滤;返回原始结果与按网盘类型合并的结果。 - POST /api/check/links:批量检测网盘分享链接是否有效,状态包括 ok、bad、locked、unsupported、uncertain,支持单次请求级代理与检测结果缓存。 - POST /api/auth/login、/api/auth/verify、/api/auth/logout:认证相关接口。 - GET /api/health:健康检查,返回服务状态、认证开关、已启用插件与频道列表。 部署方式 提供前后端集成版与纯后端 API 版两种 Docker 镜像,可用 docker run 或 docker-compose 一键启动;也支持从源码构建,要求 Go 1.18+,可选 SOCKS5/HTTP 代理以访问受限地区的 Telegram 站点。README 还给出了 supervisor 与 nginx(含限流与 HTTPS)配置参考。 项目采用 MIT 许可证,README 声明仅供学习研究,请勿用于盈利目的。