From 5cb98a1112b192d8da5f1a529d793e019ad35e13 Mon Sep 17 00:00:00 2001 From: Qiu Yuzhou Date: Tue, 29 Oct 2019 17:18:23 +0800 Subject: [PATCH] Fixes options for pac http server. GCDWebServer not support to specify the ip listen on. Only could specify bind to localhost or any ip(INADDR_ANY). --- ShadowsocksX-NG/AppDelegate.swift | 2 +- .../Base.lproj/PreferencesWinController.xib | 305 +++++++++--------- ShadowsocksX-NG/Diagnose.swift | 2 +- ShadowsocksX-NG/ProxyConfHelper.m | 9 +- .../PreferencesWinController.strings | 4 +- 5 files changed, 156 insertions(+), 166 deletions(-) diff --git a/ShadowsocksX-NG/AppDelegate.swift b/ShadowsocksX-NG/AppDelegate.swift index 470d9ff..e5a0720 100755 --- a/ShadowsocksX-NG/AppDelegate.swift +++ b/ShadowsocksX-NG/AppDelegate.swift @@ -95,7 +95,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele "ShadowsocksRunningMode": "auto", "LocalSocks5.ListenPort": NSNumber(value: 1086 as UInt16), "LocalSocks5.ListenAddress": "127.0.0.1", - "PacServer.ListenAddress":"127.0.0.1", + "PacServer.BindToLocalhost": NSNumber(value: true as Bool), "PacServer.ListenPort":NSNumber(value: 1089 as UInt16), "LocalSocks5.Timeout": NSNumber(value: 60 as UInt), "LocalSocks5.EnableUDPRelay": NSNumber(value: false as Bool), diff --git a/ShadowsocksX-NG/Base.lproj/PreferencesWinController.xib b/ShadowsocksX-NG/Base.lproj/PreferencesWinController.xib index 2d01adc..cc271d2 100644 --- a/ShadowsocksX-NG/Base.lproj/PreferencesWinController.xib +++ b/ShadowsocksX-NG/Base.lproj/PreferencesWinController.xib @@ -20,8 +20,8 @@ - - + + @@ -30,7 +30,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -157,39 +157,39 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -199,7 +199,7 @@ - + @@ -207,7 +207,10 @@ - + + + + @@ -215,7 +218,7 @@ - + @@ -230,7 +233,7 @@ - + @@ -238,7 +241,7 @@ - + @@ -254,7 +257,7 @@ - + - + @@ -283,7 +286,7 @@ - + @@ -291,7 +294,7 @@ - + @@ -309,7 +312,7 @@ - + @@ -324,31 +327,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - + @@ -367,62 +347,69 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -456,7 +443,7 @@ - + @@ -494,26 +481,26 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -649,10 +636,10 @@ - - - - + + + + diff --git a/ShadowsocksX-NG/Diagnose.swift b/ShadowsocksX-NG/Diagnose.swift index 08a3ffc..1befdfd 100644 --- a/ShadowsocksX-NG/Diagnose.swift +++ b/ShadowsocksX-NG/Diagnose.swift @@ -41,7 +41,7 @@ func diagnose() -> String { "ShadowsocksRunningMode", "LocalSocks5.ListenPort", "LocalSocks5.ListenAddress", - "PacServer.ListenAddress", + "PacServer.BindToLocalhost", "PacServer.ListenPort", "LocalSocks5.Timeout", "LocalSocks5.EnableUDPRelay", diff --git a/ShadowsocksX-NG/ProxyConfHelper.m b/ShadowsocksX-NG/ProxyConfHelper.m index 645d668..76ec8d6 100644 --- a/ShadowsocksX-NG/ProxyConfHelper.m +++ b/ShadowsocksX-NG/ProxyConfHelper.m @@ -208,7 +208,7 @@ GCDWebServer *webServer = nil; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - NSString * address = [defaults stringForKey:@"PacServer.ListenAddress"]; + NSString * address = @"localhost"; int port = (short)[defaults integerForKey:@"PacServer.ListenPort"]; return [NSString stringWithFormat:@"%@%@:%d%@",@"http://",address,port,routerPath]; @@ -243,10 +243,13 @@ GCDWebServer *webServer = nil; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - NSString * address = [defaults stringForKey:@"PacServer.ListenAddress"]; + BOOL bindToLocalhost = [defaults boolForKey:@"PacServer.BindToLocalhost"]; int port = (short)[defaults integerForKey:@"PacServer.ListenPort"]; - [webServer startWithOptions:@{@"ServerName":address,@"Port":@(port)} error:nil]; + [webServer startWithOptions:@{ + GCDWebServerOption_BindToLocalhost: @(bindToLocalhost), + GCDWebServerOption_Port: @(port) + } error:nil]; } + (void)stopPACServer { diff --git a/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWinController.strings b/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWinController.strings index ac56913..b61656e 100644 --- a/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWinController.strings +++ b/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWinController.strings @@ -52,8 +52,8 @@ /* Class = "NSTextFieldCell"; title = "Num of Kcptun connections:"; ObjectID = "FSi-9j-QBe"; */ "FSi-9j-QBe.title" = "Num of Kcptun connections:"; -/* Class = "NSTextFieldCell"; title = "Local PAC Server Listen Address:"; ObjectID = "80e-Qu-r2S"; */ -"80e-Qu-r2S.title" = "本地PAC服务器监听地址:"; +/* Class = "NSButtonCell"; title = "Local PAC Server Bind To Localhost"; ObjectID = "oCf-id-PAx"; */ +"oCf-id-PAx.title" = "本地PAC服务器监听localhost"; /* Class = "NSTextFieldCell"; title = "Local PAC Server Listen Port:"; ObjectID = "IMQ-c4-gmc"; */ "IMQ-c4-gmc.title" = "本地PAC服务器监听端口:";