应用介绍
PanSou 是一款高性能的网盘资源搜索 API 与前端应用,支持聚合多个搜索来源(包括 Telegram 频道与可扩展的插件搜索),并提供结果分类与智能排序。其设计强调并发性能、可扩展性与缓存机制,适合部署在 NAS 环境,为家庭媒体中心提供统一的“资源检索入口”,再与 qBittorrent、Transmission、aria2 等下载器联动完成后续下载与归档。
PanSou 可通过 Docker 一键部署,官方提供后端 API 镜像与前端 Web 镜像:前端负责展示与交互,后端负责并发检索与聚合。典型部署在同一 NAS 主机内以 docker-compose 管理,或将后端运行在独立主机、前端通过环境变量指向后端服务。

安装说明
前提依赖
- NAS 已安装 Docker 与 docker-compose
- 准备持久化目录用于数据与日志(示例使用
./data与./logs) - 如需账号认证,启用后端的认证环境变量;如需公网访问,建议通过反向代理开启 HTTPS 与访问控制
安装配置
以下 docker-compose 同机部署前后端,端口可按需调整:
version: '3.3'
services:
pansou:
image: ghcr.io/fish2018/pansou-web:latest
container_name: pansou-app
labels:
- "autoheal=true" # 标记此容器允许被autoheal重启
ports:
- "17080:80"
environment:
# 基础配置
- DOMAIN=localhost
- PANSOU_PORT=8888
- PANSOU_HOST=127.0.0.1
# 数据目录配置(统一在/app/data下)
- CACHE_PATH=/app/data/cache
- LOG_PATH=/app/data/logs
# 插件配置(镜像已包含推荐插件,如需自定义可取消注释并修改)
# - ENABLED_PLUGINS=labi,zhizhen,shandian,duoduo,muou,wanou,hunhepan,jikepan,panwiki,pansearch,panta,qupansou,hdr4k,pan666,susu,thepiratebay,xuexizhinan,panyq,ouge,huban,cyg,erxiao,miaoso,fox4k,pianku,clmao,wuji,cldi,xiaozhang,libvio,leijing,xb6v,xys,ddys,hdmoli,clxiong,jutoushe,sdso,xiaoji,xdyh,haisou,bixin,djgou,nyaa,xinjuc,aikanzy,qupanshe,xdpan,discourse,yunsou,ahhhhfs,nsgame,quark4k,quarksoo,sousou,ash,feikuai,kkmao,alupan,ypfxw,mikuclub,daishudj,dyyj,meitizy,jsnoteclub,mizixing,lou1,yiove,zxzj,qingying,kkv,yulinshufa,duanjuw,jupansou,lingjisp,quarktv,dyyjpro,gaoqing888,panlian,panzun
# Telegram频道配置(镜像已包含这些默认频道,如需自定义可取消注释)
# - CHANNELS=tgsearchers6,Aliyun_4K_Movies,bdbdndn11,yunpanx,bsbdbfjfjff,yp123pan,sbsbsnsqq,yunpanxunlei,tianyifc,BaiduCloudDisk,txtyzy,peccxinpd,gotopan,PanjClub,kkxlzy,baicaoZY,MCPH01,MCPH02,MCPH03,bdwpzhpd,ysxb48,jdjdn1111,yggpan,MCPH086,zaihuayun,Q66Share,ucwpzy,shareAliyun,alyp_1,dianyingshare,Quark_Movies,XiangxiuNBB,ydypzyfx,ucquark,xx123pan,yingshifenxiang123,zyfb123,tyypzhpd,tianyirigeng,cloudtianyi,hdhhd21,Lsp115,oneonefivewpfx,qixingzhenren,taoxgzy,Channel_Shares_115,tyysypzypd,vip115hot,wp123zy,yunpan139,yunpan189,yunpanuc,yydf_hzl,leoziyuan,Q_dongman,yoyokuakeduanju,TG654TG,WFYSFX02,QukanMovie,yeqingjie_GJG666,movielover8888_film3,Baidu_netdisk,D_wusun,FLMdongtianfudi,KaiPanshare,QQZYDAPP,rjyxfx,PikPak_Share_Channel,btzhi,newproductsourcing,cctv1211,duan_ju,QuarkFree,yunpanNB,kkdj001,xxzlzn,pxyunpanxunlei,jxwpzy,kuakedongman,liangxingzhinan,xiangnikanj,solidsexydoll,guoman4K,zdqxm,kduanju,cilidianying,CBduanju,SharePanFilms,dzsgx,BooksRealm,Oscar_4Kmovies,douerpan,baidu_yppan,Q_jilupian,Netdisk_Movies,yunpanquark,ammmziyuan,ciliziyuanku,cili8888,jzmm_123pan,Q_dianying,domgmingapk,dianying4k,q_dianshiju,tgbokee,ucshare,godupan,gokuapan,gimy115,WFYSFX03,peccxin,Movie888035,xlwpzy,zyywpzy,wydwpzy,gimy100,ucshare,gimy115iso,aliyunys,clouddriveresources,XunLeiPinDao,ydwpzy,a123fxme,WPpindao,kuyupan,djya5,pan_guangya
# 代理配置(可选)
# - PROXY=socks5://xxx.xxx.xxx.xxx:7897
# 性能配置(镜像已包含默认值,如需调整可取消注释)
# - CACHE_ENABLED=true
# - CACHE_TTL=60
# - MAX_CONCURRENCY=200
# - MAX_PAGES=30
# 健康检查配置(容器内部监控)
- HEALTH_CHECK_INTERVAL=30 # 后端服务健康检查间隔(秒)
- HEALTH_CHECK_TIMEOUT=10 # 健康检查超时时间(秒)
- HEALTH_CHECK_RETRIES=3 # 失败重试次数
# 认证配置(可选,默认不启用)
# - AUTH_ENABLED=true
# - AUTH_USERS=admin:admin123,user:pass456
# - AUTH_TOKEN_EXPIRY=24
# - AUTH_JWT_SECRET=your-secret-key-here
volumes:
# 数据持久化(统一挂载/app/data,包含缓存、日志、SSL证书等所有数据)
- pansou-data:/app/data
# 如果需要从宿主机挂载SSL证书,可以使用:
# - ./ssl:/app/data/ssl
restart: unless-stopped
# 自动健康检查和重启服务(容器级别监控)
autoheal:
image: willfarrell/autoheal:latest
container_name: pansou-autoheal
restart: always
environment:
- AUTOHEAL_CONTAINER_LABEL=autoheal # 只监控带有autoheal标签的容器
- AUTOHEAL_INTERVAL=30 # 每30秒检查一次容器健康状态
- AUTOHEAL_START_PERIOD=60 # 启动后60秒开始检查
- AUTOHEAL_DEFAULT_STOP_TIMEOUT=10 # 停止容器的超时时间
volumes:
- /var/run/docker.sock:/var/run/docker.sock
volumes:
pansou-data:
driver: local
说明与注意事项:
- 后端认证:
AUTH_ENABLED=true时启用登录认证;AUTH_USERS用用户名:密码逗号分隔配置多个用户,请更换为强口令 - 端口:后端默认 8888,前端默认 80(示例映射为宿主 17080);如使用反代,
DOMAIN替换为实际域名 - 持久化:
./data与./logs用于持久化数据与日志,确保宿主目录对容器可写 - 生产安全:建议通过 Nginx Proxy Manager/Traefik 反代前端,开启 HTTPS 与访问控制,将后端保持内网可见
可选:仅部署后端(无前端,仅供 API 或自用工具调用)
version: "3.8"
services:
pansou-api:
image: ghcr.io/fish2018/pansou:latest
container_name: pansou-api
restart: unless-stopped
ports:
- "8888:8888"
environment:
- AUTH_ENABLED=true
- AUTH_USERS=admin:changeMeStrong
- AUTH_TOKEN_EXPIRY=24
volumes:
- ./data:/app/data
- ./logs:/app/logs
使用说明
- 启动后访问
http://NAS_IP:17080打开前端界面,使用已配置的账号登录(如启用了认证) - 在搜索框输入关键词(影视/学习资料/软件等),查看聚合结果与网盘类型分类;支持多源并发检索
- 与下载器联动:将检索到的链接提交到 qBittorrent/Transmission/aria2 的 Web UI 或 API;也可保存到 NAS 监控目录,由自动化任务拉起下载
- 性能优化:根据 NAS 性能与并发需求,适当配置后端的缓存策略与插件,减少重复查询耗时
- 反向代理:为前端配置域名与证书,通过
DOMAIN、PANSOU_HOST、PANSOU_PORT正确指向后端;必要时在反代层增加访问限制
开源信息
- GitHub(后端):https://github.com/fish2018/pansou
- 前端镜像:ghcr.io/fish2018/pansou-web:latest
- 说明来源:参考项目 README 与部署示例(包含
docker-compose.yml、认证参数与前后端联动变量)