feat: switch config to JSONC + split secrets.json
Load business config as JSONC (comments + trailing commas) via an in-repo stripper then stdlib json — no new deps. Default path prefers config.jsonc, falls back to legacy config.json. Auth write-back targets only sibling secrets.json so JSONC comments are never wiped; secrets overlay merges on load. Examples, compose, Docker, docs, favsort and tools all share the same loader. Phase A only — no DB settings migration.
This commit was merged in pull request #4.
This commit is contained in:
1 parent
b4f0f45c4e
commit
8e7ead1669
21 files changed
+652
-182
No files matched your search
@@ -0,0 +1,112 @@
|
||||
// Docker / 服务器业务配置。复制为 config.jsonc,与 secrets.json 一并挂到 /config。
|
||||
// 敏感项见 secrets.example.json → secrets.json;auth 只回写 secrets.json。
|
||||
{
|
||||
"telegram": {
|
||||
"enabled": false,
|
||||
},
|
||||
|
||||
"web": {
|
||||
"host": "0.0.0.0",
|
||||
"port": 8080,
|
||||
"public_base_url": "",
|
||||
"track": {
|
||||
"enabled": true,
|
||||
"header_order": ["X-Real-IP", "X-Forwarded-For"],
|
||||
"trusted_proxies": [
|
||||
"127.0.0.0/8",
|
||||
"::1/128",
|
||||
"10.0.0.0/8",
|
||||
"172.16.0.0/12",
|
||||
"192.168.0.0/16",
|
||||
"169.254.0.0/16",
|
||||
"fc00::/7",
|
||||
"fe80::/10",
|
||||
],
|
||||
"count_bots": false,
|
||||
"flush_seconds": 60,
|
||||
"keep_days": 180,
|
||||
"max_hits_per_ip_path_per_day": 0,
|
||||
},
|
||||
},
|
||||
|
||||
"storage": {
|
||||
"database_path": "/data/app.db",
|
||||
"backup_dir": "/data/backup",
|
||||
"backup_keep_days": 14,
|
||||
},
|
||||
|
||||
"folders": [
|
||||
{ "year": 2025, "media_id": 4451053851, "title": "咻咻满-reaction-2025" },
|
||||
{ "year": 2026, "media_id": 3700023351, "title": "咻咻满 reaction 合集" },
|
||||
],
|
||||
"track_fans": [37754047],
|
||||
"up_blacklist_seed": [
|
||||
261052419,
|
||||
1908537643,
|
||||
1701121088,
|
||||
542262,
|
||||
376316958,
|
||||
145178393,
|
||||
66389997,
|
||||
293976264,
|
||||
3026109,
|
||||
],
|
||||
|
||||
"schedule": {
|
||||
"discover_minutes": 60,
|
||||
"snapshot_at": "23:15",
|
||||
"seed_at": "00:00",
|
||||
"candidate_ttl_days": 7,
|
||||
"recent_snapshot_minutes": 60,
|
||||
"recent_video_days": 2,
|
||||
},
|
||||
|
||||
"discover": {
|
||||
"keywords": ["咻咻满"],
|
||||
"pages": 3,
|
||||
"window_days": 7,
|
||||
"candidate_min_score": 4,
|
||||
},
|
||||
|
||||
"notify": {
|
||||
"min_score": 4,
|
||||
"max_items_per_message": 10,
|
||||
},
|
||||
|
||||
"classify": {
|
||||
"require_title": "咻咻满",
|
||||
"self_mid": 37754047,
|
||||
"reaction": ["re", "reaction", "反应"],
|
||||
"charge": ["加急", "特急", "充电", "专场"],
|
||||
"weak_positive": ["双人", "路人", "第一次", "首次"],
|
||||
"negative": [
|
||||
"歌切",
|
||||
"切片",
|
||||
"搬运",
|
||||
"完整版",
|
||||
"录播",
|
||||
"录像",
|
||||
],
|
||||
"date_negative": true,
|
||||
"duration_boost": { "gt_30min": 1, "gt_60min": 2 },
|
||||
},
|
||||
|
||||
"heat_weights": {
|
||||
"view": 0.3,
|
||||
"like": 0.2,
|
||||
"coin": 0.2,
|
||||
"favorite": 0.15,
|
||||
"share": 0.1,
|
||||
"reply": 0.03,
|
||||
"danmaku": 0.02,
|
||||
},
|
||||
|
||||
"analytics": {
|
||||
"min_duration_seconds": 600,
|
||||
"maturity_days": 2,
|
||||
"min_view_for_ranking": 2000,
|
||||
"video_shrink_minutes": 60,
|
||||
"shrink_minutes": null,
|
||||
"home_growth_days": "auto",
|
||||
},
|
||||
}
|
||||
Reference in new issue
Block a user