From 3da4005df76d9e092f311daf5b50271abdb6f24a Mon Sep 17 00:00:00 2001 From: liuguoxu <9480007@meicai.cn> Date: Thu, 6 Jun 2019 17:39:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E7=BA=A7=E8=AE=BE=E7=BD=AE=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0pac=E7=9B=91=E5=90=AC=E5=9C=B0=E5=9D=80=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E6=96=B9=E4=BE=BF=E5=B1=80=E5=9F=9F=E7=BD=91?= =?UTF-8?q?=E5=85=B1=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShadowsocksX-NG.xcodeproj/project.pbxproj | 7 ++----- ShadowsocksX-NG/ProxyConfHelper.m | 7 +++++-- proxy_conf_helper/main.m | 8 ++++++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/ShadowsocksX-NG.xcodeproj/project.pbxproj b/ShadowsocksX-NG.xcodeproj/project.pbxproj index ff4e05d..bbfec57 100755 --- a/ShadowsocksX-NG.xcodeproj/project.pbxproj +++ b/ShadowsocksX-NG.xcodeproj/project.pbxproj @@ -145,7 +145,6 @@ 1E7783AEDB4A3BDDC9FF16AC /* libPods-proxy_conf_helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-proxy_conf_helper.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 283ED1A8E9B711AC65670031 /* Pods_ShadowsocksX_NG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NG.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 297AF069022A197FD8E9D226 /* Pods-proxy_conf_helper.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-proxy_conf_helper.release.xcconfig"; path = "Pods/Target Support Files/Pods-proxy_conf_helper/Pods-proxy_conf_helper.release.xcconfig"; sourceTree = ""; }; - 3134441F22A53D8A006C3889 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/PreferencesWinController.strings"; sourceTree = ""; }; 388120F062D7EB7DD0D8DDCA /* Pods_ShadowsocksX_NGTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3AC7CD9886196A997D6FC78D /* Pods-ShadowsocksX-NGTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShadowsocksX-NGTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests.release.xcconfig"; sourceTree = ""; }; 50D54926AA21B0D4D8DD9C4F /* Pods-ShadowsocksX-NGUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ShadowsocksX-NGUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ShadowsocksX-NGUITests/Pods-ShadowsocksX-NGUITests.release.xcconfig"; sourceTree = ""; }; @@ -225,6 +224,7 @@ 9BA04B211D23D5A5005AAD7F /* ProxyConfTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProxyConfTool.h; sourceTree = ""; }; 9BA04B221D23D5A5005AAD7F /* ProxyConfTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProxyConfTool.m; sourceTree = ""; }; 9BAFE2E31E83ED7F00F71CCE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PreferencesWinController.xib; sourceTree = ""; }; + 9BAFE2E91E83EDDF00F71CCE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/PreferencesWinController.strings"; sourceTree = ""; }; 9BAFE2EB1E83F91D00F71CCE /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainMenu.strings"; sourceTree = ""; }; 9BB706A51D1B982300551F0E /* SWBApplication.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWBApplication.m; sourceTree = ""; }; 9BB706A61D1B982300551F0E /* SWBApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWBApplication.h; sourceTree = ""; }; @@ -602,7 +602,6 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, "zh-Hans", @@ -949,7 +948,7 @@ isa = PBXVariantGroup; children = ( 9BAFE2E31E83ED7F00F71CCE /* Base */, - 3134441F22A53D8A006C3889 /* zh-Hans */, + 9BAFE2E91E83EDDF00F71CCE /* zh-Hans */, ); name = PreferencesWinController.xib; sourceTree = ""; @@ -1092,7 +1091,6 @@ "$(PROJECT_DIR)/ShadowsocksX-NG/simple-obfs", ); MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NG"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "ShadowsocksX-NG/ShadowsocksX-NG-Bridging-Header.h"; @@ -1123,7 +1121,6 @@ "$(PROJECT_DIR)/ShadowsocksX-NG/simple-obfs", ); MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NG"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "ShadowsocksX-NG/ShadowsocksX-NG-Bridging-Header.h"; diff --git a/ShadowsocksX-NG/ProxyConfHelper.m b/ShadowsocksX-NG/ProxyConfHelper.m index 16f209d..e2e8dd6 100644 --- a/ShadowsocksX-NG/ProxyConfHelper.m +++ b/ShadowsocksX-NG/ProxyConfHelper.m @@ -153,18 +153,21 @@ GCDWebServer *webServer =nil; } + (void)enableGlobalProxy { + NSString* socks5ListenAddress = [[NSUserDefaults standardUserDefaults]stringForKey:@"LocalSocks5.ListenAddress"]; NSUInteger port = [[NSUserDefaults standardUserDefaults]integerForKey:@"LocalSocks5.ListenPort"]; NSMutableArray* args = [@[@"--mode", @"global", @"--port" - , [NSString stringWithFormat:@"%lu", (unsigned long)port]]mutableCopy]; + , [NSString stringWithFormat:@"%lu", (unsigned long)port],@"--socks-listen-address",socks5ListenAddress]mutableCopy]; // Because issue #106 https://github.com/shadowsocks/ShadowsocksX-NG/issues/106 // Comment below out. // if ([[NSUserDefaults standardUserDefaults] boolForKey:@"LocalHTTPOn"] && [[NSUserDefaults standardUserDefaults] boolForKey:@"LocalHTTP.FollowGlobal"]) { // NSUInteger privoxyPort = [[NSUserDefaults standardUserDefaults]integerForKey:@"LocalHTTP.ListenPort"]; -// +// NSString* privoxyListenAddress = [[NSUserDefaults standardUserDefaults]stringForKey:@"LocalHTTP.ListenAddress"]; // [args addObject:@"--privoxy-port"]; // [args addObject:[NSString stringWithFormat:@"%lu", (unsigned long)privoxyPort]]; +// [args addObject:@"--privoxy-listen-address"]; +// [args addObject:privoxyListenAddress]; // } [self addArguments4ManualSpecifyNetworkServices:args]; diff --git a/proxy_conf_helper/main.m b/proxy_conf_helper/main.m index dfab595..8bee267 100644 --- a/proxy_conf_helper/main.m +++ b/proxy_conf_helper/main.m @@ -22,10 +22,12 @@ int main(int argc, const char * argv[]) NSString* mode; NSString* pacURL; NSString* portString; + NSString* socks5ListenAddress; NSString* privoxyPortString; + NSString* privoxyListenAddress; BRLOptionParser *options = [BRLOptionParser new]; - [options setBanner:@"Usage: %s [-v] [-m auto|global|off] [-u ] [-p ] [-r ] [-x ]", argv[0]]; + [options setBanner:@"Usage: %s [-v] [-m auto|global|off] [-u ] [-p ] [-l ] [-r ] [-p ] [-x ]", argv[0]]; // Version [options addOption:"version" flag:'v' description:@"Print the version number." block:^{ @@ -45,8 +47,10 @@ int main(int argc, const char * argv[]) [options addOption:"pac-url" flag:'u' description:@"PAC file url for auto mode." argument:&pacURL]; [options addOption:"port" flag:'p' description:@"Listen port for global mode." argument:&portString]; + [options addOption:"socks-listen-address" flag:'l' description:@"Listen socks5 address for global mode." argument:&socks5ListenAddress]; [options addOption:"privoxy-port" flag:'r' description:@"Privoxy Port for global mode." argument:&privoxyPortString]; + [options addOption:"privoxy-listen-address" flag:'s' description:@"Privoxy Listen Address for global mode." argument:&privoxyListenAddress]; NSMutableSet* networkServiceKeys = [NSMutableSet set]; [options addOption:"network-service" flag:'n' description:@"Manual specify the network profile need to set proxy." blockWithArgument:^(NSString* value){ @@ -157,7 +161,7 @@ int main(int argc, const char * argv[]) } else if ([mode isEqualToString:@"global"]) { - [proxies setObject:@"127.0.0.1" forKey:(NSString *) + [proxies setObject:socks5ListenAddress forKey:(NSString *) kCFNetworkProxiesSOCKSProxy]; [proxies setObject:[NSNumber numberWithInteger:port] forKey:(NSString*) kCFNetworkProxiesSOCKSPort];