diff --git a/src/lib/i18n.ts b/src/lib/i18n.ts index 90c1bdc..58b8422 100644 --- a/src/lib/i18n.ts +++ b/src/lib/i18n.ts @@ -3,12 +3,12 @@ import { initReactI18next } from "react-i18next" import deTranslation from "../locales/de/translation.json" import enTranslation from "../locales/en/translation.json" +import esTranslation from "../locales/es/translation.json" import itTranslation from "../locales/it/translation.json" import ruTranslation from "../locales/ru/translation.json" +import taTranslation from "../locales/ta/translation.json" import zhCNTranslation from "../locales/zh-CN/translation.json" import zhTWTranslation from "../locales/zh-TW/translation.json" -import esTranslation from "../locales/es/translation.json" -import taTranslation from "../locales/ta/translation.json" const resources = { "zh-CN": { diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json index de03ddb..4f3fdb9 100644 --- a/src/locales/de/translation.json +++ b/src/locales/de/translation.json @@ -87,7 +87,8 @@ "BruteForceAttackingToken": "Brute Force Angriffs Token", "BruteForceAttackingAgentSecret": "Brute Force Angriff Agent Geheimnis", "CustomCodesDashboard": "Benutzerdefinierter Coder für das Dashboard", - "RealIPHeader": "Echter IP-Anfrage-Header", + "WebRealIPHeader": "Echter IP-Anfrage-Header des Frontend", + "AgentRealIPHeader": "Echter IP-Anfrage-Header des Agent", "UseDirectConnectingIP": "Direkte IP-Verbindung verwenden", "IPChangeNotification": "IP Änderung Benachrichtigung", "EditTask": "Task bearbeiten", diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 594b2e6..8d8b29d 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -139,7 +139,8 @@ "CustomCodes": "Custom Codes (Style and Script)", "CustomCodesDashboard": "Custom Codes for Dashboard", "CustomPublicDNSNameserversforDDNS": "Custom Public DNS Nameservers for DDNS", - "RealIPHeader": "Real IP request header", + "WebRealIPHeader": "Frontend real IP request header", + "AgentRealIPHeader": "Agent real IP request header", "UseDirectConnectingIP": "Use direct connection IP", "IPChangeNotification": "IP Change Notification", "FullIPNotification": "Show Full IP Address in Notification Messages", diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json index 45c2fbe..86acfbe 100644 --- a/src/locales/es/translation.json +++ b/src/locales/es/translation.json @@ -162,7 +162,8 @@ "CustomCodes": "Códigos personalizados (Style y Script)", "CustomCodesDashboard": "Códigos personalizados para el Dashboard", "CustomPublicDNSNameserversforDDNS": "Servidores de nombres DNS públicos personalizados para DDNS", - "RealIPHeader": "Encabezado de solicitud de IP real", + "WebRealIPHeader": "Encabezado de solicitud de IP real del frontend", + "AgentRealIPHeader": "Encabezado de solicitud de IP real del Agent", "UseDirectConnectingIP": "Usar IP de conexión directa", "CreateNotifier": "Crear notificador", "LastBlockReason": "Última razón de bloqueo", diff --git a/src/locales/it/translation.json b/src/locales/it/translation.json index c055dc5..0bd4c9d 100644 --- a/src/locales/it/translation.json +++ b/src/locales/it/translation.json @@ -144,7 +144,8 @@ "DashboardOriginalHost": "Indirizzo di ancoraggio dell'agente [nome dominio/IP:porta]", "ConfigTLS": "Usa TLS per connettere Agent", "CustomPublicDNSNameserversforDDNS": "Server dei nomi DNS pubblici personalizzati per DDNS", - "RealIPHeader": "Intestazione della richiesta IP reale", + "WebRealIPHeader": "Intestazione della richiesta IP reale del frontend", + "AgentRealIPHeader": "Intestazione della richiesta IP reale dell’agente", "UseDirectConnectingIP": "Utilizzare l'IP di connessione diretta", "IPChangeNotification": "Notifica di modifica IP", "FullIPNotification": "Mostra l'indirizzo IP completo nei messaggi di notifica", diff --git a/src/locales/ru/translation.json b/src/locales/ru/translation.json index 1ae626c..2b29176 100644 --- a/src/locales/ru/translation.json +++ b/src/locales/ru/translation.json @@ -122,7 +122,8 @@ "BruteForceAttackingAgentSecret": "Секрет агента для защиты от брутфорса", "CustomCodesDashboard": "Пользовательский код для панели управления", "CustomPublicDNSNameserversforDDNS": "Пользовательские публичные DNS-серверы для DDNS", - "RealIPHeader": "Заголовок запроса с реальным IP", + "WebRealIPHeader": "Заголовок запроса с реальным IP от frontend", + "AgentRealIPHeader": "Заголовок запроса с реальным IP от агента", "FullIPNotification": "Показывать полный IP-адрес в уведомлениях", "EditService": "Редактировать сервис", "CreateService": "Создать сервис", diff --git a/src/locales/ta/translation.json b/src/locales/ta/translation.json index 0265536..bc72475 100644 --- a/src/locales/ta/translation.json +++ b/src/locales/ta/translation.json @@ -143,7 +143,8 @@ "CustomCodes": "தனிப்பயன் குறியீடுகள் (நடை மற்றும் ச்கிரிப்ட்)", "CustomCodesDashboard": "டாச்போர்டுக்கான தனிப்பயன் குறியீடுகள்", "CustomPublicDNSNameserversforDDNS": "டி.டி.என்.எச்சிற்கான தனிப்பயன் பொது டி.என்.எச் பெயர்செர்வர்ச்", - "RealIPHeader": "உண்மையான ஐபி கோரிக்கை தலைப்பு", + "WebRealIPHeader": "முன்நிலை உண்மையான ஐபி கோரிக்கை தலைப்பு", + "AgentRealIPHeader": "ஏஜெண்ட் உண்மையான ஐபி கோரிக்கை தலைப்பு", "UseDirectConnectingIP": "நேரடி இணைப்பு ஐபி பயன்படுத்தவும்", "IPChangeNotification": "ஐபி மாற்ற அறிவிப்பு", "FullIPNotification": "அறிவிப்பு செய்திகளில் முழு ஐபி முகவரியைக் காட்டுங்கள்", diff --git a/src/locales/zh-CN/translation.json b/src/locales/zh-CN/translation.json index fe92287..eb338bc 100644 --- a/src/locales/zh-CN/translation.json +++ b/src/locales/zh-CN/translation.json @@ -146,7 +146,8 @@ "DashboardOriginalHost": "Agent对接地址【域名/IP:端口】", "ConfigTLS": "Agent 使用 TLS 连接", "CustomPublicDNSNameserversforDDNS": "DDNS 的自定义公共 DNS 名称服务器", - "RealIPHeader": "真实IP请求头", + "WebRealIPHeader": "前端真实IP请求头", + "AgentRealIPHeader": "Agent真实IP请求头", "UseDirectConnectingIP": "使用直连 IP", "IPChangeNotification": "IP变更通知", "FullIPNotification": "在通知消息中显示完整的 IP 地址", diff --git a/src/locales/zh-TW/translation.json b/src/locales/zh-TW/translation.json index 07088d7..b6e11ad 100644 --- a/src/locales/zh-TW/translation.json +++ b/src/locales/zh-TW/translation.json @@ -146,7 +146,8 @@ "DashboardOriginalHost": "Agent對接位址【網域名稱/IP:連接埠】", "ConfigTLS": "Agent 使用 TLS 連線", "CustomPublicDNSNameserversforDDNS": "DDNS 的自訂公共 DNS 名稱伺服器", - "RealIPHeader": "真實IP請求頭", + "WebRealIPHeader": "前端真實IP請求頭", + "AgentRealIPHeader": "Agent真實IP請求頭", "UseDirectConnectingIP": "使用直連 IP", "IPChangeNotification": "IP變更通知", "FullIPNotification": "在通知訊息中顯示完整的 IP 位址", diff --git a/src/routes/settings.tsx b/src/routes/settings.tsx index fde9c94..6678056 100644 --- a/src/routes/settings.tsx +++ b/src/routes/settings.tsx @@ -44,7 +44,8 @@ const settingFormSchema = z.object({ install_host: asOptionalField(z.string()), custom_code: asOptionalField(z.string()), custom_code_dashboard: asOptionalField(z.string()), - real_ip_header: asOptionalField(z.string()), + web_real_ip_header: asOptionalField(z.string()), + agent_real_ip_header: asOptionalField(z.string()), tls: asOptionalField(z.boolean()), enable_ip_change_notification: asOptionalField(z.boolean()), @@ -315,10 +316,10 @@ export default function SettingsPage() { /> ( - {t("RealIPHeader")} + {t("WebRealIPHeader")}
+ + {t("UseDirectConnectingIP")} + +
+
+ +
+ )} + /> + ( + + {t("AgentRealIPHeader")} + +
+ + { + if (checked) { + field.disabled = true + form.setValue( + "agent_real_ip_header", + "NZ::Use-Peer-IP", + ) + } else { + field.disabled = false + form.setValue("agent_real_ip_header", "") } }} /> diff --git a/src/types/api.ts b/src/types/api.ts index 0120212..14cc7cc 100644 --- a/src/types/api.ts +++ b/src/types/api.ts @@ -648,8 +648,10 @@ export interface ModelSetting { /** 系统语言,默认 zh_CN */ language: string oauth2_providers: string[] - /** 真实IP */ - real_ip_header: string + /** 前端真实IP */ + web_real_ip_header: string + /** Agent真实IP */ + agent_real_ip_header: string site_name: string /** 用于前端判断生成的安装命令是否启用 TLS */ tls: boolean @@ -669,8 +671,10 @@ export interface ModelSettingForm { ip_change_notification_group_id: number /** @minLength 2 */ language: string - /** 真实IP */ - real_ip_header?: string + /** 前端真实IP */ + web_real_ip_header?: string + /** Agent真实IP */ + agent_real_ip_header?: string /** @minLength 1 */ site_name: string tls?: boolean