☺提交盘搜应用
This commit is contained in:
parent
1403c43c33
commit
aeab3b998b
|
|
@ -0,0 +1,55 @@
|
||||||
|
# PanSou 网盘搜索 API
|
||||||
|
|
||||||
|
PanSou 是一个高性能的网盘资源搜索 API 服务,支持 Telegram 搜索和自定义插件扩展,系统以性能和可扩展性为核心,支持并发搜索、结果智能排序和多网盘类型分类。
|
||||||
|
|
||||||
|
## ✨ 特性
|
||||||
|
- **高性能搜索**:并发执行多个 Telegram 频道及插件搜索,显著提升搜索速度
|
||||||
|
- **多网盘类型分类**:自动识别百度网盘、阿里云盘、夸克网盘等多种链接
|
||||||
|
- **智能排序**:基于插件等级、时间新鲜度和关键词权重的综合排序
|
||||||
|
- **异步插件系统**:支持“尽快响应,持续处理”的搜索模式
|
||||||
|
- **二级缓存**:内存 + 磁盘分片缓存机制,大幅提升重复查询性能
|
||||||
|
|
||||||
|
## 🛠 支持的网盘类型
|
||||||
|
百度网盘、阿里云盘、夸克网盘、天翼云盘、UC网盘、移动云盘、115网盘、PikPak、迅雷网盘、123网盘、磁力链接、电驴链接等。
|
||||||
|
|
||||||
|
## 🚀 快速开始
|
||||||
|
|
||||||
|
### 使用 Docker 部署(前后端一体)
|
||||||
|
```bash
|
||||||
|
docker run -d --name pansou -p 80:80 ghcr.io/fish2018/pansou-web
|
||||||
|
```
|
||||||
|
|
||||||
|
### 使用 Docker Compose(推荐)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -o docker-compose.yml https://raw.githubusercontent.com/fish2018/pansou-web/refs/heads/main/docker-compose.yml
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### 仅后端 API
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d --name pansou -p 8888:8888 -v pansou-cache:/app/cache -e CHANNELS="tgsearchers2,xxx" ghcr.io/fish2018/pansou:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📚 API 文档
|
||||||
|
|
||||||
|
### 搜索 API
|
||||||
|
|
||||||
|
- 接口:`/api/search`
|
||||||
|
- 方法:`POST` / `GET`
|
||||||
|
- 参数:
|
||||||
|
- `kw`:搜索关键词
|
||||||
|
- `channels`:搜索的频道
|
||||||
|
- `cloud_types`:网盘类型过滤
|
||||||
|
- 更多详见[项目文档](https://github.com/fish2018/pansou)
|
||||||
|
|
||||||
|
### 健康检查 API
|
||||||
|
|
||||||
|
- 接口:`/api/health`
|
||||||
|
- 方法:`GET`
|
||||||
|
|
||||||
|
## 🔗 项目地址
|
||||||
|
|
||||||
|
- GitHub: https://github.com/fish2018/pansou
|
||||||
|
- 文档: https://github.com/fish2018/pansou
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
name: PanSou
|
||||||
|
tags:
|
||||||
|
- 网盘
|
||||||
|
- 搜索
|
||||||
|
- 自托管
|
||||||
|
title: 高性能网盘搜索 API 服务
|
||||||
|
description: PanSou 是一个支持 Telegram 搜索和插件扩展的高性能网盘搜索 API 系统,支持多网盘类型分类、智能排序、异步插件扩展与二级缓存。
|
||||||
|
additionalProperties:
|
||||||
|
key: pansou
|
||||||
|
name: PanSou
|
||||||
|
tags:
|
||||||
|
- WebSite
|
||||||
|
- Tool
|
||||||
|
shortDescZh: 高性能网盘搜索 API 服务
|
||||||
|
shortDescEn: High-performance cloud drive search API service
|
||||||
|
type: website
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
website: https://github.com/fish2018/pansou
|
||||||
|
github: https://github.com/fish2018/pansou
|
||||||
|
document: https://github.com/fish2018/pansou
|
||||||
|
description:
|
||||||
|
en: High-performance cloud drive search API service supporting Telegram search and plugin extensions, with intelligent sorting and multi-cloud categorization.
|
||||||
|
zh: 高性能网盘搜索 API 系统,支持 Telegram 搜索与插件扩展,具备智能排序和多网盘类型分类。
|
||||||
|
zh-Hant: 高效能網盤搜索 API 系統,支援 Telegram 搜索與插件擴展,具有智能排序和多網盤分類。
|
||||||
|
ja: Telegram検索とプラグイン拡張に対応した高性能クラウドドライブ検索APIシステムです。
|
||||||
|
ms: Perkhidmatan API carian storan awan berprestasi tinggi yang menyokong carian Telegram dan peluasan pemalam.
|
||||||
|
pt-br: Serviço de API de pesquisa de armazenamento em nuvem de alto desempenho com suporte a pesquisa no Telegram e extensões de plugins.
|
||||||
|
ru: Высокопроизводительный API поиска по облачным хранилищам с поддержкой поиска в Telegram и расширений плагинов.
|
||||||
|
ko: 텔레그램 검색과 플러그인 확장을 지원하는 고성능 클라우드 드라이브 검색 API 시스템입니다.
|
||||||
|
architectures:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 7.6 KiB |
|
|
@ -0,0 +1,133 @@
|
||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: 45963
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelEn: HTTP Port
|
||||||
|
labelZh: HTTP 端口
|
||||||
|
label:
|
||||||
|
en: HTTP Port
|
||||||
|
ja: ポート
|
||||||
|
ms: Port
|
||||||
|
pt-br: Porta
|
||||||
|
ru: Порт
|
||||||
|
ko: 포트
|
||||||
|
zh: HTTP 端口
|
||||||
|
zh-Hant: HTTP 連接埠
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: SOCKS5_PROXY
|
||||||
|
labelEn: SOCKS5 Proxy
|
||||||
|
labelZh: SOCKS5 代理
|
||||||
|
label:
|
||||||
|
en: SOCKS5 Proxy
|
||||||
|
ja: SOCKS5プロキシ
|
||||||
|
ms: Proksi SOCKS5
|
||||||
|
pt-br: Proxy SOCKS5
|
||||||
|
ru: SOCKS5 прокси
|
||||||
|
ko: SOCKS5 프록시
|
||||||
|
zh: SOCKS5 代理
|
||||||
|
zh-Hant: SOCKS5 代理
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: HTTP_PROXY
|
||||||
|
labelEn: HTTP Proxy
|
||||||
|
labelZh: HTTP 代理
|
||||||
|
label:
|
||||||
|
en: HTTP Proxy
|
||||||
|
ja: HTTPプロキシ
|
||||||
|
ms: Proksi HTTP
|
||||||
|
pt-br: Proxy HTTP
|
||||||
|
ru: HTTP прокси
|
||||||
|
ko: HTTP 프록시
|
||||||
|
zh: HTTP 代理
|
||||||
|
zh-Hant: HTTP 代理
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: ""
|
||||||
|
envKey: HTTPS_PROXY
|
||||||
|
labelEn: HTTPS Proxy
|
||||||
|
labelZh: HTTPS 代理
|
||||||
|
label:
|
||||||
|
en: HTTPS Proxy
|
||||||
|
ja: HTTPSプロキシ
|
||||||
|
ms: Proksi HTTPS
|
||||||
|
pt-br: Proxy HTTPS
|
||||||
|
ru: HTTPS прокси
|
||||||
|
ko: HTTPS 프록시
|
||||||
|
zh: HTTPS 代理
|
||||||
|
zh-Hant: HTTPS 代理
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
|
||||||
|
- default: true
|
||||||
|
envKey: MOONTV_ENABLE_REGISTER
|
||||||
|
required: true
|
||||||
|
type: select
|
||||||
|
label:
|
||||||
|
en: Enable Registration
|
||||||
|
ja: 登録を有効にする
|
||||||
|
ms: Dayakan Pendaftaran
|
||||||
|
pt-br: Habilitar Registro
|
||||||
|
ru: Включить регистрацию
|
||||||
|
ko: 회원가입 활성화
|
||||||
|
zh: 启用注册
|
||||||
|
zh-Hant: 啟用註冊
|
||||||
|
values:
|
||||||
|
- label: 启用
|
||||||
|
value: "true"
|
||||||
|
- label: 禁用
|
||||||
|
value: "false"
|
||||||
|
|
||||||
|
- default: "3600"
|
||||||
|
envKey: CACHE_TTL
|
||||||
|
labelEn: Cache TTL (seconds)
|
||||||
|
labelZh: 缓存有效期(秒)
|
||||||
|
label:
|
||||||
|
en: Cache TTL (seconds)
|
||||||
|
ja: キャッシュTTL(秒)
|
||||||
|
ms: Cache TTL (saat)
|
||||||
|
pt-br: TTL de Cache (segundos)
|
||||||
|
ru: TTL кэша (сек)
|
||||||
|
ko: 캐시 TTL(초)
|
||||||
|
zh: 缓存有效期(秒)
|
||||||
|
zh-Hant: 快取有效期(秒)
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
|
||||||
|
- default: "200"
|
||||||
|
envKey: MAX_CONCURRENCY
|
||||||
|
labelEn: Max Concurrency
|
||||||
|
labelZh: 最大并发数
|
||||||
|
label:
|
||||||
|
en: Max Concurrency
|
||||||
|
ja: 最大同時実行数
|
||||||
|
ms: Keupayaan Serentak Maks
|
||||||
|
pt-br: Concorrência Máxima
|
||||||
|
ru: Макс. количество потоков
|
||||||
|
ko: 최대 동시 실행 수
|
||||||
|
zh: 最大并发数
|
||||||
|
zh-Hant: 最大並行數
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
|
||||||
|
- default: "30"
|
||||||
|
envKey: MAX_PAGES
|
||||||
|
labelEn: Max Pages
|
||||||
|
labelZh: 最大页面数
|
||||||
|
label:
|
||||||
|
en: Max Pages
|
||||||
|
ja: 最大ページ数
|
||||||
|
ms: Bilangan Halaman Maks
|
||||||
|
pt-br: Páginas Máximas
|
||||||
|
ru: Макс. количество страниц
|
||||||
|
ko: 최대 페이지 수
|
||||||
|
zh: 最大页面数
|
||||||
|
zh-Hant: 最大頁數
|
||||||
|
required: true
|
||||||
|
type: number
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
services:
|
||||||
|
pansou:
|
||||||
|
image: ghcr.io/fish2018/pansou-web:sha-c1292b2
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:80"
|
||||||
|
environment:
|
||||||
|
SOCKS5_PROXY: ${SOCKS5_PROXY}
|
||||||
|
HTTP_PROXY: ${HTTP_PROXY}
|
||||||
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
||||||
|
CACHE_ENABLED: ${CACHE_ENABLED}
|
||||||
|
CACHE_TTL: ${CACHE_TTL}
|
||||||
|
MAX_CONCURRENCY: ${MAX_CONCURRENCY}
|
||||||
|
MAX_PAGES: ${MAX_PAGES}
|
||||||
|
volumes:
|
||||||
|
- ./data/data:/app/data
|
||||||
|
- ./data/logs:/app/logs
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 替换docker-compose.yml中的ghcr.io为ghcr.nju.edu.cn
|
||||||
|
echo "开始替换镜像源地址..."
|
||||||
|
if sed -i 's/ghcr.io/ghcr.nju.edu.cn/g' ./docker-compose.yml; then
|
||||||
|
echo "成功: 已将ghcr.io替换为ghcr.nju.edu.cn"
|
||||||
|
else
|
||||||
|
echo "错误: 替换镜像源地址失败"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# 替换docker-compose.yml中的ghcr.io为ghcr.nju.edu.cn
|
||||||
|
echo "开始替换镜像源地址..."
|
||||||
|
if sed -i 's/ghcr.io/ghcr.nju.edu.cn/g' ./docker-compose.yml; then
|
||||||
|
echo "成功: 已将ghcr.io替换为ghcr.nju.edu.cn"
|
||||||
|
else
|
||||||
|
echo "错误: 替换镜像源地址失败"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue