設定檔參考 - 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 整合。