feat: add client IP diagnostics and blocking

This commit is contained in:
whyour
2026-08-16 13:57:33 +08:00
parent 83e4490b57
commit 31f78e4d1f
16 changed files with 832 additions and 75 deletions
+31
View File
@@ -596,6 +596,37 @@
"验证码": "Verification Code",
"验证码为6位数字": "Verification code is a 6-digit number",
"黑名单": "Blacklist",
"客户端 IP": "Client IP",
"可信代理配置说明": "Trusted proxy configuration",
"系统从离青龙最近的一跳开始,由右向左检查代理链,并把第一个不可信地址作为客户端 IP。": "QingLong checks the proxy chain from the nearest hop to the farthest and uses the first untrusted address as the client IP.",
"代理层数只适合所有访问路径长度完全一致的部署;生产环境更推荐填写代理的固定 IP 或专用网络 CIDR。不要直接使用 true。": "Hop count is safe only when every request path has the same length. In production, prefer fixed proxy IPs or dedicated network CIDRs. Do not use true directly.",
"当前由环境变量 QL_TRUST_PROXY 管理": "Managed by QL_TRUST_PROXY",
"请修改容器环境变量并重启,系统设置不能覆盖环境变量。": "Change the container environment variable and restart. System settings cannot override it.",
"Trust Proxy 自定义设置": "Custom trust proxy setting",
"直接访问": "Direct access",
"一层代理": "One proxy",
"固定多层": "Fixed hops",
"指定地址或网段": "IP addresses or CIDRs",
"层": "hops",
"保存配置": "Save",
"当前生效值": "Effective value",
"默认配置": "Default",
"环境变量": "Environment variable",
"客户端 IP 诊断": "Client IP diagnostics",
"重新诊断": "Run again",
"Socket 地址": "Socket address",
"最终客户端 IP": "Final client IP",
"距离青龙": "Distance from QingLong",
"跳": "hop(s)",
"判定": "Decision",
"可信代理": "Trusted proxy",
"最终客户端": "Final client",
"未检查": "Not checked",
"请输入可信代理地址或网段": "Enter trusted proxy addresses or CIDRs",
"加入黑名单": "Block IP",
"移出黑名单": "Unblock IP",
"确认加入 IP 黑名单": "Block this IP address?",
"确认移出 IP 黑名单": "Unblock this IP address?",
"默认为 CPU 个数": "Default is the number of CPUs",
",保存后不可恢复": ", it can't be recovered after saving.",
",删除后不可恢复": ", it can't be recovered after deletion",