BT 种子搜索聚合 API 服务 — 并发查询多个数据源,统一过滤、去重、排序后返回 JSON 结果。
| 特性 | 说明 |
|---|---|
| 🔄 多源并发 | 同时查询 PostgreSQL、BitSearch、BitMagnet GraphQL、BTLM 四个数据源 |
| 🔧 可插拔架构 | Provider 注册表 + 延迟导入,新增数据源只需注册一行 |
| 📊 统一管道 | 关键词过滤 → 大小过滤 → infohash 去重 → 做种数过滤 → 多维排序 |
| ⚡ 快速响应 | 无 tracker scrape 开销,全部 provider 并发查询 |
| 🛡️ 安全加固 | 日志 CRLF 净化、Header 注入防护、LIKE 转义、连接池、安全响应头 |
| 🐳 容器化 | 开箱即用的 Docker 镜像,无敏感信息 |
# 使用默认配置启动
docker run -d --name byte-muse-bt -p 3850:3850 liqman/byte-muse-bt:latest
docker run -d --name byte-muse-bt -p 3850:3850 \
-v /path/to/config.json:/app/config.json \
liqman/byte-muse-bt:latest
docker run -d --name byte-muse-bt -p 3850:3850 \
-e BT_DB_HOST=your-db-host \
-e BT_DB_PORT=5432 \
-e BT_DB_USER=your-user \
-e BT_DB_PASSWORD=your-password \
-e BT_DB_NAME=your-database \
-e BT_DB_TABLE=your-table \
liqman/byte-muse-bt:latest
GET /bt/api?keyword=<搜索关键词>
- 的关键词(如 SSIS-950)启用精确匹配- 的关键词返回所有结果{
"data": [
{
"id": 482913,
"site": "98T",
"size_mb": 7710.72,
"seeders": 0,
"title": "SSIS-950 出張先ホテルで...",
"chinese": false,
"uc": false,
"uhd": false,
"free": true,
"download_url": "magnet:?xt=urn:btih:3ef927057e..."
}
]
}
| 字段 | 类型 | 说明 |
|---|---|---|
id | int | 种子唯一标识(哈希生成) |
site | string | 数据源代号:98T / BITS / BITM / BTLM |
size_mb | float | 文件大小(MB) |
seeders | int | 做种数(pg 数据源固定为 0) |
title | string | 种子标题 |
chinese | bool | 是否含中文字幕标记 |
uc | bool | 是否为破解/无码版本 |
uhd | bool | 是否为 4K/UHD 版本 |
free | bool | 是否免费 |
download_url | string | 磁力下载链接 |
配置文件为容器内 /app/config.json,可通过 volume 挂载覆盖。完整示例:
{
"logging": {
"level": "INFO"
},
"api": {
"limit": 10,
"priority_keywords": ["色花", "98t", "98T"],
"min_seeders": 1
},
"bt": {
"provider_defaults": {
"min_size_mb": 0,
"max_size_mb": 0
},
"providers": [
{
"name": "pg",
"enabled": true,
"host": "localhost",
"port": 5432,
"user": "postgres",
"password": "",
"database": "postgres",
"table": "sehuatang"
},
{
"name": "bitsearch",
"enabled": true,
"base_url": "https://bitsearch.to/search?q={query}",
"retries": 2,
"cookies": ""
},
{
"name": "bitmagnet",
"enabled": true,
"base_url": "https://torrent.qiujiahui.com/graphql",
"retries": 2,
"verify_ssl": true,
"count": 10,
"timeout_seconds": 20
},
{
"name": "btlm",
"enabled": true,
"base_url": "https://cdn.btlm.top:65533",
"search_path": "/s",
"retries": 2,
"verify_ssl": false,
"timeout_seconds": 20,
"cookies": ""
}
]
},
"proxy": {
"enabled": false,
"url": "http://127.0.0.1:7890",
"username": "",
"password": ""
}
}
环境变量优先级高于 config.json 中的对应字段:
| 环境变量 | 对应配置 | 说明 |
|---|---|---|
BT_DB_HOST | pg.host | 数据库主机 |
BT_DB_PORT | pg.port | 数据库端口 |
BT_DB_USER | pg.user | 数据库用户名 |
BT_DB_PASSWORD | pg.password | 数据库密码 |
BT_DB_NAME | pg.database | 数据库名 |
BT_DB_TABLE | pg.table | 数据表名 |
BT_QUERY_LIMIT | api.limit | 查询结果数上限 |
BT_BITSEARCH_URL | bitsearch.base_url | BitSearch 搜索 URL 模板 |
BT_BITSEARCH_RETRIES | bitsearch.retries | BitSearch 重试次数 |
BT_BTLM_URL | btlm.base_url | BTLM 站点地址 |
BT_BTLM_RETRIES | btlm.retries | BTLM 重试次数 |
结果按以下优先级排序:
Content type
Image
Digest
sha256:767f6ad70…
Size
54.3 MB
Last updated
23 days ago
docker pull liqman/byte-muse-bt