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 api