BitMagnet 分类器配置解析与 Docker Compose 文件后缀说明
学习笔记作者:admin日期:2025-06-29点击:38
摘要:本文详细解释了 BitMagnet 分类器的配置文件结构,包括关键词匹配、内容类型识别、删除规则等核心逻辑。同时介绍了 Docker Compose 文件的常见后缀和使用方式,帮助开发者快速理解并部署相关服务。
BitMagnet 分类器配置解析
BitMagnet 分类器是一个用于自动识别和管理 BT 种子(torrent)内容类型的工具,其配置文件通过一系列条件判断、关键字匹配和内容识别规则来实现自动化分类。
1. $schema 字段
$schema: "https://bitmagnet.io/schemas/classifier-0.1.json" 是 YAML 配置文件中的元数据字段,用于声明该文件遵循 BitMagnet 的 `classifier-0.1` 格式规范。虽然不是强制性的,但保留该字段有助于开发和调试。
2. workflows.default 工作流
这是分类器的核心工作流程,按顺序执行以下步骤:
- 过滤非法内容: 如果种子名称或文件路径中包含被禁关键词(如儿童色情相关词汇),则直接删除。
- 识别内容类型: 根据文件扩展名和名称关键词推断内容类型,例如音频、视频、电子书等。
- 解析日期信息: 尝试从种子名称中提取完整的日期,辅助内容类型判断。
- 匹配已知内容 ID: 如果种子提供了内容 ID(如 IMDB ID),优先在本地查找匹配内容,否则调用 TMDB API。
- 解析视频相关信息: 提取标题、年份、分辨率等信息。
- 搜索匹配内容: 在本地或远程数据库中查找匹配内容。
- 根据设置删除内容: 删除指定类型的内容(如小说、漫画、成人内容等)。
3. 关键词匹配 (keywords)
关键词列表用于在种子名称或文件路径中进行模糊匹配,以识别非法内容或其他特定类型的内容。
keywords:
banned:
- pa?edo(fil*|phil*)?
- pre
- (#|10|11|12|13|14|15|16|17) ?y ?o
这些关键词用于检测可能涉及儿童色情或其他非法内容的种子。
4. 扩展名映射 (extensions)
定义了各种媒体类型的常见文件扩展名,用于识别内容类型。
extensions:
audio:
- mp3
- wav
- flac
- aac
- ogg
- m4a
- m4b
- mid
- dsf
audiobook:
- m4b
comic:
- cb7
- cba
- cbr
- cbt
- cbz
ebook:
- azw
- azw3
- azw4
- azw8
- chm
- doc
- docx
- djvu
- epub
- lit
- mobi
- odt
- pdf
- rtf
image:
- jpg
- jpeg
- png
- gif
- bmp
- svg
- dds
- psd
- tif
- tiff
- ico
music:
- ape
- dsf
- flac
software:
- apk
- app
- bat
- bin
- deb
- dll
- dmg
- exe
- iso
- jar
- lua
- msi
- package
- pkg
- rpm
- sh
video:
- mp4
- mkv
- avi
- iso
- mov
- wmv
- flv
- m4v
- mpg
- mpeg
- ts
- vob
5. 标志位 (flags)
标志位用于控制分类器的行为,例如是否启用本地搜索、API 接口、删除某些内容类型等。
flags:
local_search_enabled: true
apis_enabled: true
tmdb_enabled: true
delete_content_types: []
delete_xxx: false
Docker Compose 文件后缀说明
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具,其配置文件通常使用 YAML 或 JSON 格式。
1. 常见文件后缀
- docker-compose.yml: 默认的 YAML 格式配置文件,最常用。
- docker-compose.yaml: 同样是 YAML 格式,只是后缀不同。
- compose.yml: 更现代的写法(Docker 推荐的新方式)。
- docker-compose.override.yml: 用于覆盖主配置文件(如开发环境专用配置)。
- docker-compose.prod.yml: 生产环境配置文件(自定义命名)。
- docker-compose.dev.yml: 开发环境配置文件(自定义命名)。
2. 使用方式
如果使用默认文件名(如 docker-compose.yml),直接运行:
docker-compose up
如果使用其他文件名,需要指定:
docker-compose -f docker-compose.prod.yml up
3. 总结
- 推荐使用哪个? docker-compose.yml(最通用)。
- 是否必须叫这个名字? 不是,可以用 -f 指定任意名称。
- 可以有多个 compose 文件吗? 可以,通过 -f 多次指定或使用 extends 扩展。