設定檔參考 - MiCat-S/Mi302 GitHub Wiki

繁體中文 | 简体中文 | English

這一頁列出設定檔 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
  • users
  • p115.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 伺服器位址。
  • 觀看紀錄、媒體資訊、學到的片頭片尾等。

server

鍵 預設值 說明 在網頁上改
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: [],平常留空就好:第一次打開管理網頁時,會請你建立管理員。

users:
  - name: admin
    password: 你的密碼
    admin: true
鍵 預設值 說明
name 必填 帳號名稱
password 空 密碼,明碼
admin false 是否為管理員。管理員才能進管理網頁
  • 只能改檔案,要重新啟動。
  • 每次啟動時,清單裡還不存在的帳號會被建立(名稱不分大小寫)。已經存在的帳號不會被改,所以在這裡改密碼沒有作用。
  • 在網頁上刪掉的帳號會一起從這個清單拿掉,下次啟動不會再建立。設定檔有錯、寫不進去時,網頁會提示,這時要自己從清單刪掉。
  • 密碼是明碼,config.yaml.bak 和備份的 .yaml 裡也有。帳號建好之後,可以把這段刪掉,帳號仍然在資料庫裡。

libraries

媒體庫。預設是 libraries: [],在「媒體庫」分頁用「新增媒體庫」或「從資料夾批量新增」建立。

libraries:
  - name: 電影
    type: movies
    paths:
      - /media/movies
  - name: 劇集
    type: tvshows
    paths:
      - /media/tv
鍵 預設值 說明
name 必填 媒體庫名稱,不可重複
type movies movies = 電影,tvshows = 劇集
paths 必填 資料夾清單,至少一個。舊版的單一 path 也認得

改了媒體庫之後,只重新掃描有改的媒體庫;刪掉的媒體庫連同裡面的項目一起移除。見媒體庫與掃描。

p115

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」

p115.strm

同步成 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。見 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:下載中的種子太久沒速度就刪掉,排在後面的接著開始。見 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 → 設定 →「強制開始後幾秒內沒速度就刪」

mediainfo

用 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

只能讀的 WebDAV:播放器用 http://<主機>:<埠>/dav/ 直接瀏覽 115,播放時 302 到 115 直鏈。「設定」分頁的「WebDAV」改完按「儲存設定」,馬上生效。見播放與外網連線。

鍵 預設值 說明 在網頁上改
enabled false 開啟 /dav/ 設定 → WebDAV →「開啟 WebDAV」
root "" 露出哪個 115 資料夾,例如 /影視;空的 = 同步任務的 115 目錄 設定 → WebDAV →「露出哪個 115 資料夾」
admin_only false 只讓管理員登入(root 設成 / 時建議打開) 設定 → WebDAV →「只讓管理員登入」

aliyun

阿里雲盤開放平台,給從阿里雲盤秒傳用。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 的網址」

redirect

播放時怎麼處理 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_keys

固定的 API 金鑰,給其他程式以管理員身分呼叫 Emby API,放在 X-Emby-Token 標頭或 api_key 查詢參數。

api_keys:
  - 一串夠長的隨機字串
  • 只能改檔案,改完重新整理管理網頁就生效,不必重新啟動。
  • API 金鑰不能用來操作管理網頁(設定、備份、115 登入、帳號)。
  • 在網頁「MoviePilot」分頁按「建立 API 金鑰」建立的金鑰存在資料庫,不會出現在這裡。一般用那個就好,見 MoviePilot 整合。
⚠️ **GitHub.com Fallback** ⚠️