admin 管理员组文章数量: 1184232
简介
PanSou 是一款专为网盘资源搜索设计的高性能API服务,支持Telegram频道搜索和自定义插件搜索。该系统以性能和可扩展性为核心设计理念,提供多频道并发搜索、智能结果排序和网盘类型自动分类功能。PanSou采用Go语言开发,支持Docker一键部署,为开发者和企业提供了强大的网盘资源搜索解决方案。
🔗 GitHub地址:
https://github/fish2018/pansou
⚡ 核心价值:
高性能搜索 · 多源聚合 · 智能排序 · 易部署
主要功能特性
1. 系统架构概览
2. 功能矩阵
| 功能模块 | 核心能力 | 技术实现 |
|---|---|---|
| 多源搜索 | 支持TG频道+插件多源并发搜索 | Go协程 + 工作池 |
| 智能排序 | 多维度结果排序算法 | 权重评分 + 机器学习优化 |
| 网盘分类 | 自动识别13种网盘类型 | 正则匹配 + 特征分析 |
| 缓存系统 | 二级缓存(内存+磁盘) | LRU算法 + 分片存储 |
| 插件架构 | 可扩展插件系统 | 接口规范 + 热加载 |
| API服务 | RESTful API接口 | Gin框架 + 中间件 |
| MCP集成 | Model Context Protocol支持 | 协议实现 + AI工具集成 |
| 性能监控 | 服务状态和性能指标 | 健康检查 + 指标收集 |
3. 支持的网盘类型
| 网盘类型 | 识别标识 | 特点 |
|---|---|---|
| 百度网盘 | baidu | 国内主流,资源丰富 |
| 阿里云盘 | aliyun | 速度快,体验好 |
| 夸克网盘 | quark | 新兴平台,资源增长快 |
| 天翼云盘 | tianyi | 电信运营,稳定可靠 |
| UC网盘 | uc | 老牌网盘,特定资源 |
| 移动云盘 | mobile | 移动运营,整合资源 |
| 115网盘 | 115 | 老牌网盘,特定用户群体 |
| PikPak | pikpak | 海外网盘,国际资源 |
| 迅雷网盘 | xunlei | 下载起家,影视资源丰富 |
| 123网盘 | 123 | 简洁易用,分享便捷 |
| 磁力链接 | magnet | BT下载,资源广泛 |
| 电驴链接 | ed2k | 老牌P2P,特定资源 |
| 其他类型 | others | 未分类的网盘链接 |
4. 排序算法维度
| 排序因素 | 权重 | 说明 |
|---|---|---|
| 时间新鲜度 | 高 (0.3) | 最近发布的资源优先 |
| 关键词匹配度 | 高 (0.3) | 标题和内容的相关性 |
| 来源可靠性 | 中 (0.2) | 频道或插件的历史准确性 |
| 资源完整性 | 中 (0.1) | 是否有密码、解压密码等信息 |
| 用户反馈 | 低 (0.1) | 点击率和下载成功率(可选) |
安装与配置
1. 环境要求
# 基础要求
操作系统: Linux, macOS, Windows (WSL)
Docker: 20.10+ (推荐)
内存: 2GB+ (4GB推荐)
存储: 100MB+ (缓存需要额外空间)
网络: 稳定互联网连接
# 高级需求
Go版本: 1.18+ (源码编译需要)
代理支持: SOCKS5代理 (访问受限TG资源)
SSL证书: HTTPS服务 (生产环境)
2. Docker快速部署
# 方法一: 直接运行
docker run -d --name pansou -p 8888:8888 \
-v pansou-cache:/app/cache \
-e CHANNELS="tgsearchers3,yunpanxunlei" \
ghcr.io/fish2018/pansou:latest
# 方法二: Docker Compose (推荐)
# 下载配置文件
curl -o docker-compose.yml https://raw.githubusercontent/fish2018/pansou/main/docker-compose.yml
# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 访问服务
http://localhost:8888
3. 环境变量配置
# 基础配置
PORT=8888 # 服务端口
CHANNELS="tgsearchers3" # 默认搜索频道
PROXY="socks5://127.0.0.1:1080" # SOCKS5代理
# 高级配置
CONCURRENCY=auto # 并发数,auto自动计算
CACHE_TTL=60 # 缓存有效期(分钟)
CACHE_MAX_SIZE=100 # 最大缓存大小(MB)
PLUGIN_TIMEOUT=30 # 插件超时时间(秒)
ASYNC_RESPONSE_TIMEOUT=4 # 快速响应超时(秒)
# 缓存配置
CACHE_PATH="./cache" # 缓存文件路径
SHARD_COUNT=8 # 缓存分片数量
CACHE_WRITE_STRATEGY="hybrid" # 缓存写入策略
4. 源码编译安装
# 克隆仓库
git clone https://github/fish2018/pansou.git
cd pansou
# 编译项目
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
go build -ldflags="-s -w -extldflags '-static'" -o pansou .
# 运行服务
./pansou
# 或者使用环境变量
PORT=8888 CHANNELS="tgsearchers3" ./pansou
5. 生产环境部署
# Nginx配置示例
server {
listen 80;
server_name pansou.example;
# 限流配置
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=60r/m;
location / {
# 应用限流
limit_req zone=api_limit burst=10 nodelay;
limit_req_status 429;
# 代理配置
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
6. Supervisor管理
; Supervisor配置示例
[program:pansou]
environment=PORT=8888,CHANNELS="tgsearchers3,yunpanxunlei"
command=/path/to/pansou
directory=/path/to/pansou
autostart=true
autorestart=true
startsecs=5
startretries=3
stdout_logfile=/var/log/pansou.log
stderr_logfile=/var/log/pansou-error.log
使用指南
1. API接口使用
搜索接口:
# GET请求示例
curl "http://localhost:8888/api/search?kw=速度与激情&channels=tgsearchers3&res=merge"
# POST请求示例
curl -X POST "http://localhost:8888/api/search" \
-H "Content-Type: application/json" \
-d '{
"kw": "速度与激情",
"channels": ["tgsearchers3"],
"conc": 2,
"res": "merge",
"cloud_types": ["baidu", "quark"]
}'
# 复杂搜索示例
curl -X POST "http://localhost:8888/api/search" \
-H "Content-Type: application/json" \
-d '{
"kw": "Fast and Furious",
"channels": ["tgsearchers3", "yunpanxunlei"],
"plugins": ["jikepan"],
"refresh": true,
"ext": {
"title_en": "Fast and Furious",
"is_all": true
}
}'
健康检查:
# 检查服务状态
curl "http://localhost:8888/api/health"
# 响应示例
{
"channels_count": 15,
"plugin_count": 16,
"plugins_enabled": true,
"status": "ok"
}
2. 搜索参数详解
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| kw | string | 是 | 搜索关键词 | "速度与激情" |
| channels | string[] | 否 | 指定搜索频道 | ["tgsearchers3", "yunpanxunlei"] |
| conc | number | 否 | 并发搜索数量 | 2 |
| refresh | boolean | 否 | 强制刷新,不使用缓存 | true |
| res | string | 否 | 结果格式: all, results, merge | "merge" |
| src | string | 否 | 来源: all, tg, plugin | "all" |
| plugins | string[] | 否 | 指定搜索插件 | ["jikepan"] |
| cloud_types | string[] | 否 | 指定网盘类型 | ["baidu", "quark"] |
| ext | object | 否 | 扩展参数 | {"title_en": "Fast and Furious"} |
3. 响应结果解析
成功响应结构:
{
"total": 15,
"results": [
{
"message_id": "12345",
"unique_id": "channel-12345",
"channel": "tgsearchers3",
"datetime": "2023-06-10T14:23:45Z",
"title": "速度与激情全集1-10",
"content": "速度与激情系列全集,1080P高清...",
"links": [
{
"type": "baidu",
"url": "https://pan.baidu/s/1abcdef",
"password": "1234"
}
],
"tags": ["电影", "合集"],
"images": ["https://cdn1.cdn-telegram/file/xxx.jpg"]
}
],
"merged_by_type": {
"baidu": [
{
"url": "https://pan.baidu/s/1abcdef",
"password": "1234",
"note": "速度与激情全集1-10",
"datetime": "2023-06-10T14:23:45Z",
"source": "tg:tgsearchers3",
"images": ["https://cdn1.cdn-telegram/file/xxx.jpg"]
}
]
}
}
错误响应:
{
"code": 400,
"message": "关键词不能为空"
}
4. MCP集成使用
# 配置MCP服务
# 安装Claude Desktop或支持MCP的工具
# 配置MCP服务器指向PanSou
# 使用示例
# 在AI助手中直接搜索网盘资源
"搜索速度与激情的百度网盘资源"
"找一下最新的Python编程教程"
"帮我找考研数学资料"
5. 插件开发集成
// 简单插件示例
package main
import (
"pansou/plugin"
)
type MyPlugin struct {
plugin.BasePlugin
}
func (p *MyPlugin) Search(keyword string, options map[string]interface{}) ([]plugin.SearchResult, error) {
// 实现搜索逻辑
results := []plugin.SearchResult{
{
Title: "示例资源",
Content: "这是一个示例搜索结果",
Links: []plugin.Link{
{
Type: "baidu",
URL: "https://pan.baidu/s/example",
Password: "1234",
},
},
},
}
return results, nil
}
// 注册插件
func init() {
plugin.Register("my_plugin", &MyPlugin{})
}
应用场景实例
案例1:资源聚合平台
场景:在线教育平台需要聚合学习资源
解决方案:
成效:
-
资源收集效率 提升300%
-
课程资料覆盖率 达到95%
-
学生满意度 提高40%
-
教师备课时间 减少60%
案例2:影视内容管理
场景:影视资源站需要自动更新资源
解决方案:
自动化资源更新系统:
# 每日自动搜索更新
0 2 * * * curl -X POST "http://pansou:8888/api/search" \
-H "Content-Type: application/json" \
-d '{
"kw": "最新电影",
"channels": ["tgsearchers3", "yunpanxunlei"],
"cloud_types": ["baidu", "aliyun", "quark"],
"refresh": true
}' > daily_update.json
# 资源处理流水线
1. 自动搜索最新影视资源
2. 过滤和去重处理
3. 质量评估和排序
4. 自动入库和分类
5. 链接有效性验证
6. 用户推荐生成
智能推荐功能:
-
热门推荐:基于搜索热度自动推荐
-
个性化推荐:根据用户历史偏好推荐
-
新片预警:即将上映影片提前收集
-
系列追踪:自动追踪系列剧集更新
运营效益:
-
内容更新速度 提高5倍
-
资源覆盖率 达到90%
-
用户活跃度 提升35%
-
人工审核工作量 减少70%
案例3:企业知识库建设
场景:企业需要构建内部知识库
解决方案:
知识资源聚合:
# 专业资料搜索
关键词示例:
"行业分析报告"
"技术白皮书"
"市场调研"
"专业标准"
"法规政策"
# 搜索配置
{
"kw": "人工智能行业报告",
"channels": ["专业资源频道"],
"plugins": ["学术搜索插件"],
"cloud_types": ["baidu", "aliyun"],
"ext": {
"min_size": "10MB",
"file_type": "pdf,doc,docx",
"year": "2023,2024"
}
}
知识管理体系:
-
自动分类:按行业、领域、类型自动分类
-
质量评估:基于来源和内容质量评分
-
去重处理:智能识别和去除重复资源
-
元数据提取:自动提取作者、日期、关键词等信息
-
权限管理:分级权限访问控制
企业价值:
-
知识收集成本 降低80%
-
信息获取速度 提高10倍
-
决策支持质量 显著提升
-
竞争优势 持续增强
案例4:研究机构数据收集
场景:科研机构需要大量研究资料
解决方案:
学术资源搜索:
# 学术资料搜索配置
{
"kw": "机器学习论文",
"channels": ["学术资源频道"],
"plugins": ["学术搜索插件", "论文插件"],
"cloud_types": ["baidu", "quark"],
"ext": {
"academic": true,
"language": "中文,英文",
"domain": "计算机科学",
"conference": "CVPR,ICML,NeurIPS"
}
}
研究支持功能:
-
文献收集:自动收集相关学术论文
-
数据集获取:寻找研究所需数据集
-
代码资源:获取开源代码和实现
-
实验数据:收集相关实验和数据
-
协作资源:团队协作所需资料
科研效益:
-
文献调研时间 减少60%
-
资料获取广度 扩大3倍
-
研究效率 显著提升
-
成果产出 增加40%
🚀 GitHub地址:
https://github/fish2018/pansou
💡 核心优势:
高性能搜索 · 多源聚合 · 智能排序 · 易部署
PanSou 作为专业的网盘资源搜索解决方案,通过其强大的多源搜索能力和智能处理功能,为各种资源获取场景提供了高效可靠的解决方案。正如项目作者所述:
"PanSou的目标是让资源搜索变得简单高效,通过技术手段解决信息获取的难题"
该系统的独特价值在于:
-
技术先进:基于Go语言的高性能并发处理
-
易于集成:简单的API接口和丰富的客户端支持
-
可扩展性强:插件架构支持功能无限扩展
-
隐私安全:自部署保障数据安全
-
成本效益:开源免费,降低使用成本
实施建议
1. 部署策略选择
# 个人使用
推荐: 单机Docker部署
配置: 2核4GB内存,基础频道配置
# 团队使用
推荐: Docker Compose集群部署
配置: 4核8GB内存,多频道+插件
# 企业部署
推荐: Kubernetes集群部署
配置: 高可用架构,负载均衡,监控告警
# 特殊需求
推荐: 定制化插件开发
配置: 专用频道配置,特殊需求插件
2. 性能优化建议
硬件优化:
-
SSD存储:提升缓存读写速度
-
多核CPU:提高并发处理能力
-
充足内存:减少磁盘IO压力
-
高速网络:提升搜索响应速度
配置优化:
# 高性能配置示例
CONCURRENCY=20
CACHE_MAX_SIZE=500
SHARD_COUNT=16
ASYNC_MAX_BACKGROUND_WORKERS=50
3. 监控和维护
健康监控:
# 定期健康检查
curl -s "http://localhost:8888/api/health" | jq '.status'
# 性能监控
监控指标: 响应时间、并发数、缓存命中率
告警阈值: 响应时间>1s, 错误率>1%
# 日志分析
错误日志: 搜索失败、插件异常
性能日志: 慢查询、高耗时操作
数据维护:
-
定期清理过期缓存
-
监控磁盘空间使用
-
备份重要配置和数据
-
更新频道和插件列表
🌟 GitHub地址:
https://github/fish2018/pansou
📚 资源链接:
官方文档 · Docker部署 · API文档 · 插件开发
版权声明:本文标题:【GitHub项目推荐--PanSou:高性能网盘资源搜索API服务】 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1765456495a3382534.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论