From f7f7aa058950e8b5772e86047348585a526291b1 Mon Sep 17 00:00:00 2001 From: Timothy Qiu Date: Wed, 1 Nov 2017 14:04:32 +0800 Subject: [PATCH 1/2] Enables plugins config in Server Preferences --- .../PreferencesWindowController.xib | 90 ++++++++++++++----- .../PreferencesWindowController.swift | 7 ++ ShadowsocksX-NG/ServerProfile.swift | 34 +++++++ .../PreferencesWindowController.strings | 6 ++ 4 files changed, 114 insertions(+), 23 deletions(-) diff --git a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib index b8940d8..6411dda 100644 --- a/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib +++ b/ShadowsocksX-NG/Base.lproj/PreferencesWindowController.xib @@ -26,6 +26,8 @@ + + @@ -39,20 +41,20 @@ - + - + - + - + - + @@ -99,13 +101,13 @@ - + - + - + @@ -113,7 +115,7 @@ - + @@ -124,7 +126,7 @@ - + @@ -132,7 +134,7 @@ - + @@ -140,23 +142,47 @@ - + + + + + + + + + + + + + + + + + - + + + + + + + + + - + @@ -164,23 +190,23 @@ - + - + @@ -401,7 +427,7 @@ - + @@ -415,7 +441,7 @@ - + @@ -466,7 +492,7 @@ - + + + + + + + + + + + + + + + @@ -520,11 +560,15 @@ + + + + + - diff --git a/ShadowsocksX-NG/PreferencesWindowController.swift b/ShadowsocksX-NG/PreferencesWindowController.swift index 21b3951..eb9514d 100644 --- a/ShadowsocksX-NG/PreferencesWindowController.swift +++ b/ShadowsocksX-NG/PreferencesWindowController.swift @@ -27,6 +27,8 @@ class PreferencesWindowController: NSWindowController @IBOutlet weak var passwordTextField: NSTextField! @IBOutlet weak var passwordSecureTextField: NSSecureTextField! @IBOutlet weak var togglePasswordVisibleButton: NSButton! + @IBOutlet weak var pluginTextField: NSTextField! + @IBOutlet weak var pluginOptionsTextField: NSTextField! @IBOutlet weak var remarkTextField: NSTextField! @@ -264,6 +266,11 @@ class PreferencesWindowController: NSWindowController , options: [NSBindingOption.continuouslyUpdatesValue: true]) passwordSecureTextField.bind(NSBindingName(rawValue: "value"), to: editingProfile, withKeyPath: "password" , options: [NSBindingOption.continuouslyUpdatesValue: true]) + + pluginTextField.bind(NSBindingName(rawValue: "value"), to: editingProfile, withKeyPath: "plugin" + , options: [NSBindingOption.continuouslyUpdatesValue: true]) + pluginOptionsTextField.bind(NSBindingName(rawValue: "value"), to: editingProfile, withKeyPath: "pluginOptions" + , options: [NSBindingOption.continuouslyUpdatesValue: true]) remarkTextField.bind(NSBindingName(rawValue: "value"), to: editingProfile, withKeyPath: "remark" , options: [NSBindingOption.continuouslyUpdatesValue: true]) diff --git a/ShadowsocksX-NG/ServerProfile.swift b/ShadowsocksX-NG/ServerProfile.swift index 6770954..c8adf24 100644 --- a/ShadowsocksX-NG/ServerProfile.swift +++ b/ShadowsocksX-NG/ServerProfile.swift @@ -23,6 +23,10 @@ class ServerProfile: NSObject, NSCopying { @objc var enabledKcptun: Bool = false @objc var kcptunProfile = KcptunProfile() + // SIP003 Plugin + @objc var plugin: String = "" // empty string disables plugin + @objc var pluginOptions: String = "" + override init() { uuid = UUID().uuidString } @@ -113,6 +117,15 @@ class ServerProfile: NSObject, NSCopying { self.kcptunProfile.loadUrlQueryItems(items: items) } } + + if let pluginStr = parsedUrl.queryItems? + .filter({ $0.name == "plugin" }).first?.value { + let parts = pluginStr.split(separator: ";", maxSplits: 1) + if parts.count == 2 { + plugin = String(parts[0]) + pluginOptions = String(parts[1]) + } + } } public func copy(with zone: NSZone? = nil) -> Any { @@ -126,6 +139,8 @@ class ServerProfile: NSObject, NSCopying { copy.enabledKcptun = self.enabledKcptun copy.kcptunProfile = self.kcptunProfile.copy() as! KcptunProfile + copy.plugin = self.plugin + copy.pluginOptions = self.pluginOptions return copy; } @@ -148,6 +163,12 @@ class ServerProfile: NSObject, NSCopying { if let kcptunData = data["KcptunProfile"] { profile.kcptunProfile = KcptunProfile.fromDictionary(kcptunData as! [String:Any?]) } + if let plugin = data["Plugin"] as? String { + profile.plugin = plugin + } + if let pluginOptions = data["PluginOptions"] as? String { + profile.pluginOptions = pluginOptions + } } if let id = data["Id"] as? String { @@ -172,6 +193,8 @@ class ServerProfile: NSObject, NSCopying { d["OTA"] = ota as AnyObject? d["EnabledKcptun"] = NSNumber(value: enabledKcptun) d["KcptunProfile"] = kcptunProfile.toDictionary() as AnyObject + d["Plugin"] = plugin as AnyObject + d["PluginOptions"] = pluginOptions as AnyObject return d } @@ -198,6 +221,13 @@ class ServerProfile: NSObject, NSCopying { conf["server_port"] = NSNumber(value: serverPort as UInt16) } + if !plugin.isEmpty { + // all plugin binaries should be located in the plugins dir + // so that we don't have to mess up with PATH envvars + conf["plugin"] = "plugins/\(plugin)" as AnyObject + conf["plugin_opts"] = pluginOptions as AnyObject + } + return conf } @@ -298,6 +328,10 @@ class ServerProfile: NSObject, NSCopying { items.append(URLQueryItem(name: "Kcptun", value: enabledKcptun.description)) items.append(contentsOf: kcptunProfile.urlQueryItems()) } + if !plugin.isEmpty { + let value = "\(plugin);\(pluginOptions)" + items.append(URLQueryItem(name: "plugin", value: value)) + } var comps = URLComponents() diff --git a/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWindowController.strings b/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWindowController.strings index a18ea8f..c3ee3a4 100644 --- a/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWindowController.strings +++ b/ShadowsocksX-NG/zh-Hans.lproj/PreferencesWindowController.strings @@ -37,3 +37,9 @@ /* Class = "NSMenuItem"; title = "Clone"; ObjectID = "bl9-lq-u9V"; */ "bl9-lq-u9V.title" = "克隆"; + +/* Class = "NSTextFieldCell"; title = "Plugin:"; ObjectID = "gDt-yZ-Mqs"; */ +"gDt-yZ-Mqs.title" = "插件:"; + +/* Class = "NSTextFieldCell"; title = "Plugin Opts:"; ObjectID = "orT-7j-dxE"; */ +"orT-7j-dxE.title" = "插件选项:"; From 234a83f2fa9eb3692002a87d26ccdf330bca41ba Mon Sep 17 00:00:00 2001 From: Timothy Qiu Date: Wed, 1 Nov 2017 11:23:34 +0800 Subject: [PATCH 2/2] Extracts obfs-local 0.0.2 --- ShadowsocksX-NG.xcodeproj/project.pbxproj | 18 ++++++++++++++ ShadowsocksX-NG/AppDelegate.swift | 1 + ShadowsocksX-NG/LaunchAgentUtils.swift | 22 ++++++++++++++++++ .../simple-obfs/install_simple_obfs.sh | 19 +++++++++++++++ ShadowsocksX-NG/simple-obfs/obfs-local | Bin 0 -> 109564 bytes 5 files changed, 60 insertions(+) create mode 100644 ShadowsocksX-NG/simple-obfs/install_simple_obfs.sh create mode 100755 ShadowsocksX-NG/simple-obfs/obfs-local diff --git a/ShadowsocksX-NG.xcodeproj/project.pbxproj b/ShadowsocksX-NG.xcodeproj/project.pbxproj index 4412f0d..71b4cdd 100755 --- a/ShadowsocksX-NG.xcodeproj/project.pbxproj +++ b/ShadowsocksX-NG.xcodeproj/project.pbxproj @@ -8,6 +8,8 @@ /* Begin PBXBuildFile section */ 08FCA0FF1E24BE1A0070984F /* example-gui-config.json in Resources */ = {isa = PBXBuildFile; fileRef = 08FCA0FE1E24BE1A0070984F /* example-gui-config.json */; }; + 1C82DBA81FA96C7500B32551 /* obfs-local in Resources */ = {isa = PBXBuildFile; fileRef = 1C82DBA51FA96C7400B32551 /* obfs-local */; }; + 1C82DBAA1FA96FB600B32551 /* install_simple_obfs.sh in Resources */ = {isa = PBXBuildFile; fileRef = 1C82DBA91FA96F0300B32551 /* install_simple_obfs.sh */; }; 258E511BA910B0521B24DAB8 /* Pods_ShadowsocksX_NG.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 283ED1A8E9B711AC65670031 /* Pods_ShadowsocksX_NG.framework */; }; 9B07EFA71D048BBB0052D9DF /* ss-local in Resources */ = {isa = PBXBuildFile; fileRef = 9B07EFA61D048BBB0052D9DF /* ss-local */; }; 9B07EFAC1D048E880052D9DF /* menu_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9B07EFA81D048E880052D9DF /* menu_icon@2x.png */; }; @@ -136,6 +138,8 @@ /* Begin PBXFileReference section */ 08FCA0FE1E24BE1A0070984F /* example-gui-config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "example-gui-config.json"; sourceTree = ""; }; 19083CFCED87354F006967FF /* Pods_ShadowsocksX_NGUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1C82DBA51FA96C7400B32551 /* obfs-local */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = "obfs-local"; sourceTree = ""; }; + 1C82DBA91FA96F0300B32551 /* install_simple_obfs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = install_simple_obfs.sh; sourceTree = ""; }; 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 = ""; }; @@ -274,6 +278,15 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 1C82DBA31FA96C7400B32551 /* simple-obfs */ = { + isa = PBXGroup; + children = ( + 1C82DBA51FA96C7400B32551 /* obfs-local */, + 1C82DBA91FA96F0300B32551 /* install_simple_obfs.sh */, + ); + path = "simple-obfs"; + sourceTree = ""; + }; 33F4F299F89330966F4526E4 /* Pods */ = { isa = PBXGroup; children = ( @@ -292,6 +305,7 @@ 9B07EFB01D048E900052D9DF /* Support Files */ = { isa = PBXGroup; children = ( + 1C82DBA31FA96C7400B32551 /* simple-obfs */, 9B16E5991F99FD0700E54DC5 /* icons8-Blind Filled-50.png */, 9B16E5971F99FD0700E54DC5 /* icons8-Eye Filled-50.png */, 9B938D931E864B38005F5636 /* menu_g_icon.png */, @@ -588,6 +602,7 @@ files = ( 9BBE7B751F508A0E00E8FFE5 /* fix_dir_owner.sh in Resources */, 9B3F7BFF1E82BF5B00C68B75 /* libev.4.dylib in Resources */, + 1C82DBAA1FA96FB600B32551 /* install_simple_obfs.sh in Resources */, 9B3F7C001E82BF5B00C68B75 /* libmbedcrypto.2.4.2.dylib in Resources */, 9B3F7C011E82BF5B00C68B75 /* libsodium.18.dylib in Resources */, 9B3F7C021E82BF5B00C68B75 /* libudns.0.dylib in Resources */, @@ -620,6 +635,7 @@ 9BAFE2E21E83ED7F00F71CCE /* PreferencesWinController.xib in Resources */, 9B0BFFEB1D0460A70040E62B /* Assets.xcassets in Resources */, 08FCA0FF1E24BE1A0070984F /* example-gui-config.json in Resources */, + 1C82DBA81FA96C7500B32551 /* obfs-local in Resources */, 9B938D9D1E864B38005F5636 /* menu_p_icon.png in Resources */, 9B938D9B1E864B38005F5636 /* menu_m_icon.png in Resources */, 9B3FFF271D0898EB0019A709 /* gfwlist.txt in Resources */, @@ -1018,6 +1034,7 @@ "$(inherited)", "$(SDKROOT)/usr/lib/system", "$(PROJECT_DIR)/ShadowsocksX-NG", + "$(PROJECT_DIR)/ShadowsocksX-NG/simple-obfs", ); MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NG"; @@ -1047,6 +1064,7 @@ "$(inherited)", "$(SDKROOT)/usr/lib/system", "$(PROJECT_DIR)/ShadowsocksX-NG", + "$(PROJECT_DIR)/ShadowsocksX-NG/simple-obfs", ); MACOSX_DEPLOYMENT_TARGET = 10.11; PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NG"; diff --git a/ShadowsocksX-NG/AppDelegate.swift b/ShadowsocksX-NG/AppDelegate.swift index dec3818..00e5665 100755 --- a/ShadowsocksX-NG/AppDelegate.swift +++ b/ShadowsocksX-NG/AppDelegate.swift @@ -82,6 +82,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele InstallSSLocal() InstallKcptunClient() InstallPrivoxy() + InstallSimpleObfs() // Prepare defaults let defaults = UserDefaults.standard defaults.register(defaults: [ diff --git a/ShadowsocksX-NG/LaunchAgentUtils.swift b/ShadowsocksX-NG/LaunchAgentUtils.swift index f2054f6..04124aa 100644 --- a/ShadowsocksX-NG/LaunchAgentUtils.swift +++ b/ShadowsocksX-NG/LaunchAgentUtils.swift @@ -11,6 +11,7 @@ import Foundation let SS_LOCAL_VERSION = "3.0.5" let KCPTUN_CLIENT_VERSION = "20170322" let PRIVOXY_VERSION = "3.0.26.static" +let SIMPLE_OBFS_VERSION = "0.0.2" let APP_SUPPORT_DIR = "/Library/Application Support/ShadowsocksX-NG/" let LAUNCH_AGENT_DIR = "/Library/LaunchAgents/" let LAUNCH_AGENT_CONF_SSLOCAL_NAME = "com.qiuyuzhou.shadowsocksX-NG.local.plist" @@ -180,6 +181,27 @@ func SyncSSLocal() { SyncKcptun() } +// -------------------------------------------------------------------------------- +// MARK: simple-obfs + +func InstallSimpleObfs() { + let fileMgr = FileManager.default + let homeDir = NSHomeDirectory() + let appSupportDir = homeDir + APP_SUPPORT_DIR + if !fileMgr.fileExists(atPath: appSupportDir + "simple-obfs-\(SIMPLE_OBFS_VERSION)/obfs-local") + || !fileMgr.fileExists(atPath: appSupportDir + "plugins/obfs-local") { + let bundle = Bundle.main + let installerPath = bundle.path(forResource: "install_simple_obfs.sh", ofType: nil) + let task = Process.launchedProcess(launchPath: "/bin/sh", arguments: [installerPath!]) + task.waitUntilExit() + if task.terminationStatus == 0 { + NSLog("Install simple-obfs succeeded.") + } else { + NSLog("Install simple-obfs failed.") + } + } +} + // -------------------------------------------------------------------------------- // MARK: privoxy diff --git a/ShadowsocksX-NG/simple-obfs/install_simple_obfs.sh b/ShadowsocksX-NG/simple-obfs/install_simple_obfs.sh new file mode 100644 index 0000000..3c13629 --- /dev/null +++ b/ShadowsocksX-NG/simple-obfs/install_simple_obfs.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +FILE_DIR=`dirname "${BASH_SOURCE[0]}"` +cd "$FILE_DIR" + +NGDir="$HOME/Library/Application Support/ShadowsocksX-NG" +TargetDir="$NGDir/simple-obfs-0.0.2" +PluginDir="$NGDir/plugins" + +echo ngdir: ${NGDir} + +mkdir -p "$TargetDir" +mkdir -p "$PluginDir" + +cp -f obfs-local "$TargetDir" + +ln -sfh "$TargetDir/obfs-local" "$PluginDir" + +echo done diff --git a/ShadowsocksX-NG/simple-obfs/obfs-local b/ShadowsocksX-NG/simple-obfs/obfs-local new file mode 100755 index 0000000000000000000000000000000000000000..cce1a72a27a85db52ccbdc836a36bf5dee306ea4 GIT binary patch literal 109564 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

hnyjl@FPolrU;J=6{4 z3i7H&Lc^<0zdMn^ae6T|*Q#X77e0EKBHe0n8B29by=9I(ZMk+&M)ruORlClt2QMbW zxk-i$rzOFe_AKFuE6 z1-pjV3m%jqIfnCn^M+(9h%p(;Voavua8R*>w4@Be8wD%$L=GQaQmol0T{=BdKc2zG z{rh2}qkkk{Y!`ubqG?Ybt)cW%h8CJvIOvz?IEDLDMl+7(q*$Vc;LVlF8XUg8^w2D8 zk#)h*;td>(3z5#$(kr%Q;1}CcUWl2BMb@&4#Y2LXOmx@buEMaE>0^%X+~0K>J1%Rt z82(}ft7wr7(a9&R3#VL$##A{0|ck~u#+JP9x=7^_@ zSiuLCw;k=wW6RpeS5N z%tyuJQRC6b=v$MO;HQ9pw$m3;`lbqxI}(+fuTOjA>1K!yHnhSRFetAmYylV)xfkPA zB7GYkUFir^f%KoXY%f-)J~KsdJ}y&Kw6?wCG%6U-7b8`7-*_nor{q4!4WjQ=FA0t| z@AN4!)C!E#c1Z6e`vY@AxRC{0(oD#CP(ik?)dxKgJrRVW@) zFjp*-96F`wx(zN)dO^}7;xWd8#phIDE0BfV9`_Lh6M)+Lmzic;MO1x61nQ;`VQ7so z0Ki;um{aG}?OC#^;&6>Ru5Tto7&Jt&CC@Oz!8arsCCP{>{4gPql0l4HHB3kJx^iqh z6bFE7Am6z3esW(iFacI*dka5LU+OtxS25c%a>M3E~hPtW*-uCJwy49 zAYT;}&^HlJA(0UM=A*+rcz{AU)>*~)j@tvVovtI4Q7rQic<*40D|w`5<=3WM+~R`{ zZQ6oyw$88?hdvLwbC`t64fPNH`_6(15no1p2$sD_#K4us>Ws6r(!9$o7D99d= zFMSJCqufC<0VGqeLB3Sfe~}oo%>P|lP9Vn<>$rox6q{_6iINgLi-ezTG<0K|OCfnEJ=Gkzy%HCssR(79!_ZdP41YmCil@OY!0Pi$`!GCDShL<_vQ3@YJO+ zIov15%ZoEgJtPbE2J)~KJ&=VDp6Sx@zP;L;^0DDz<~ruZ!s>fE0oWWHcn6_5k}o`1 zBNgtc!p}G9IhAnUMe0bPeb?@{1nus)`Q{GY1FR9>rESL!H<1|`4-9&AZ`-X~hnq4- zw(r`lQ(1ArZJj%{@8Dh&k#~V>mEG&YUIW&cNz0B)oXV3k(_0r4E^&WII1N0Q1)DLL!DSYT1Bjk8c_&M;TwKKF3)TzwhFW~p@I zs(FEY@N=L4;?r16Am9HoC$QP4(-q-TWGF+f8K<8i&zRYbXZSj~c&b%XQqxC&uGqqB>yzBa4 mBG}Dl>MIl1uo&yQS}al(qI>N|I_PUl7o3;*Dpfa1B>n^L(;!Iz literal 0 HcmV?d00001