Files
kami_shop/internal/config/proxy.go
danial 0ec72f4e12 feat(proxy): 实现代理池功能支持SOCKS5代理自动获取与管理
- 添加 go-resty/v2依赖用于HTTP请求处理
- 创建代理配置模块 config/proxy.go 管理代理API地址和认证信息- 实现 SOCKS5代理结构体及缓存机制- 支持代理有效性测试与1分钟有效期管理
- 实现代理池缓存功能,支持最大50个代理缓存
- 添加代理获取重试机制(最多3次)- 更新 proxy controller 使用新的代理池系统
- 添加完整的单元测试覆盖代理功能
- 提供详细的 README 文档说明使用方法和API
- 支持从环境变量配置代理认证信息
- 实现缓存清理和监控功能
2025-10-26 00:09:42 +08:00

20 lines
586 B
Go

package config
import "github.com/beego/beego/v2/core/config/env"
// ProxyInfo 代理配置信息
type ProxyInfo struct {
Url string // 代理获取API地址
AuthKey string // 代理认证密钥
AuthPwd string // 代理认证密码
}
// GetProxyInfo 获取代理配置信息
func GetProxyInfo() ProxyInfo {
return ProxyInfo{
Url: env.Get("proxyUrl", "http://api.shenlongip.com/ip?key=p7y3z180&protocol=1&mr=1&pattern=txt&count=1&sign=0abc28f7c7f832e85a1f3d9b96f028b4"),
AuthKey: env.Get("proxyAuthKey", "jt5sgd"),
AuthPwd: env.Get("proxyAuthPwd", "zuvcm811"),
}
}