@@ -44,7 +44,8 @@ const settingFormSchema = z.object({
4444 install_host : asOptionalField ( z . string ( ) ) ,
4545 custom_code : asOptionalField ( z . string ( ) ) ,
4646 custom_code_dashboard : asOptionalField ( z . string ( ) ) ,
47- real_ip_header : asOptionalField ( z . string ( ) ) ,
47+ web_real_ip_header : asOptionalField ( z . string ( ) ) ,
48+ agent_real_ip_header : asOptionalField ( z . string ( ) ) ,
4849
4950 tls : asOptionalField ( z . boolean ( ) ) ,
5051 enable_ip_change_notification : asOptionalField ( z . boolean ( ) ) ,
@@ -315,10 +316,10 @@ export default function SettingsPage() {
315316 />
316317 < FormField
317318 control = { form . control }
318- name = "real_ip_header "
319+ name = "web_real_ip_header "
319320 render = { ( { field } ) => (
320321 < FormItem >
321- < FormLabel > { t ( "RealIPHeader " ) } </ FormLabel >
322+ < FormLabel > { t ( "WebRealIPHeader " ) } </ FormLabel >
322323 < FormControl >
323324 < div className = "flex items-center" >
324325 < Input
@@ -334,12 +335,51 @@ export default function SettingsPage() {
334335 if ( checked ) {
335336 field . disabled = true
336337 form . setValue (
337- "real_ip_header " ,
338+ "web_real_ip_header " ,
338339 "NZ::Use-Peer-IP" ,
339340 )
340341 } else {
341342 field . disabled = false
342- form . setValue ( "real_ip_header" , "" )
343+ form . setValue ( "web_real_ip_header" , "" )
344+ }
345+ } }
346+ />
347+ < FormLabel className = "font-normal ml-2" >
348+ { t ( "UseDirectConnectingIP" ) }
349+ </ FormLabel >
350+ </ div >
351+ </ FormControl >
352+ < FormMessage />
353+ </ FormItem >
354+ ) }
355+ />
356+ < FormField
357+ control = { form . control }
358+ name = "agent_real_ip_header"
359+ render = { ( { field } ) => (
360+ < FormItem >
361+ < FormLabel > { t ( "AgentRealIPHeader" ) } </ FormLabel >
362+ < FormControl >
363+ < div className = "flex items-center" >
364+ < Input
365+ disabled = { field . value == "NZ::Use-Peer-IP" }
366+ className = "w-1/2"
367+ placeholder = "CF-Connecting-IP"
368+ { ...field }
369+ />
370+ < Checkbox
371+ checked = { field . value == "NZ::Use-Peer-IP" }
372+ className = "ml-2"
373+ onCheckedChange = { ( checked ) => {
374+ if ( checked ) {
375+ field . disabled = true
376+ form . setValue (
377+ "agent_real_ip_header" ,
378+ "NZ::Use-Peer-IP" ,
379+ )
380+ } else {
381+ field . disabled = false
382+ form . setValue ( "agent_real_ip_header" , "" )
343383 }
344384 } }
345385 />
0 commit comments