130 lines
6.5 KiB
TOML
130 lines
6.5 KiB
TOML
# 多用户直播组件服务配置。
|
||
#
|
||
# 使用方式:复制为 config.toml 后填写所有 replace-with-* 项。这个文件
|
||
# 包含首次迁移所需的 CookieCloud、bootstrap proof 和旧 OBS 令牌,请不要
|
||
# 提交或公开分享。多用户运行数据在初始化后保存在 PostgreSQL 中。
|
||
# Docker Compose 会将它以只读方式挂载到容器的 /app/config.toml。
|
||
|
||
# 旧单用户配置兼容段:room_id 只在数据库没有任何账户时,绑定给首次
|
||
# 创建的 system_admin,作为该账户的初始房间。后续账号的初始 room_id
|
||
# 由系统管理员创建邀请码时指定;注册后用户可在控制台自行切换。
|
||
# 实际 Bilibili Cookie 不直接写在配置中,而是通过 CookieCloud 获取。
|
||
[connection]
|
||
room_id = "123456" # 替换为首个系统管理员的真实直播间 ID;不能以 0 开头。
|
||
# cookies = "SESSDATA=..." # 不需要;由 CookieCloud 托管。
|
||
|
||
# HTTP、WebSocket 及静态前端监听地址。host 网络模式下只绑定
|
||
# 127.0.0.1,让同机 Nginx 代理,不要将应用端口直接暴露到公网。
|
||
[server]
|
||
bind_address = "127.0.0.1"
|
||
port = 9719
|
||
|
||
# 多用户数据库。保存账户、邀请码、TOTP 注册状态、会话、恢复码摘要、
|
||
# 加密 CookieCloud 凭据、直播源、组件/设置、OBS token 摘要和审计日志。
|
||
# 数据库账号必须能执行项目迁移;租户表会启用 RLS。
|
||
[database]
|
||
url = "postgresql://streamutils:replace-with-database-password@127.0.0.1:5432/streamutils?sslmode=disable"
|
||
|
||
# 旧单用户配置兼容段:只在首次 system_admin 初始化时导入到该账户,
|
||
# 随后 Key 和密码会使用 security.data_encryption_key 加密存入 PostgreSQL。
|
||
# 受邀用户在自己的 /control 页面填写各自的 CookieCloud;不同账户不会
|
||
# 共用凭据。迁移完成后修改此段不会覆盖数据库中的凭据。
|
||
# key 是 CookieCloud 同步 UUID;password 是同步密码。
|
||
[cookiecloud]
|
||
host = "http://127.0.0.1:8088"
|
||
key = "replace-with-cookiecloud-uuid"
|
||
password = "replace-with-cookiecloud-password"
|
||
|
||
# password 是一次性 bootstrap proof,只能在数据库尚无账户时授权创建
|
||
# 第一个 system_admin。它不会成为账户密码,也不能用于日常登录。
|
||
# 所有账户都是 passwordless:以后使用 username + TOTP(或恢复码)登录。
|
||
# session_secret 是旧配置兼容字段,目前仍为必填;填写了下方独立的数据
|
||
# 加密密钥后,它不用于签发数据库会话。两个值都应使用独立随机内容。
|
||
[admin]
|
||
password = "replace-with-a-one-time-bootstrap-secret"
|
||
session_secret = "replace-with-at-least-32-random-characters"
|
||
|
||
# 多用户身份安全配置。用 `openssl rand -base64 32` 生成独立的 32 字节
|
||
# Base64 密钥。它使用 XChaCha20-Poly1305 加密 TOTP Secret 和各用户的
|
||
# CookieCloud Key/密码;遗失或更换后无法恢复已有密文,请安全备份。
|
||
[security]
|
||
data_encryption_key = "replace-with-32-random-bytes-in-base64"
|
||
# TOTP 验证器中显示的 issuer;上线后不建议随意更改。
|
||
totp_issuer = "danmaku.luoxingci.com"
|
||
# 登录会话、二维码绑定流程和普通邀请码的默认有效期。
|
||
session_ttl_hours = 12
|
||
registration_ttl_minutes = 15
|
||
invitation_ttl_hours = 72
|
||
# 公开站点必须由 Nginx/可信反代提供 HTTPS,并保持此项为 true。
|
||
# 只有本机、无敏感数据的纯 HTTP 调试才能临时设为 false。
|
||
secure_cookies = true
|
||
# 用户只能配置此白名单中的 CookieCloud 基础地址,防止任意服务端
|
||
# 请求。必须包含上方 cookiecloud.host;可填多个管理员批准的实例。
|
||
cookiecloud_allowed_hosts = ["http://127.0.0.1:8088"]
|
||
|
||
# 旧 OBS token 兼容段:只导入首个 system_admin 的默认弹幕组件一次。
|
||
# 新组件通过控制台生成独立、可撤销且只存摘要的 token,地址格式为:
|
||
# /obs/<publicId>#token=<component-token>
|
||
# 没有需要迁移的旧 OBS 浏览器源时可设为空字符串。
|
||
[obs]
|
||
access_token = "replace-with-a-long-random-obs-token"
|
||
|
||
# 各活动直播源的 Bilibili 礼物目录缓存。启动时立即加载,之后按此
|
||
# 间隔刷新;失败时保留上一次成功结果。刷新间隔最小 60 秒。
|
||
[gifts]
|
||
refresh_interval_seconds = 600
|
||
request_timeout_seconds = 10
|
||
|
||
# 各用户 Bilibili 直播间表情目录缓存。接口使用该用户加密保存的
|
||
# CookieCloud/SESSDATA;消息自带图片始终优先,目录仅补齐缺失地址。
|
||
[emoticons]
|
||
refresh_interval_seconds = 600
|
||
request_timeout_seconds = 10
|
||
|
||
# 旧弹幕姬初始设置兼容段:只在首次 system_admin 初始化时,作为其默认
|
||
# danmaku_overlay 的旧数据迁移/回退值。其他受邀用户使用组件内建默认值;
|
||
# 所有用户之后都在 /control 按组件修改,PostgreSQL 设置始终优先。
|
||
# 迁移后修改这里不会覆盖任何已有组件。价格单位为千分之一元,因此
|
||
# 10000 = 10 元、100000 = 100 元。
|
||
[overlay]
|
||
# 主题 ID。弹幕姬与点歌姬支持 jade-scroll(青玉花卷)和 moonlit-water(静夜曲水)。
|
||
# 未来主题会继续使用稳定 ID,避免改名。
|
||
# 影响已经保存到 PostgreSQL 的组件设置。
|
||
theme_id = "jade-scroll"
|
||
# 中文字体:song(宋体)、fang-song(仿宋)或 kai(楷体)。
|
||
font_family = "fang-song"
|
||
# 文字亮度百分比,范围 70-180;深色直播背景建议从 130 开始。
|
||
font_brightness = 130
|
||
# 可选的弹幕昵称与正文颜色,只接受 #RRGGBB;不填写则跟随所选主题。
|
||
# viewer_color = "#B7AD83"
|
||
# danmaku_color = "#C6AE7A"
|
||
# 全局字号百分比,可在管理控制台中实时调整;允许范围 50-300。
|
||
font_scale = 140
|
||
max_visible = 5
|
||
collapse_after_seconds = 12
|
||
# 新弹幕卷轴从中心向两侧展开的时长,单位毫秒;允许范围 200-5000。
|
||
unfold_duration_ms = 1000
|
||
motion_intensity = 70
|
||
# 每张消息卡片的闪光粒子数量;0 可关闭粒子,允许范围 0-12。
|
||
particle_count = 8
|
||
# 粒子动画速度百分比;100 为标准速度,允许范围 25-300。
|
||
particle_speed = 100
|
||
low_performance_mode = false
|
||
high_value_threshold = 10000
|
||
featured_value_threshold = 100000
|
||
|
||
# 首个旧组件迁移时显示的事件类别;之后在 /control 中按组件修改。
|
||
[overlay.events]
|
||
danmaku = true
|
||
enter = true
|
||
gift = true
|
||
superchat = true
|
||
guard = true
|
||
like = false
|
||
share = false
|
||
|
||
# 默认记录本服务生命周期信息,并保持依赖库仅输出警告。
|
||
# libilibili 的凭据 Debug 已脱敏,但仍不要记录 Cookie 或原始认证载荷。
|
||
[logging]
|
||
filter = "lxc_stream_server=info,libilibili=warn,tokio_postgres=warn"
|