Files
Havline/internal/service/proxy_opts.go
T

30 lines
772 B
Go
Raw Normal View History

2026-09-23 09:40:59 +08:00
package service
import (
"context"
"github.com/fonu/fonu/internal/chinacidr"
"github.com/fonu/fonu/internal/nginx"
"github.com/fonu/fonu/internal/settings"
)
func (s *ProxyService) loadGenerateOptions(ctx context.Context) nginx.GenerateOptions {
opts := nginx.GenerateOptions{}
if s.settings == nil {
return opts
}
raw, err := s.settings.Get(ctx, settings.KeyTrustedProxy)
if err == nil {
opts.TrustedProxy = nginx.ParseTrustedProxyJSON(raw)
}
blRaw, err := s.settings.Get(ctx, settings.KeyGlobalIPBlacklist)
if err == nil {
opts.GlobalIPBlacklist = chinacidr.ParseGlobalIPList(blRaw)
}
wlRaw, err := s.settings.Get(ctx, settings.KeyGlobalIPWhitelist)
if err == nil {
opts.GlobalIPWhitelist = chinacidr.ParseGlobalIPList(wlRaw)
}
return opts
}