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
+7 -7
View File
@@ -21,13 +21,14 @@ import (
// SiteService manages PT/BT site configurations.
type SiteService struct {
log *zap.Logger
repo *repository.Container
log *zap.Logger
repo *repository.Container
flareSolverrURL string
}
// NewSiteService is the constructor.
func NewSiteService(log *zap.Logger, repo *repository.Container) *SiteService {
return &SiteService{log: log, repo: repo}
func NewSiteService(log *zap.Logger, repo *repository.Container, flareSolverrURL string) *SiteService {
return &SiteService{log: log, repo: repo, flareSolverrURL: flareSolverrURL}
}
// Create persists a new site.
@@ -88,9 +89,8 @@ func (s *SiteService) TestConnection(ctx context.Context, id string) (bool, stri
timeout = 15
}
// TODO: Get flareSolverrURL from config (e.g. from config.yaml)
// For now, pass empty string to skip FlareSolverr
flareSolverrURL := "" // TODO: load from config
// Use configured FlareSolverr URL (may be empty if not configured)
flareSolverrURL := s.flareSolverrURL
ok, msg, err := helper.TestSiteConnectivity(site, flareSolverrURL, timeout, s.log)
if err != nil {