配置文件参考 - MiCat-S/Mi302 GitHub Wiki
这一页列出配置文件 config.yaml 的每一个键:含义、默认值、允许的范围、能不能在管理页面上改,以及要不要重启。平时在管理页面上设置就好,不必直接改这个文件。
| 安装方式 | 位置 |
|---|---|
| 一键安装(Linux) | /opt/mi302/config/config.yaml |
| 一键安装(macOS) | ~/Mi302/config/config.yaml |
| 手动用 Python | 运行命令时所在目录的 config.yaml
|
启动时可以用 -c 路径 指定配置文件。没指定时看环境变量 EMBYSERVER_CONFIG,再没有就用当前目录的 config.yaml。“设定”页最上面会显示当前用的是哪个文件。
- 自动生成:第一次启动时没有配置文件,Mi302 用默认值启动,并生成一份带说明注释的配置文件。
-
页面保存时写回:在管理页面上保存设置时,文件按模板整个重新生成,覆盖前把旧文件留成
config.yaml.bak。自己加的注释和不认识的键不会保留。 - 直接改文件:改完后打开或刷新管理页面,Mi302 发现文件改过,就重新读取并应用。
-
写错时:启动时配置文件格式错误(YAML 写错、少了必填的键),Mi302 不会启动。原因打印在启动时的输出里,不在日志文件里:Linux 的服务用
journalctl -u mi302查看,macOS 和没有 systemd 的环境在data/logs/console.log,手动运行的在终端上。运行中改坏了,页面上方会显示错误,Mi302 继续用上次读到的设置。 - 启动时的检查:直接改的内容没经过管理页面的检查,启动时按页面保存时的规则再检查一次(见下面的“检查与范围”)。同步任务的本地文件夹不是完整路径,或两个任务的本地文件夹互相包含时,那个任务先不用;更新用的代理、GitHub 加速网址格式不对时,改好之前都不用(直连);其他检查不过的只提示。Mi302 照常启动,把问题记进日志,页面上方也会显示。修正配置文件后刷新页面就会套用。页面写回配置文件时(例如保存设置),先不用的同步任务和代理会从配置文件中去掉。
- 不认识的键:打错字或旧版留下的键会被跳过,Mi302 记一条警告“设定档 … 底下不认得 …,已略过”,不影响启动。
下面这些只在启动时读取,改了要重启 Mi302(一键安装的用 mi302 restart):
-
server.host、server.port、server.data_dir usersp115.cookies
其他的键在管理页面上保存后马上生效;直接改文件的,刷新管理页面后生效。
在管理页面上保存,或重新读取改过的配置文件时,Mi302 会检查设置。有错的不会应用,并显示原因。超出范围的数字会自动改成最接近的允许值:
| 键 | 允许的范围 |
|---|---|
server.backup_keep |
0–90 |
server.log_level |
info 或 debug,其他值当成 info
|
moviepilot.concurrency |
1–8 |
moviepilot.timeout |
10–3600 |
qbittorrent.stalled_minutes |
10–10080 |
qbittorrent.stalled_speed |
0–100000 |
mediainfo.concurrency |
1–3 |
mediainfo.interval |
0.5–60 |
mediainfo.timeout |
10–3600 |
mediainfo.hourly_limit |
0–100000 |
其他检查:
- 媒体库:名称不能为空、不能重复,至少要有一个文件夹。
type不是tvshows的一律当成movies。 - 同步任务:115 目录和本机文件夹都要填;本机文件夹要是完整路径;两个任务的本机文件夹不能相同或互相包含。
-
moviepilot.url要以http://或https://开头,结尾的/会去掉。qbittorrent.url也一样。 - 路径对应、路径替换里
from或to为空的那一条会被跳过。 -
mediainfo.ffprobe为空时当成ffprobe。 -
aliyun.online_api要以https://开头或者为空(refresh token 会放在网址里发过去,不能走明文);aliyun.client_id、aliyun.client_secret要一起填或都留空。
这些存在数据库 <data_dir>/library.db 里,不写进配置文件,每天的备份会包含它们(见备份与还原):
- 账号和密码(只存哈希)。账号创建之后,在管理页面“使用者”分页新增、改密码、删除,都不会写回配置文件。
- 115 登录状态:扫码或粘贴的 cookie,以及 115 开放平台的 token。
- 阿里云盘的 refresh token(在“115 网盘 → 阿里云盘秒传”登录)。
- 在管理页面上创建的 API 密钥。
- 115 同步的进度和对照表、自动检测到的 strm 服务器地址。
- 观看记录、媒体信息、学到的片头片尾等。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
name |
Emby Server |
播放器里显示的服务器名称 | 设定 → 伺服器 →“伺服器名称” |
host |
0.0.0.0 |
监听地址。0.0.0.0 是所有网卡;127.0.0.1 只有这台机器自己连得上 |
只能改文件,要重启 |
port |
8096 |
管理页面和播放器连接用的端口 | 只能改文件,要重启。一键安装的也可以重新运行安装脚本加 --port,见安装
|
data_dir |
./data |
数据库、日志、备份、上传的封面所在的目录。相对路径是相对于启动 Mi302 时的工作目录(一键安装的服务是 config/),不是配置文件所在的目录 |
只能改文件,要重启 |
public_users |
true |
播放器的登录界面是否列出用户名 | 设定 → 伺服器 →“播放器登入画面列出使用者名称” |
log_level |
info |
info = 一般;debug = 详细,另外记录每个播放器请求 |
日志 →“详细模式” |
backup_keep |
7 |
每天自动备份,留最新几份,0–90;0 = 不自动备份 | 设定 → 备份 →“保留几份” |
chinese_people |
true |
演职人员显示中文名 | 设定 → 中文化 →“演职人员显示中文名” |
chinese_genres |
true |
类型显示中文(Action → 动作),繁体换成简体;关掉后重新扫描即还原 | 设定 → 中文化 →“类型显示中文” |
intro_skip |
true |
从播放行为学习片头片尾,给播放器“跳过片头”用 | 整理 → 片头片尾 → 设定 →“学片头片尾并给播放器” |
allow_download |
true |
播放器可以下载视频(要登录)。关掉后播放器不显示下载,直接访问下载地址也会被拒绝 | 设定 → 播放 →“允许播放器下载影片” |
update_check |
true |
每 6 小时向 GitHub 查一次有没有新版,有的话网页每一页上方提示。关掉后还是可以在网页上点“检查更新” | 侧栏的版本卡片 → 版本与更新 →“自动检查更新” |
update_proxy |
空 | 检查更新、更新(git、安装依赖)用的代理,http:// 或 socks5://,例如 http://127.0.0.1:7890;空的是直连 |
侧栏的版本卡片 → 版本与更新 →“连不上 GitHub:代理、GitHub 加速” |
update_github_proxy |
空 | GitHub 加速网址,例如 https://ghfast.top/,下载新版时接在 GitHub 网址前面 |
同上 |
相关页面:日志与常见问题、媒体库与扫描、片头片尾跳过、播放与外网访问、备份与还原。
启动时预先创建的账号。默认是 users: [],平时留空就好:第一次打开管理页面时,会让你创建管理员。
users:
- name: admin
password: 你的密码
admin: true| 键 | 默认值 | 说明 |
|---|---|---|
name |
必填 | 账号名 |
password |
空 | 密码,明文 |
admin |
false |
是否为管理员。管理员才能进管理页面 |
- 只能改文件,要重启。
- 每次启动时,列表里还不存在的账号会被创建(名称不分大小写)。已经存在的账号不会被改,所以在这里改密码没有作用。
- 在管理页面上删掉的账号会一起从这个列表去掉,下次启动不会再创建。配置文件有错、写不进去时,页面会提示,这时要自己从列表删掉。
- 密码是明文,
config.yaml.bak和备份的.yaml里也有。账号建好之后,可以把这一段删掉,账号仍然在数据库里。
媒体库。默认是 libraries: [],在“媒体库”分页用“新增媒体库”或“从资料夹批量新增”创建。
libraries:
- name: 电影
type: movies
paths:
- /media/movies
- name: 剧集
type: tvshows
paths:
- /media/tv| 键 | 默认值 | 说明 |
|---|---|---|
name |
必填 | 媒体库名称,不能重复 |
type |
movies |
movies = 电影,tvshows = 剧集 |
paths |
必填 | 文件夹列表,至少一个。旧版的单个 path 也认得 |
改了媒体库之后,只重新扫描有改动的媒体库;删掉的媒体库连同里面的条目一起移除。见媒体库与扫描。
115 网盘的登录。登录请在管理页面扫码,见 115 网盘与同步。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
cookies |
空 | 115 cookie,效果等同在管理页面上粘贴 cookie。只在启动时、而且数据库里还没有 115 登录时使用。只能包含英文字母、数字和符号,不能换行 | 只能改文件,要重启。页面上粘贴的 cookie 存在数据库里,不写进这里 |
app |
alipaymini |
扫码登录时占用的 115 设备类型,同类型的其他登录会被踢下线。可选 alipaymini、wechatmini、tv、qandroid、ios、android、web
|
115 网盘 → 帐号 →“进阶:扫码占用的装置类型、115 开放平台”→“扫码登入占用的 115 装置类型”,点“储存装置类型和 AppID”,下次扫码时生效 |
timeout |
15.0 |
调用 115 的超时秒数 | 只能改文件 |
open_app_id |
空 | 115 开放平台 AppID,只有自己申请到应用的人才需要 | 115 网盘 → 帐号 →“进阶:扫码占用的装置类型、115 开放平台”→“AppID”,点“储存装置类型和 AppID” |
同步成 strm 的选项。“115 网盘”分页的“同步选项”卡片改完点“储存同步选项”。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
interval |
0 |
每隔几分钟自动增量同步;0 = 不自动,建议 5 | 115 网盘 → 同步选项 →“自动增量同步间隔(分钟)” |
full_interval |
168 |
每隔几小时自动全量同步;0 = 不自动,168 = 每周 | 115 网盘 → 同步选项 →“自动全量同步间隔(小时)” |
min_size_mb |
0 |
小于这个大小(MB)的视频不生成 strm;0 = 不限 | 115 网盘 → 同步选项 →“略过小于这个大小的影片(MB)” |
download_metadata |
true |
一并下载 115 上的 nfo、图片、字幕 | 115 网盘 → 同步选项 →“一并下载 115 上的 nfo、海报、字幕” |
delete_stale |
false |
115 上删掉或移出同步目录的视频,本机的 strm 和刮削数据也跟着删 | 115 网盘 → 同步选项 →“跟着删” |
base_url |
空 | strm 里的服务器地址;空 = 自动用打开管理页面时的地址。改了之后现有的 strm 会在后台一起改写(只动本地文件) | 115 网盘 → 同步选项 →“strm 里的伺服器网址” |
include_name |
false |
strm 地址后面附上 ?/原文件名,方便人工辨认;改了之后现有的 strm 会一起改写 |
115 网盘 → 同步选项 →“strm 网址后附上原档名” |
request_delay |
0.2 |
逐层列 115 目录、单独查文件夹路径、找空文件夹时,每次请求前等几秒 | 115 网盘 → 同步选项 →“每列一个 115 目录前等待的秒数” |
scan_after_sync |
true |
同步完重新扫描有变动的地方 | 115 网盘 → 同步选项 →“同步完自动重新扫描媒体库” |
tasks |
[] |
同步任务,见下面 | 115 网盘 →“同步任务” |
interval、full_interval 没有上限,0 或负数都表示不自动。
tasks 的格式:
p115:
strm:
tasks:
- remote: /影视/电影
local: /media/movies/115-
remote:115 上的目录。开头没有/时会自动补上。 -
local:放 strm 的本机文件夹,要是完整路径,而且要在某个媒体库里。 - 两个任务的
local不能相同,也不能一个在另一个里面。
刮削交给 MoviePilot。见 MoviePilot 集成。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
url |
空 | MoviePilot 地址,例如 http://192.168.1.10:3000,要以 http:// 或 https:// 开头 |
MoviePilot → 连线 →“MoviePilot 网址” |
api_token |
空 | MoviePilot 的“设定 → 系统 → API 令牌” | MoviePilot → 连线 →“API 令牌” |
username |
空 | MoviePilot 账号。V3 用 API 令牌就够;旧版(V2)的刮削、补全缺集、整理 115 网盘不接受令牌时才要填 | MoviePilot → 连线 →“MoviePilot 帐号” |
password |
空 | MoviePilot 密码,明文 | MoviePilot → 连线 →“MoviePilot 密码” |
scrape_after_sync |
true |
同步生成新的 strm 后自动发去刮削 | MoviePilot → 刮削 →“同步产生新的 strm 后自动送去刮削”(切换后马上储存) |
fill_after_full_sync |
false |
全量同步后把所有有 tmdbid 的剧发给 MoviePilot 订阅,补齐缺集 | MoviePilot → 补全缺集 → 设定 →“全量同步后自动补全” |
fill_interval |
60 |
补全缺集时两个新订阅之间隔几秒(每个新订阅都会让 MoviePilot 搜一遍所有站点,一次建太多会被 Cloudflare 拦截),0–3600,0 = 不隔 | MoviePilot → 补全缺集 → 设定 →“两个新订阅之间隔几秒” |
fill_max_missing |
0 |
补全缺集时,对照 TMDB 一季缺的集数超过这么多就不建订阅(例如只收了几集的长篇动画),0 = 不限 | MoviePilot → 补全缺集 → 设定 →“缺超过几集的季不补” |
rename_plugin |
true |
整理 115 网盘时,预览请 MoviePilot 的“Mi302 整理助手”插件按它的规则算名字(1.1.0 起),只需要改名的文件夹交给它直接改名(要先在 MoviePilot 装好、启用;没装时照常走它的整理预览和整理) | 115 网盘 → 整理 115 网盘 →“用 MoviePilot 的「Mi302 整理助手」外掛算名字、改名” |
timeout |
300 |
刮削(和其他没有自己超时的 MoviePilot 请求)每一项最多等几秒,10–3600 | 只能改文件 |
concurrency |
3 |
同时发几项给 MoviePilot 刮削,1–8。太多可能被 TMDB 限速 | MoviePilot → 连线 →“同时刮削几项” |
path_mappings |
[] |
两边看到的路径不同时:Mi302 的路径(from)→ MoviePilot 的路径(to) |
MoviePilot → 连线 →“路径对应”,一行一条 Mi302 的路径 => MoviePilot 的路径
|
moviepilot:
path_mappings:
- from: /media/psf/Vo
to: /Volumes/Vo连接 qBittorrent:下载中的种子太久没速度就删掉,排在后面的接着开始。见 qBittorrent 没速度的种子。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
url |
空 | qBittorrent 的 WebUI 地址,例如 http://127.0.0.1:8080,要以 http:// 或 https:// 开头;空 = 不连接 |
MoviePilot → qBittorrent →“qBittorrent 网址” |
username |
空 | WebUI 账号。qBittorrent 设置了本机跳过身份验证(和 Mi302 装在同一台)就不用填 | MoviePilot → qBittorrent →“WebUI 账号” |
password |
空 | WebUI 密码,明文 | MoviePilot → qBittorrent →“WebUI 密码” |
remove_stalled |
false |
下载中的种子太久没速度就删掉,排在后面的接着开始;每 5 分钟检查一次 | MoviePilot → qBittorrent →“自动删掉太久没速度的种子”(切换后马上保存) |
stalled_minutes |
60 |
连续多少分钟没速度算太久,10–10080。从 Mi302 看到它在下载开始算,排队、暂停的时间不算 | MoviePilot → qBittorrent → 设定 →“连续几分钟没速度就删” |
stalled_speed |
0 |
这段时间的平均速度不超过多少 KB/s 算没速度;0 = 完全没下载到东西才算 | MoviePilot → qBittorrent → 设定 →“平均速度不超过几 KB/s 算没速度” |
delete_files |
true |
连同下载到一半的文件一起删;false 只从 qBittorrent 移除,文件保留 |
MoviePilot → qBittorrent →“连同下载到一半的文件一起删”(切换后马上保存) |
no_seeds_only |
false |
只删做种数为 0 的:tracker 报告还有人做种就先不删,只列出来等;做种数降到 0 又还是没速度才删。tracker 没报告做种数时当成 0 | MoviePilot → qBittorrent →“只删做种数为 0 的”(切换后马上保存) |
keep_active |
0 |
随时要有几个种子有速度在下载,0–50;不够就按队列顺序强制开始排队的(不受 qBittorrent 的队列上限限制),排队的用完就不开。0 = 不管 | MoviePilot → qBittorrent → 设定 →“随时要有几个种子在下载” |
force_seconds |
30 |
强制开始后几秒内没速度就删,10–600。tracker 有正常响应却没速度才算种子有问题;tracker 没响应的只放回队列,一小时内不再试 | MoviePilot → qBittorrent → 设定 →“强制开始后几秒内没速度就删” |
用 ffprobe 探测 strm 指向的视频,写出 X-mediainfo.json。“整理”分页“媒体资讯”卡片的“设定”:开关切换后马上储存,数字栏位改完点“储存设定”。见媒体信息与探测。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
enabled |
false |
批次探测(网页上挑视频提取、同步后自动);关闭时仍会读现成的 X-mediainfo.json
|
整理 → 媒体资讯 → 设定 →“批次探测” |
after_sync |
true |
同步生成新的 strm 后自动探测,要开批次探测 | 整理 → 媒体资讯 → 设定 →“同步产生新的 strm 后自动探测” |
on_demand |
true |
播放器打开某部片或某一集时,在后台探测它 | 整理 → 媒体资讯 → 设定 →“打开影片时自动探测” |
concurrency |
2 |
同时探测几项,1–3。115 同时最多 3 条连接 | 整理 → 媒体资讯 → 设定 →“同时探测几项” |
interval |
1.0 |
每次向 115 取直链至少间隔几秒,0.5–60 | 整理 → 媒体资讯 → 设定 →“取直链间隔(秒)” |
hourly_limit |
300 |
每小时最多向 115 取几次直链,0 = 不限,最多 100000 | 整理 → 媒体资讯 → 设定 →“每小时最多几次” |
timeout |
300 |
每一项最多等几秒,10–3600 | 只能改文件 |
ffprobe |
ffprobe |
ffprobe 的路径 | 只能改文件 |
只读的 WebDAV:播放器用 http://<主机>:<端口>/dav/ 直接浏览 115,播放时 302 到 115 直链。“设定”分页的“WebDAV”改完点“储存设定”,立即生效。见播放与外网访问。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
enabled |
false |
开启 /dav/
|
设定 → WebDAV →“开启 WebDAV” |
root |
"" |
开放哪个 115 文件夹,例如 /影视;空的 = 同步任务的 115 目录 |
设定 → WebDAV →“露出哪个 115 资料夹” |
admin_only |
false |
只让管理员登录(root 设成 / 时建议打开) |
设定 → WebDAV →“只让管理员登入” |
阿里云盘开放平台,给从阿里云盘秒传用。refresh token 在管理页面上登录,存在数据库,不在配置文件里。“115 网盘”页“阿里云盘秒传”的“阿里云盘账号”卡片,展开“进阶”改完点“储存”,立即生效。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
client_id |
"" |
自己在阿里云盘开放平台申请的应用;和 client_secret 都填了,Mi302 自己向 openapi.alipan.com 换 access token,refresh token 不经过别人 |
115 网盘 → 阿里云盘秒传 → 进阶 →“Client ID” |
client_secret |
"" |
那个应用的密钥 | 115 网盘 → 阿里云盘秒传 → 进阶 →“Client Secret” |
online_api |
https://api.oplist.org/alicloud/renewapi |
没填自己的 client id 时,用这个在线 API(OpenList 的服务)换 access token,会把 refresh token 发给它;要以 https:// 开头,空的 = 不用(只能用自己的 client id) |
115 网盘 → 阿里云盘秒传 → 进阶 →“线上换 token 的网址” |
播放时怎么处理 strm 的内容,主要给其他工具生成的 strm(例如 alist 地址或本机路径)用。“设定”分页的字段点页面下方的“储存设定”。见播放与外网访问。
| 键 | 默认值 | 说明 | 在管理页面上改 |
|---|---|---|---|
resolve_redirects |
false |
先由服务器跟着上游的重定向走到底,再把最终地址给播放器 | 设定 → 其他工具产生的 strm →“由伺服器先跟着上游的重导向走到底” |
resolve_timeout |
10.0 |
跟着重定向走时的超时秒数 | 只能改文件 |
cache_ttl |
90 |
走到的最终地址缓存几秒 | 只能改文件 |
require_auth |
true |
播放地址是否要求登录,和官方 Emby 一样。某个播放器播不了时再关 | 设定 → 播放 →“播放网址要求登入” |
default_container |
mkv |
strm 看不出视频格式时的默认格式 | 设定 → 其他工具产生的 strm →“看不出格式时预设的影片格式” |
path_rules |
[] |
把 strm 内容开头的 from 换成 to,再 302 给播放器 |
设定 → 其他工具产生的 strm →“路径替换”,一行一条 原本开头 => 替换成
|
redirect:
path_rules:
- from: /mnt/115
to: http://alist:5244/d/115固定的 API 密钥,给其他程序以管理员身份调用 Emby API,放在 X-Emby-Token 请求头或 api_key 查询参数里。
api_keys:
- 一串足够长的随机字符串- 只能改文件,改完刷新管理页面就生效,不必重启。
- API 密钥不能用来操作管理页面(设置、备份、115 登录、账号)。
- 在管理页面“MoviePilot”分页点“建立 API 金钥”创建的密钥存在数据库里,不会出现在这里。一般用那个就好,见 MoviePilot 集成。