feat: 添加 FlareSolverr 配置支持以绕过 Cloudflare/WAF

- 在 config.example.yaml 中添加 flaresolverr 配置段
- 在 internal/config/config.go 中添加 FlareSolverrConfig 结构体
- 修改 SiteService 接收 flaresolverr URL
- 更新 TestConnection 使用配置的 FlareSolverr URL
- 构建验证通过
This commit is contained in:
ShukeBta
2026-05-18 01:46:48 +08:00
parent a8e825ec13
commit cdd28b8b88
4 changed files with 35 additions and 8 deletions
+14
View File
@@ -31,6 +31,7 @@ type Config struct {
Media MediaConfig `mapstructure:"media"`
Transcoder TranscoderConfig `mapstructure:"transcoder"`
AI AIConfig `mapstructure:"ai"`
FlareSolverr FlareSolverrConfig `mapstructure:"flaresolverr"`
ApiConfig ApiConfigConfig `mapstructure:"api_config"`
}
@@ -129,6 +130,14 @@ type AIConfig struct {
MaxConcurrent int `mapstructure:"max_concurrent"`
}
// FlareSolverrConfig 配置 FlareSolverr 服务(用于绕过 Cloudflare/WAF)。
type FlareSolverrConfig struct {
Enabled bool `mapstructure:"enabled"`
URL string `mapstructure:"url"`
Session string `mapstructure:"session"`
Timeout int `mapstructure:"timeout"`
}
// Load 从默认值 / 文件 / 环境读取配置。
//
// 即使没有文件也始终返回可用的 Config。
@@ -212,6 +221,11 @@ func setDefaults(v *viper.Viper) {
v.SetDefault("ai.timeout", 30)
v.SetDefault("ai.max_concurrent", 3)
v.SetDefault("flaresolverr.enabled", false)
v.SetDefault("flaresolverr.url", "http://localhost:8191")
v.SetDefault("flaresolverr.session", "mediastation")
v.SetDefault("flaresolverr.timeout", 60)
v.SetDefault("transcoder.encoder", "")
v.SetDefault("transcoder.preset", "veryfast")
v.SetDefault("transcoder.video_bitrate", "1500k")