296 lines
14 KiB
Bash
296 lines
14 KiB
Bash
# 弹幕 API 环境变量配置示例
|
||
# 复制此文件为 .env 并根据需要修改配置
|
||
#
|
||
# 配置方式说明:
|
||
# 本项目支持三种配置方式,优先级从高到低:
|
||
# 1. 系统环境变量(最高优先级)
|
||
# 2. .env 文件(低优先级)
|
||
#
|
||
# 热更新说明:
|
||
# - Docker 环境:修改宿主机的 .env 文件后,容器会自动检测并重新加载配置(无需重启容器)
|
||
# - Node.js 本地环境:修改 .env 文件后,应用会自动检测并重新加载配置(无需重启应用)
|
||
# - Cloudflare/Vercel/Netlify/Edgeone:需要在平台的环境变量设置中修改,然后重新部署
|
||
|
||
# ==================== 基础配置 ====================
|
||
|
||
# API 访问令牌(用于鉴权)
|
||
# 默认值:87654321
|
||
TOKEN=87654321
|
||
|
||
# 系统管理访问令牌(用于系统管理功能)
|
||
# 如果未配置此值,则无法访问系统管理功能,需要先配置后在URL中填入此token才能打开系统管理
|
||
# 默认值:空(不启用系统管理访问控制)
|
||
# ADMIN_TOKEN=
|
||
|
||
# 其他服务器地址(第三方弹幕服务器)
|
||
# 默认值:https://api.danmu.icu
|
||
OTHER_SERVER=https://api.danmu.icu
|
||
|
||
# 自定义弹幕源API地址
|
||
# 默认为空,配置后还需在SOURCE_ORDER添加custom源
|
||
# CUSTOM_SOURCE_API_URL=
|
||
|
||
# ==================== VOD 配置 ====================
|
||
|
||
# VOD 服务器配置(支持多服务器)
|
||
# 格式:名称@URL,名称@URL,...
|
||
# 示例:VOD_SERVERS=金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top
|
||
# 如果不指定名称,会自动生成 vod-1, vod-2 等名称
|
||
# 默认值:金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top
|
||
VOD_SERVERS=金蝉@https://zy.jinchancaiji.com,789@https://www.caiji.cyou,听风@https://gctf.tfdh.top
|
||
|
||
# VOD 服务器返回模式
|
||
# 可选值:all(返回所有站点结果)、fastest(只返回最快的站点结果)
|
||
# 默认值:fastest
|
||
# 说明:
|
||
# - all: 搜索时会并发查询所有配置的 VOD 站点,返回所有结果(结果较多)
|
||
# - fastest: 搜索时只返回首先响应成功的 VOD 站点结果(结果较少,避免重复)
|
||
VOD_RETURN_MODE=fastest
|
||
|
||
# VOD 服务器请求超时时间(毫秒)
|
||
# 默认值:10000(10秒)
|
||
# 建议值:5000-15000
|
||
# 说明:防止慢速或失效的采集站阻塞整个搜索过程(单个请求超时)
|
||
# 由于 fastest 模式只返回最快响应的站点,可以设置较大的超时时间给慢速站点更多机会
|
||
VOD_REQUEST_TIMEOUT=10000
|
||
|
||
# ==================== Bilibili 配置 ====================
|
||
|
||
# Bilibili Cookie(用于访问需要登录的内容)
|
||
# 默认值:空(不使用 Cookie)
|
||
# BILIBILI_COOKIE=
|
||
|
||
# ==================== 优酷配置 ====================
|
||
|
||
# 优酷并发数(最大:16)
|
||
# 默认值:8
|
||
YOUKU_CONCURRENCY=8
|
||
|
||
# ==================== 源排序配置 ====================
|
||
|
||
# 数据源查询顺序(可选值:360, vod, tmdb, douban, tencent, youku, iqiyi, imgo, bilibili, renren, hanjutv, bahamut, dandan, sohu, leshi, animeko, custom)
|
||
# 默认值:360,vod,renren,hanjutv(不包含 tencent, youku, iqiyi, imgo, bilibili, sohu 和 leshi)
|
||
# 如需使用腾讯源、优酷源、爱奇艺源、芒果源、B站源、搜狐源或乐视源,请手动添加:SOURCE_ORDER=360,vod,tencent,youku,iqiyi,imgo,bilibili,ren,hanjutv,sohu,leshi
|
||
# 如需使用巴哈姆特源,请手动添加:SOURCE_ORDER=360,vod,renren,hanjutv,bahamut
|
||
# 如需使用弹弹play源,请手动添加:SOURCE_ORDER=360,vod,renren,hanjutv,dandan
|
||
# 如需使用豆瓣源,请手动添加:SOURCE_ORDER=360,vod,douban,renren,hanjutv
|
||
# 如需使用TMDB源,请手动添加:SOURCE_ORDER=360,vod,tmdb,renren,hanjutv
|
||
SOURCE_ORDER=360,vod,renren,hanjutv
|
||
|
||
# ==================== 平台排序配置 ====================
|
||
|
||
# 平台优先级排序(用于自动匹配)
|
||
# 默认值:空(自动匹配)
|
||
# 可选值:qiyi, bilibili1, imgo, youku, qq, sohu, leshi, renren, hanjutv, bahamut, dandan, animeko, custom
|
||
# PLATFORM_ORDER=
|
||
|
||
# ==================== 源合并配置 ====================
|
||
# 数据源合并配置(可选值:tencent, youku, iqiyi, imgo, bilibili, renren, hanjutv, bahamut, dandan, sohu, leshi, animeko)
|
||
# 默认值:空
|
||
# 说明:配置后将对应源合并同时一起获取弹幕返回,允许多组、允许一个源同时存在、一组配置一对
|
||
# 格式:源字段&源字段
|
||
# 示例:MERGE_SOURCE_PAIRS=imgo&iqiyi,dandan&animeko,dandan&bahamut
|
||
# MERGE_SOURCE_PAIRS=
|
||
|
||
# ==================== 剧集标题过滤 ====================
|
||
|
||
# 剧集标题过滤正则表达式(用于过滤花絮、预告等非正片内容)
|
||
# 默认值:下方完整规则
|
||
# 说明:
|
||
# - 如果设置了此环境变量,将完全覆盖默认的过滤规则(不是增量添加)
|
||
# - 格式:使用 | 分隔多个关键词,例如:预告|花絮|特辑|番外
|
||
# - 可以直接修改下方规则,按需增删关键词
|
||
# 示例:只过滤预告和花絮
|
||
# EPISODE_TITLE_FILTER=预告|花絮
|
||
EPISODE_TITLE_FILTER=(特别|惊喜|纳凉)?企划|合伙人手记|超前(营业|vlog)?|速览|vlog|reaction|纯享|加更(版|篇)?|抢先(看|版|集|篇)?|抢鲜|预告|花絮(独家)?|特辑|彩蛋|专访|幕后(故事|花絮|独家)?|直播(陪看|回顾)?|未播(片段)?|衍生|番外|会员(专享|加长|尊享|专属|版)?|片花|精华|看点|速看|解读|影评|解说|吐槽|盘点|拍摄花絮|制作花絮|幕后花絮|未播花絮|独家花絮|花絮特辑|先导预告|终极预告|正式预告|官方预告|彩蛋片段|删减片段|未播片段|番外彩蛋|精彩片段|精彩看点|精彩回顾|精彩集锦|看点解析|看点预告|NG镜头|NG花絮|番外篇|番外特辑|制作特辑|拍摄特辑|幕后特辑|导演特辑|演员特辑|片尾曲|插曲|高光回顾|背景音乐|OST|音乐MV|歌曲MV|前季回顾|剧情回顾|往期回顾|内容总结|剧情盘点|精选合集|剪辑合集|混剪视频|独家专访|演员访谈|导演访谈|主创访谈|媒体采访|发布会采访|采访|陪看(记)?|试看版|短剧|精编|Plus|独家版|特别版|短片|发布会|解忧局|走心局|火锅局|巅峰时刻|坞里都知道|福持目标坞民|观察室|上班那点事儿|周top|赛段|直拍|REACTION|VLOG|全纪录|开播|先导|总宣|展演|集锦|旅行日记|精彩分享|剧情揭秘
|
||
|
||
# ==================== 屏蔽词配置 ====================
|
||
|
||
# 屏蔽词列表(用于过滤弹幕内容)
|
||
# 默认值:空
|
||
# BLOCKED_WORDS=
|
||
|
||
# ==================== 弹幕去重配置 ====================
|
||
|
||
# 分钟内合并去重(最大值:30,0 表示不去重)
|
||
# 默认值:1
|
||
GROUP_MINUTE=1
|
||
|
||
# ==================== 限制弹幕总数 ====================
|
||
|
||
# 等间隔采样限制弹幕总数(单位为k,即千:默认 0,表示不限制弹幕数)
|
||
# 默认值:0
|
||
DANMU_LIMIT=0
|
||
|
||
# ==================== 弹幕转换配置 ====================
|
||
|
||
# 是否将顶部和底部弹幕转换为浮动弹幕
|
||
# 默认值:false(不转换)
|
||
# 说明:启用后,顶部弹幕(ct=5)和底部弹幕(ct=4)会被转换为浮动弹幕(ct=1)
|
||
# 可选值:true, false
|
||
CONVERT_TOP_BOTTOM_TO_SCROLL=false
|
||
|
||
# 弹幕转换颜色配置
|
||
# 默认值:default(不转换)
|
||
# 说明:default 模式不转换,white 模式将所有非白色的弹幕颜色转换为纯白色,color 模式将所有白色弹幕转换为随机颜色(包含白色)
|
||
# 可选值:default, white, color
|
||
CONVERT_COLOR=default
|
||
|
||
# 是否将繁体弹幕转换为简体,目前只对巴哈姆特源生效
|
||
# 默认值:true(转换)
|
||
# 说明:禁用后,不进行巴哈弹幕繁转简
|
||
# 可选值:true, false
|
||
DANMU_SIMPLIFIED=true
|
||
|
||
# ==================== 弹幕推送配置 ====================
|
||
|
||
# 弹幕推送地址
|
||
# 默认值:空
|
||
# 说明:如果设置了此值,在弹幕推送页面的推送地址输入框里会默认填上该地址
|
||
# 示例:http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=
|
||
DANMU_PUSH_URL=http://127.0.0.1:9978/action?do=refresh&type=danmaku&path=
|
||
|
||
# ==================== 弹幕输出格式配置 ====================
|
||
|
||
# 弹幕输出格式(全局默认格式)
|
||
# 默认值:json
|
||
# 可选值:json, xml
|
||
# 说明:
|
||
# - json: 返回 JSON 格式的弹幕数据(默认)
|
||
# - xml: 返回 XML 格式的弹幕数据(兼容弹弹play等客户端)
|
||
# 注意:可通过 API 查询参数 ?format=xml 或 ?format=json 覆盖此设置
|
||
# 示例:GET /api/v2/comment/10001?format=xml
|
||
DANMU_OUTPUT_FORMAT=json
|
||
|
||
# ==================== 限流配置 ====================
|
||
|
||
# API 限流:1分钟内同一IP最大请求次数
|
||
# 默认值:3(1分钟内最多3次请求)
|
||
# 设置为 0 表示不限流
|
||
RATE_LIMIT_MAX_REQUESTS=3
|
||
|
||
# ==================== 集标题过滤开关 ====================
|
||
|
||
# 是否在手动选择接口中启用集标题过滤
|
||
# 默认值:false(禁用)
|
||
# 说明:GET /api/v2/bangumi/{id} 和 GET /api/v2/search/anime 接口会过滤掉预告、花絮等特殊集
|
||
# 如需启用过滤,设置为 true
|
||
# 可选值:true, false
|
||
ENABLE_EPISODE_FILTER=false
|
||
|
||
# ==================== 搜索匹配模式 ====================
|
||
|
||
# 是否启用严格标题匹配模式
|
||
# 默认值:false(宽松模糊匹配)
|
||
# 说明:
|
||
# - false(默认): 模糊匹配,只要标题包含搜索词即可(例如搜索"遮天"会匹配"古惑仔3之只手遮天")
|
||
# - true: 严格匹配,只匹配标题开头或完全匹配(例如搜索"遮天"只匹配"遮天"、"遮天 第一季"等)
|
||
# 可选值:true, false
|
||
STRICT_TITLE_MATCH=false
|
||
|
||
# 是否在match自动匹配时将外语标题转换成中文标题,适用于网盘没有刮削的资源
|
||
# 默认值:false(不转换)
|
||
# 说明:需配合TMDB_API_KEY使用
|
||
# 可选值:true, false
|
||
# TITLE_TO_CHINESE=false
|
||
|
||
# ==================== 代理配置 ====================
|
||
|
||
# 代理/反代地址(用于访问受限资源)
|
||
# 默认值:空(不使用代理/反代)
|
||
# 格式:
|
||
# - 设置为代理为 http://proxy-server:port 或 https://proxy-server:port
|
||
# - 设置为万能反代为 @http://proxy-server:port 或 @https://proxy-server
|
||
# - 设置为巴哈反代为 bahamut@http://proxy-server:port 或 bahamut@https://proxy-server
|
||
# - 设置为TMDB反代为 tmdb@http://proxy-server:port 或 tmdb@https://proxy-server
|
||
# - 设置为bilibili反代为 bilibili@http://proxy-server:port 或 bilibili@https://proxy-server
|
||
# 说明:目前只对巴哈姆特、TMDB API、bilibili生效
|
||
# 如果使用 Docker 部署并且访问不了 bahamut 源或 TMDB API ,请配置代理/反代地址
|
||
# 如果想启用B站港澳台番剧的弹幕搜索与获取请配置反代/解析服务器地址
|
||
# 反代教程参考:https://github.com/wan0ge/bahamut-api-proxy
|
||
# PROXY_URL=
|
||
|
||
# ==================== TMDB 配置 ====================
|
||
|
||
# TMDB API Key(用于巴哈姆特源的译名转换)
|
||
# 默认值:空(不使用 TMDB)
|
||
# 说明:配置后并行从 TMDB 获取日语原名搜索巴哈
|
||
# 如果TMDB条目类型不是动画或制作地区不是jp则不会进行巴哈搜索
|
||
# 可以解决巴哈译名不同导致的搜索无结果问题(例如:间谍过家家 vs 間諜家家酒)
|
||
# 获取方法参考:https://www.ugnas.com/tutorial-detail/id-226.html
|
||
# TMDB_API_KEY=
|
||
|
||
# ==================== 日志配置 ====================
|
||
|
||
# 日志级别(可选值:error, warn, info)
|
||
# 默认值:info
|
||
# 说明:
|
||
# - error: 仅显示错误日志
|
||
# - warn: 显示错误和警告日志
|
||
# - info: 显示所有日志(包括详细的调试信息)
|
||
# 建议:生产环境使用 warn,开发/调试时使用 info
|
||
LOG_LEVEL=info
|
||
|
||
# ==================== 缓存配置 ====================
|
||
|
||
# 搜索结果缓存时间(分钟)
|
||
# 默认值:1
|
||
# 说明:避免短期内重复的不必要 API 请求,同时保证获取最新的结果列表
|
||
# 可根据需要调整:Vercel/Cloudflare 建议 1-5 分钟,Docker 可设置 5-30 分钟
|
||
# 设置为 0 表示不缓存
|
||
SEARCH_CACHE_MINUTES=1
|
||
|
||
# 弹幕缓存时间(分钟)
|
||
# 默认值:1
|
||
# 说明:弹幕数据的缓存时间,独立于搜索结果缓存
|
||
# 可根据需要调整
|
||
COMMENT_CACHE_MINUTES=1
|
||
|
||
# 是否记住手动选择结果
|
||
# 默认值:true
|
||
# 说明:是否记住手动选择结果,用于match自动匹配时优选上次的选择
|
||
# 用于存储查询关键字上次选择的 animeId,下次 match 自动匹配时优先选择该 anime
|
||
REMEMBER_LAST_SELECT=true
|
||
|
||
# 用户偏好记忆缓存大小限制
|
||
# 默认值:100
|
||
# 说明:lastSelectMap 最多保存的条目数,超过限制时删除最早的条目(FIFO)
|
||
# 用于存储查询关键字上次选择的 animeId,下次 match 自动匹配时优先选择该 anime
|
||
MAX_LAST_SELECT_MAP=100
|
||
|
||
# ==================== Redis 配置(Upstash)====================
|
||
|
||
# Upstash Redis REST URL(用于缓存)
|
||
# 默认值:空(不使用 Redis)
|
||
# UPSTASH_REDIS_REST_URL=
|
||
|
||
# Upstash Redis REST Token
|
||
# 默认值:空
|
||
# UPSTASH_REDIS_REST_TOKEN=
|
||
|
||
# ==================== 部署平台API接口信息 配置 ====================
|
||
|
||
# 部署账号ID,调用部署服务API需要,配置后可使用UI界面配置服务
|
||
# 默认值:空
|
||
#DEPLOY_PLATFROM_ACCOUNT=
|
||
|
||
# 部署项目名称,调用部署服务API需要,配置后可使用UI界面配置服务
|
||
# 默认值:空
|
||
#DEPLOY_PLATFROM_PROJECT=
|
||
|
||
# 部署平台token,调用部署服务API需要,配置后可使用UI界面配置服务
|
||
# 默认值:空
|
||
#DEPLOY_PLATFROM_TOKEN=
|
||
|
||
# 在建立 HTTPS 连接时是否验证服务器的 SSL/TLS 证书,0表示忽略
|
||
# 默认值:1
|
||
# NODE_TLS_REJECT_UNAUTHORIZED=1
|
||
|
||
# ==================== 标题映射表配置 ====================
|
||
|
||
# 标题映射表(用于自动匹配时替换标题进行搜索)
|
||
# 格式:原始标题->映射标题;原始标题->映射标题;...
|
||
# 示例:TITLE_MAPPING_TABLE: "唐朝诡事录->唐朝诡事录之西行;国色芳华->锦绣芳华"
|
||
# 默认值:空(不启用标题映射)
|
||
TITLE_MAPPING_TABLE=
|