Repository navigation
Expand file tree
/
Copy pathdefaultConfig.ts
More file actions
128 lines (115 loc) · 8.93 KB
/
Copy pathdefaultConfig.ts
File metadata and controls
128 lines (115 loc) · 8.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
const config: LX.Config = {
serverName: 'LX Sync Server', // 同步服务名称
'debug.enabled': false, // 是否启用 DEBUG 模式 (开发人员使用)
'proxy.enabled': false, // 是否使用代理转发请求到本服务器
'proxy.header': 'x-real-ip', // 代理转发的请求头 原始IP
bindIP: '0.0.0.0', // 绑定IP
port: 9527, // 端口
'user.enablePath': true, // 是否开启用户路径
'user.enableRoot': false, // 是否开启根路径
'user.enablePublicRestriction': true, // 是否启用公开用户权限限制
'user.enablePublicNonAdminLocalMusic': false, // 是否开启非管理员访问本地音乐
'user.enablePublicNonAdminBrowserDownload': true, // 是否开启非管理员浏览器下载
'user.enablePublicNonAdminServerCache': false, // 是否开启非管理员服务器缓存
'user.enablePublicFavorites': false, // 是否开启公开收藏和歌曲
'user.enablePublicNonAdminAccess': false, // 是否开启非管理员访问公开收藏和歌曲
'user.enableCustomMusicDir': false, // 是否启用自定义歌曲目录
'user.enableLoginCacheRestriction': false, // 是否启用登录用户缓存限制
'user.enableCacheSizeLimit': false, // 是否启用缓存空间限制
'user.cacheSizeLimit': 2000, // 缓存空间限制大小 (MB)
maxSnapshotNum: 10, // 公共最大备份快照数
'list.addMusicLocationType': 'top', // 公共添加歌曲到我的列表时的位置 top | bottom,参考客户端的「设置 → 列表设置 → 添加歌曲到列表时的位置」
disableTelemetry: false, // 是否禁用数据收集(仅用于开源项目改进,不含敏感信息)
users: [
// 用户配置例子
// 提示:你也可以通过环境变量 LX_USER_<用户名>={"password":"123","enableCustomMusicDir":true} 的 JSON 格式来配置高级选项
// {
// name: 'user1', // 用户名,必须,不能与其他用户名重复
// password: '123.def', // 是连接密码,必须,不能与其他用户密码重复,若在外网,务必增加密码复杂度
// maxSnapshotNum: 10, // 可选,最大备份快照数
// 'list.addMusicLocationType': 'top', // 可选,添加歌曲到我的列表时的位置 top | bottom,参考客户端的「设置 → 列表设置 → 添加歌曲到列表时的位置」
// enableCustomMusicDir: false, // 可选,是否启用此用户自定义歌曲目录
// customMusicDir: '', // 可选,自定义歌曲目录绝对路径
// allowOperateCustomMusicDir: false, // 可选,是否允许操作目录歌曲(如删除、洗版)
// allowWriteCustomMusicDir: false, // 可选,是否允许写入歌曲文件(如关联、更新元信息、嵌入歌词)
// enableAutoDownload: false, // 可选,是否启用此用户自动下载歌曲功能
// disabled: false, // 可选,是否禁用此用户(禁用后禁止Web端和同步服务登录,保留数据)
// },
],
'admin.password': '123456',
// WebDAV 配置
'webdav.enable': false,
'webdav.url': '',
'webdav.username': '',
'webdav.password': '',
'webdav.syncPath': '/lx-sync', // 增量同步远程路径
'webdav.backupPath': '/lx-sync-backups', // 全量备份远程路径
'sync.interval': 60, // 同步间隔(分钟)默认1小时
'sync.backupInterval': 24, // 全量备份间隔(小时)默认24小时
'webdav.excludeCache': false, // 是否排除缓存目录 (data/<user>/cache) 的同步与备份
'webdav.excludeMusic': false, // 是否排除音乐下载目录 (data/<user>/music) 的同步与备份
// 本地配置备份(config.js 每日一份本地副本)
'configBackup.enable': true, // 是否启用本地配置备份
'configBackup.retentionDays': 7, // 本地备份保留天数
'configBackup.dir': '', // 备份目录,留空则用 <data>/backups,相对路径基于 data 目录,绝对路径直接使用
// 歌单快照额外备份路径(留空则存于用户数据目录 list/snapshot,相对路径基于 data 目录,绝对路径直接使用)
'snapshot.backupPath': '',
// Web播放器配置
'player.name': 'LX Music Web',
'player.enableAuth': false,
'player.password': '123456',
// 代理配置
'proxy.all.enabled': false,
'proxy.all.address': '',
// 细分代理:音乐平台 / 自定义音源 / 应用。
// enabled 为 undefined 表示该类别「沿用上面的统一开关」,显式 true/false 才独立生效。
'proxy.music.enabled': undefined,
'proxy.music.address': '',
'proxy.customSource.enabled': undefined,
'proxy.customSource.address': '',
'proxy.app.enabled': undefined,
'proxy.app.address': '',
// 访问路径配置
'admin.path': '/admin', // 后台管理路径
'player.path': '/', // 播放器路径,默认为根路径 /
'subsonic.enable': true, // 是否启用 Subsonic 服务
'subsonic.path': '/rest', // Subsonic 访问路径
'subsonic.standalone': false, // 是否启用 Subsonic 独立监听端口(默认关闭);关闭后仅走主端口 subsonic.path,端口值会保留,重新开启无需重填
'subsonic.port': 4050, // Subsonic 独立监听端口(1-65535),仅当 subsonic.standalone 开启时生效
'subsonic.enableDebug': false, // 是否开启 Subsonic 调试日志模式
'subsonic.onlineSearch': true, // 是否开启 Subsonic 在线全网搜索
'subsonic.onlineSearchMode': 'fallback', // 在线搜索模式: fallback | merge | local_only
'subsonic.onlineSearchSources': 'wy,tx,kw,kg,mg', // 在线搜索默认平台
'subsonic.localPlaylist': true, // 返回当前用户的本地歌曲只读歌单,排在歌单列表首位
'subsonic.customPlaylist': true, // 本地歌单开启时,单独返回自定义目录歌单
'subsonic.publicLeaderboards': false, // 是否在 Subsonic 中公开在线排行榜(只读虚拟播放列表)
'subsonic.leaderboardSource': 'tx', // 在线排行榜平台: tx | wy | kg | kw | mg
'subsonic.sharedListMode': 'leaderboard', // 共享歌单内容模式: leaderboard | playlist | both
'subsonic.sharedListSort': 'hot', // 共享歌单排序: hot | new
'subsonic.dislikeRating': 1, // 评分联动 dislike 阈值: 0 < rating <= 该值 视为不喜欢(写回原生 dislike 规则); 设为 0 关闭联动
'subsonic.linkRatingToDislike': false, // 解耦开关(正向): 评星 -> 不喜欢 是否自动联动; false=不联动(仅记录评分)
'subsonic.linkDislikeToRating': false, // 解耦开关(反向): 不喜欢 -> 评星 是否自动联动; false=不联动(仅记录不喜欢)
'subsonic.hideDisliked': true, // 是否在 Subsonic 列表中隐藏 dislike 命中的歌曲(关闭则只评分不剔除)
'subsonic.dislikeCrossSource': false, // dislike 是否跨平台同名命中(各平台 ID 不互通, 开启会误伤同名歌手/专辑)
'subsonic.dislikeNoRecommend': true, // 推荐类接口(每日推荐/随机/相似)是否排除 dislike 歌曲(与 hideDisliked 独立)
'subsonic.dislikeDuetMode': 'any', // 合唱歌曲匹配模式: any=任一歌手命中 / all=全部命中 / primary=仅主唱
'subsonic.dislikeNormalizeName': true, // 歌名去版本后缀归一化: 「晴天 (Live)」也能命中「晴天」规则
'subsonic.dislikeRequireSinger': true, // 歌曲/专辑级别都要求歌手同时匹配(关闭则纯歌名规则可单独命中, 会误杀同名)
'subsonic.recommendPoolSize': 100, // 推荐池容量: 专辑列表可翻页数 ≈ 容量 / size
'subsonic.lyricTranslation': true, // 是否在 Subsonic 歌词中包含翻译
'subsonic.cacheOnPlay': false, // 是否在 Subsonic 播放时触发服务器缓存保存(落盘)
'subsonic.playCacheFirst': false, // 是否在 Subsonic 播放时优先使用服务器已有的本地缓存/下载文件直接传输(默认关闭:避免服务器自担出向流量/代理字节)
'subsonic.quality.enabled': true, // 音质优选总开关: 按优先级主动选最优可用音质(非失败降级); 关闭则 stream 仅单次解析
'subsonic.quality.priority': 'flac,320k,128k', // 音质优先级(从高到低, 逗号分隔), 按此顺序主动优选
'subsonic.source.priority': 'kw,tx,wy,mg,kg', // 跨平台优选顺序(逗号分隔, 客户端所选源始终优先)
'subsonic.source.crossPlatform': true, // 是否允许跨平台优选(按歌名+歌手在其它平台搜索替身)
'subsonic.source.autoSwitchCustom': true, // 同源是否切换其它自定义源脚本(callUserApiGetMusicUrl 内部循环同平台候选脚本)
'subsonic.transcode.enabled': false, // 服务端转码总开关(需安装 ffmpeg);音源无客户端请求音质或格式不符时,降码率/转容器转发以省客户端流量
'subsonic.transcode.format': 'mp3', // 转码目标格式: mp3 | opus | aac
'subsonic.transcode.maxConcurrent': 2, // 转码并发上限,防 CPU 过载
'singer.sourcePriority': ['tx', 'wy'], // 歌手信息源优先级
'artist.maxFetchPages': 20, // 歌手歌曲最大抓取页数
'cache.namingPattern': 'simple', // 缓存命名规则
'system.allowUnsafeVM': false, // 是否允许运行 VM 模式自定义源脚本
}
export default config