diff --git a/ShadowsocksX-NG/AppDelegate.swift b/ShadowsocksX-NG/AppDelegate.swift
index c354864..51ca5c8 100644
--- a/ShadowsocksX-NG/AppDelegate.swift
+++ b/ShadowsocksX-NG/AppDelegate.swift
@@ -57,6 +57,8 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
"ShadowsocksRunningMode": "auto",
"LocalSocks5.ListenPort": NSNumber(unsignedShort: 1086),
"LocalSocks5.ListenAddress": "127.0.0.1",
+ "PacServer.ListenAddress": "127.0.0.1",
+ "PacServer.ListenPort":NSNumber(unsignedShort: 8090),
"LocalSocks5.Timeout": NSNumber(unsignedInteger: 60),
"LocalSocks5.EnableUDPRelay": NSNumber(bool: false),
"LocalSocks5.EnableVerboseMode": NSNumber(bool: false),
@@ -91,6 +93,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
, usingBlock: {
(note) in
SyncSSLocal()
+ self.applyConfig()
}
)
notifyCenter.addObserverForName("NOTIFY_FOUND_SS_URL", object: nil, queue: nil) {
diff --git a/ShadowsocksX-NG/Base.lproj/AdvPreferencesWindowController.xib b/ShadowsocksX-NG/Base.lproj/AdvPreferencesWindowController.xib
index e222c3d..37f475f 100644
--- a/ShadowsocksX-NG/Base.lproj/AdvPreferencesWindowController.xib
+++ b/ShadowsocksX-NG/Base.lproj/AdvPreferencesWindowController.xib
@@ -14,10 +14,10 @@
-
+
-
+
@@ -56,7 +56,7 @@
-
+
@@ -64,13 +64,13 @@
-
+
-
+
@@ -78,7 +78,7 @@
-
+
@@ -86,7 +86,7 @@
-
+
@@ -135,7 +135,7 @@
-
+
@@ -174,6 +174,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -220,7 +258,7 @@
-
+
diff --git a/ShadowsocksX-NG/ProxyConfHelper.m b/ShadowsocksX-NG/ProxyConfHelper.m
index 357326e..7a146d6 100644
--- a/ShadowsocksX-NG/ProxyConfHelper.m
+++ b/ShadowsocksX-NG/ProxyConfHelper.m
@@ -197,9 +197,11 @@ GCDWebServer *webServer = nil;
return [GCDWebServerDataResponse responseWithData: originalPACData contentType:@"application/x-ns-proxy-autoconfig"];
}
];
- int port = 8090;
+ NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
+ NSString * address = [defaults stringForKey:@"PacServer.ListenAddress"];
+ int port = (short)[defaults integerForKey:@"PacServer.ListenPort"];
[webServer startWithPort:port bonjourName:@"webserver"];
- return [NSString stringWithFormat:@"%@%d%@",@"http://127.0.0.1:",port,routerPath];
+ return [NSString stringWithFormat:@"%@%@:%d%@",@"http://",address,port,routerPath];
}
+ (void)stopPACServer {