diff --git a/frontend/public/openapi.json b/frontend/public/openapi.json index 9bcb3a494..14c0cb997 100644 --- a/frontend/public/openapi.json +++ b/frontend/public/openapi.json @@ -2862,6 +2862,10 @@ "publicKey": { "type": "string" }, + "routeThroughXray": { + "description": "RouteThroughXray turns on this inbound's TPROXY-into-Xray bridge; see\nInstance.RouteThroughXray for what that means. Off by default.", + "type": "boolean" + }, "s1": { "type": "integer" }, diff --git a/frontend/src/generated/examples.ts b/frontend/src/generated/examples.ts index 0d0391323..fa4bb8e94 100644 --- a/frontend/src/generated/examples.ts +++ b/frontend/src/generated/examples.ts @@ -666,6 +666,7 @@ export const EXAMPLES: Record = { "primaryDns": "", "privateKey": "", "publicKey": "", + "routeThroughXray": false, "s1": 0, "s2": 0, "s3": 0, diff --git a/frontend/src/generated/schemas.ts b/frontend/src/generated/schemas.ts index b55c533f8..00da739f9 100644 --- a/frontend/src/generated/schemas.ts +++ b/frontend/src/generated/schemas.ts @@ -2836,6 +2836,10 @@ export const SCHEMAS: Record = { "publicKey": { "type": "string" }, + "routeThroughXray": { + "description": "RouteThroughXray turns on this inbound's TPROXY-into-Xray bridge; see\nInstance.RouteThroughXray for what that means. Off by default.", + "type": "boolean" + }, "s1": { "type": "integer" }, diff --git a/frontend/src/generated/types.ts b/frontend/src/generated/types.ts index dd06334ed..eec2ce600 100644 --- a/frontend/src/generated/types.ts +++ b/frontend/src/generated/types.ts @@ -649,6 +649,7 @@ export interface ServerSettings { primaryDns?: string; privateKey: string; publicKey: string; + routeThroughXray?: boolean; s1: number; s2: number; s3: number; diff --git a/frontend/src/generated/zod.ts b/frontend/src/generated/zod.ts index a54af8da7..ac0625d3a 100644 --- a/frontend/src/generated/zod.ts +++ b/frontend/src/generated/zod.ts @@ -688,6 +688,7 @@ export const ServerSettingsSchema = z.object({ primaryDns: z.string().optional(), privateKey: z.string(), publicKey: z.string(), + routeThroughXray: z.boolean().optional(), s1: z.number().int(), s2: z.number().int(), s3: z.number().int(), diff --git a/frontend/src/lib/xray/inbound-defaults.ts b/frontend/src/lib/xray/inbound-defaults.ts index 0c5fabc0b..6fb308cbe 100644 --- a/frontend/src/lib/xray/inbound-defaults.ts +++ b/frontend/src/lib/xray/inbound-defaults.ts @@ -298,6 +298,7 @@ export function createDefaultAmneziawgInboundSettings(): AmneziawgInboundSetting ipv6Enabled: false, ipv6Subnet: '', ipv6ExternalInterface: '', + routeThroughXray: false, jc: 5, jmin: 10, jmax: 50, diff --git a/frontend/src/pages/inbounds/form/protocols/amneziawg.tsx b/frontend/src/pages/inbounds/form/protocols/amneziawg.tsx index 76da588e6..60680ccd7 100644 --- a/frontend/src/pages/inbounds/form/protocols/amneziawg.tsx +++ b/frontend/src/pages/inbounds/form/protocols/amneziawg.tsx @@ -68,6 +68,14 @@ export default function AmneziawgFields({ awgPubKey, regenInboundAwg, regenInbou > + + +