feat: 连接列表显示客户端真实 IP,支持反代和 CDN 场景

新增可配置的 real_ip_headers(默认 CF-Connecting-IP > X-Real-IP >
X-Forwarded-For 降级取值),trusted_proxies 用于 gin 代理信任链。
WebSocket 连接建立时捕获真实 IP 并在 /profile 和 /admin 连接列表展示,
登录会话 IP 同步改用真实 IP。
This commit is contained in:
2026-07-10 16:58:14 +08:00
parent a98cdb0cac
commit 8398067acb
13 changed files with 67 additions and 13 deletions
+9 -6
View File
@@ -10,12 +10,14 @@ import (
)
type WebConfig struct {
Port int `yaml:"port"`
Sock string `yaml:"sock"`
SockMode string `yaml:"sock_mode"`
SockGroup string `yaml:"sock_group"`
SockDirMode string `yaml:"sock_dir_mode"`
JWTSecret string `yaml:"jwt_secret"`
Port int `yaml:"port"`
Sock string `yaml:"sock"`
SockMode string `yaml:"sock_mode"`
SockGroup string `yaml:"sock_group"`
SockDirMode string `yaml:"sock_dir_mode"`
JWTSecret string `yaml:"jwt_secret"`
RealIPHeaders []string `yaml:"real_ip_headers"`
TrustedProxies []string `yaml:"trusted_proxies"`
}
type DatabaseConfig struct {
@@ -36,6 +38,7 @@ func defaultConfig() *Config {
Sock: "web.sock",
SockMode: "0666",
SockDirMode: "0755",
RealIPHeaders: []string{"CF-Connecting-IP", "X-Real-IP", "X-Forwarded-For"},
},
Database: DatabaseConfig{
Type: "sqlite",