From 020ad8b2cfba3dbf636e9ce12b5cbc3aef3e84b8 Mon Sep 17 00:00:00 2001 From: qinyuhang Date: Thu, 25 Aug 2016 10:01:22 +0800 Subject: [PATCH] add adv setting for local PAC server add adv setting for local PAC server --- ShadowsocksX-NG/AppDelegate.swift | 3 + .../AdvPreferencesWindowController.xib | 56 ++++++++++++++++--- ShadowsocksX-NG/ProxyConfHelper.m | 6 +- 3 files changed, 54 insertions(+), 11 deletions(-) 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 {