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服务器监听端口:";