Show qrcode for current server.

This commit is contained in:
Charlie Qiu
2016-06-09 06:59:42 +08:00
parent 33a093950e
commit 250dfc7b38
18 changed files with 249 additions and 59 deletions

View File

@ -27,7 +27,13 @@
9B3FFF231D088E8D0019A709 /* abp.js in Resources */ = {isa = PBXBuildFile; fileRef = 9B3FFF221D088E8D0019A709 /* abp.js */; };
9B3FFF271D0898EB0019A709 /* gfwlist.txt in Resources */ = {isa = PBXBuildFile; fileRef = 9B3FFF261D0898EB0019A709 /* gfwlist.txt */; };
9B3FFF291D08A1DF0019A709 /* user-rule.txt in Resources */ = {isa = PBXBuildFile; fileRef = 9B3FFF281D08A1DF0019A709 /* user-rule.txt */; };
9BEEF0641D04C3E400FC52B3 /* com.qiuyuzhou.shadowsocksX-NE.local.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9BEEF0631D04C3E400FC52B3 /* com.qiuyuzhou.shadowsocksX-NE.local.plist */; };
9B3FFF2D1D08A71E0019A709 /* Sysconf.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B3FFF2C1D08A71E0019A709 /* Sysconf.m */; };
9B3FFF321D08CEE40019A709 /* SWBQRCodeWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B3FFF311D08CEE40019A709 /* SWBQRCodeWindowController.m */; };
9B3FFF341D08CEF70019A709 /* SWBQRCodeWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9B3FFF331D08CEF70019A709 /* SWBQRCodeWindowController.xib */; };
9B3FFF381D08CF110019A709 /* jquery.min.js in Resources */ = {isa = PBXBuildFile; fileRef = 9B3FFF351D08CF110019A709 /* jquery.min.js */; };
9B3FFF391D08CF110019A709 /* qrcode.min.js in Resources */ = {isa = PBXBuildFile; fileRef = 9B3FFF361D08CF110019A709 /* qrcode.min.js */; };
9B3FFF3A1D08CF110019A709 /* qrcode.htm in Resources */ = {isa = PBXBuildFile; fileRef = 9B3FFF371D08CF110019A709 /* qrcode.htm */; };
9B3FFF3E1D08D9910019A709 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B3FFF3D1D08D9910019A709 /* SystemConfiguration.framework */; };
9BEEF0691D04D4D500FC52B3 /* install_ss_local.sh in Resources */ = {isa = PBXBuildFile; fileRef = 9BEEF0651D04CB8500FC52B3 /* install_ss_local.sh */; };
9BEEF06A1D04D4D500FC52B3 /* start_ss_local.sh in Resources */ = {isa = PBXBuildFile; fileRef = 9BEEF0661D04CE8D00FC52B3 /* start_ss_local.sh */; };
9BEEF06B1D04D4D500FC52B3 /* stop_ss_local.sh in Resources */ = {isa = PBXBuildFile; fileRef = 9BEEF0671D04CE9A00FC52B3 /* stop_ss_local.sh */; };
@ -94,7 +100,15 @@
9B3FFF221D088E8D0019A709 /* abp.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = abp.js; sourceTree = "<group>"; };
9B3FFF261D0898EB0019A709 /* gfwlist.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gfwlist.txt; sourceTree = "<group>"; };
9B3FFF281D08A1DF0019A709 /* user-rule.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "user-rule.txt"; sourceTree = "<group>"; };
9BEEF0631D04C3E400FC52B3 /* com.qiuyuzhou.shadowsocksX-NE.local.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "com.qiuyuzhou.shadowsocksX-NE.local.plist"; sourceTree = "<group>"; };
9B3FFF2C1D08A71E0019A709 /* Sysconf.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Sysconf.m; sourceTree = "<group>"; };
9B3FFF301D08CEE40019A709 /* SWBQRCodeWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SWBQRCodeWindowController.h; sourceTree = "<group>"; };
9B3FFF311D08CEE40019A709 /* SWBQRCodeWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWBQRCodeWindowController.m; sourceTree = "<group>"; };
9B3FFF331D08CEF70019A709 /* SWBQRCodeWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SWBQRCodeWindowController.xib; sourceTree = "<group>"; };
9B3FFF351D08CF110019A709 /* jquery.min.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jquery.min.js; sourceTree = "<group>"; };
9B3FFF361D08CF110019A709 /* qrcode.min.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = qrcode.min.js; sourceTree = "<group>"; };
9B3FFF371D08CF110019A709 /* qrcode.htm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = qrcode.htm; sourceTree = "<group>"; };
9B3FFF3B1D08D93B0019A709 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
9B3FFF3D1D08D9910019A709 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
9BEEF0651D04CB8500FC52B3 /* install_ss_local.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = install_ss_local.sh; sourceTree = "<group>"; };
9BEEF0661D04CE8D00FC52B3 /* start_ss_local.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = start_ss_local.sh; sourceTree = "<group>"; };
9BEEF0671D04CE9A00FC52B3 /* stop_ss_local.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = stop_ss_local.sh; sourceTree = "<group>"; };
@ -115,6 +129,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9B3FFF3E1D08D9910019A709 /* SystemConfiguration.framework in Frameworks */,
258E511BA910B0521B24DAB8 /* Pods_ShadowsocksX_NG.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -154,6 +169,9 @@
9B07EFB01D048E900052D9DF /* Support Files */ = {
isa = PBXGroup;
children = (
9B3FFF351D08CF110019A709 /* jquery.min.js */,
9B3FFF361D08CF110019A709 /* qrcode.min.js */,
9B3FFF371D08CF110019A709 /* qrcode.htm */,
9B3FFF281D08A1DF0019A709 /* user-rule.txt */,
9B3FFF261D0898EB0019A709 /* gfwlist.txt */,
9B3FFF221D088E8D0019A709 /* abp.js */,
@ -162,7 +180,6 @@
9B07EFA91D048E880052D9DF /* menu_icon.png */,
9B07EFAA1D048E880052D9DF /* menu_icon_disabled.png */,
9B07EFAB1D048E880052D9DF /* menu_icon_disabled@2x.png */,
9BEEF0631D04C3E400FC52B3 /* com.qiuyuzhou.shadowsocksX-NE.local.plist */,
9BEEF0651D04CB8500FC52B3 /* install_ss_local.sh */,
9BEEF0661D04CE8D00FC52B3 /* start_ss_local.sh */,
9BEEF0671D04CE9A00FC52B3 /* stop_ss_local.sh */,
@ -218,10 +235,11 @@
9BEEF06F1D04DDB100FC52B3 /* ServerProfileManager.swift */,
9BEEF0771D04FE8A00FC52B3 /* LaunchAgentUtils.swift */,
9B3FFF0C1D05FEB30019A709 /* Utils.swift */,
9B3FFF201D08826E0019A709 /* PACUtils.swift */,
9B3FFF131D0705810019A709 /* Notifications.swift */,
9B3FFF1D1D0732660019A709 /* Utils.m */,
9B3FFF1F1D0734060019A709 /* Utils.h */,
9B3FFF201D08826E0019A709 /* PACUtils.swift */,
9B3FFF2C1D08A71E0019A709 /* Sysconf.m */,
);
path = "ShadowsocksX-NG";
sourceTree = "<group>";
@ -238,6 +256,9 @@
9B3FFF0B1D05D8B80019A709 /* UI */ = {
isa = PBXGroup;
children = (
9B3FFF331D08CEF70019A709 /* SWBQRCodeWindowController.xib */,
9B3FFF301D08CEE40019A709 /* SWBQRCodeWindowController.h */,
9B3FFF311D08CEE40019A709 /* SWBQRCodeWindowController.m */,
9BEEF0731D04EF3E00FC52B3 /* PreferencesWindowController.swift */,
9BEEF0741D04EF3E00FC52B3 /* PreferencesWindowController.xib */,
9BEEF0791D05631500FC52B3 /* AdvPreferencesWindowController.swift */,
@ -249,6 +270,8 @@
D3CE66CC039F651F28057DDB /* Frameworks */ = {
isa = PBXGroup;
children = (
9B3FFF3D1D08D9910019A709 /* SystemConfiguration.framework */,
9B3FFF3B1D08D93B0019A709 /* WebKit.framework */,
283ED1A8E9B711AC65670031 /* Pods_ShadowsocksX_NG.framework */,
388120F062D7EB7DD0D8DDCA /* Pods_ShadowsocksX_NGTests.framework */,
19083CFCED87354F006967FF /* Pods_ShadowsocksX_NGUITests.framework */,
@ -263,12 +286,12 @@
isa = PBXNativeTarget;
buildConfigurationList = 9B0B00081D0460A70040E62B /* Build configuration list for PBXNativeTarget "ShadowsocksX-NG" */;
buildPhases = (
A3C8167BB5EB01FBDE2A08BC /* 📦 Check Pods Manifest.lock */,
A3C8167BB5EB01FBDE2A08BC /* [CP] Check Pods Manifest.lock */,
9B0BFFE11D0460A70040E62B /* Sources */,
9B0BFFE21D0460A70040E62B /* Frameworks */,
9B0BFFE31D0460A70040E62B /* Resources */,
5E160625E3EC80E27DA7EF05 /* 📦 Embed Pods Frameworks */,
3E819BD46B855EDB116A3C70 /* 📦 Copy Pods Resources */,
5E160625E3EC80E27DA7EF05 /* [CP] Embed Pods Frameworks */,
3E819BD46B855EDB116A3C70 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@ -283,12 +306,12 @@
isa = PBXNativeTarget;
buildConfigurationList = 9B0B000B1D0460A70040E62B /* Build configuration list for PBXNativeTarget "ShadowsocksX-NGTests" */;
buildPhases = (
22E2FC257F00091B923B1A15 /* 📦 Check Pods Manifest.lock */,
22E2FC257F00091B923B1A15 /* [CP] Check Pods Manifest.lock */,
9B0BFFF01D0460A70040E62B /* Sources */,
9B0BFFF11D0460A70040E62B /* Frameworks */,
9B0BFFF21D0460A70040E62B /* Resources */,
8A094D4241AB0C72A177FDC3 /* 📦 Embed Pods Frameworks */,
D8C2D6AF002916F4095E15E3 /* 📦 Copy Pods Resources */,
8A094D4241AB0C72A177FDC3 /* [CP] Embed Pods Frameworks */,
D8C2D6AF002916F4095E15E3 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@ -304,11 +327,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 9B0B000E1D0460A70040E62B /* Build configuration list for PBXNativeTarget "ShadowsocksX-NGUITests" */;
buildPhases = (
F38183C494F971E2DA36B012 /* 📦 Check Pods Manifest.lock */,
F38183C494F971E2DA36B012 /* [CP] Check Pods Manifest.lock */,
9B0BFFFB1D0460A70040E62B /* Sources */,
9B0BFFFC1D0460A70040E62B /* Frameworks */,
9B0BFFFD1D0460A70040E62B /* Resources */,
3C502B10B4D52DA1C63A2BE5 /* 📦 Copy Pods Resources */,
3C502B10B4D52DA1C63A2BE5 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@ -372,15 +395,18 @@
9BEEF0761D04EF3E00FC52B3 /* PreferencesWindowController.xib in Resources */,
9B3FFF291D08A1DF0019A709 /* user-rule.txt in Resources */,
9BEEF06A1D04D4D500FC52B3 /* start_ss_local.sh in Resources */,
9B3FFF391D08CF110019A709 /* qrcode.min.js in Resources */,
9B3FFF3A1D08CF110019A709 /* qrcode.htm in Resources */,
9BEEF06B1D04D4D500FC52B3 /* stop_ss_local.sh in Resources */,
9B3FFF341D08CEF70019A709 /* SWBQRCodeWindowController.xib in Resources */,
9BEEF06C1D04D4D500FC52B3 /* reload_conf_ss_local.sh in Resources */,
9B3FFF231D088E8D0019A709 /* abp.js in Resources */,
9B07EFAD1D048E880052D9DF /* menu_icon.png in Resources */,
9B0BFFEB1D0460A70040E62B /* Assets.xcassets in Resources */,
9BEEF07C1D05631500FC52B3 /* AdvPreferencesWindowController.xib in Resources */,
9B3FFF381D08CF110019A709 /* jquery.min.js in Resources */,
9B3FFF271D0898EB0019A709 /* gfwlist.txt in Resources */,
9B0BFFEE1D0460A70040E62B /* MainMenu.xib in Resources */,
9BEEF0641D04C3E400FC52B3 /* com.qiuyuzhou.shadowsocksX-NE.local.plist in Resources */,
9B07EFAC1D048E880052D9DF /* menu_icon@2x.png in Resources */,
9B07EFA71D048BBB0052D9DF /* ss-local in Resources */,
9B07EFAF1D048E880052D9DF /* menu_icon_disabled@2x.png in Resources */,
@ -405,14 +431,14 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
22E2FC257F00091B923B1A15 /* 📦 Check Pods Manifest.lock */ = {
22E2FC257F00091B923B1A15 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Check Pods Manifest.lock";
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -420,14 +446,14 @@
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
3C502B10B4D52DA1C63A2BE5 /* 📦 Copy Pods Resources */ = {
3C502B10B4D52DA1C63A2BE5 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Copy Pods Resources";
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -435,14 +461,14 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NGUITests/Pods-ShadowsocksX-NGUITests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
3E819BD46B855EDB116A3C70 /* 📦 Copy Pods Resources */ = {
3E819BD46B855EDB116A3C70 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Copy Pods Resources";
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -450,14 +476,14 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-resources.sh\"\n";
showEnvVarsInLog = 0;
};
5E160625E3EC80E27DA7EF05 /* 📦 Embed Pods Frameworks */ = {
5E160625E3EC80E27DA7EF05 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Embed Pods Frameworks";
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -465,14 +491,14 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NG/Pods-ShadowsocksX-NG-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
8A094D4241AB0C72A177FDC3 /* 📦 Embed Pods Frameworks */ = {
8A094D4241AB0C72A177FDC3 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Embed Pods Frameworks";
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -480,14 +506,14 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
A3C8167BB5EB01FBDE2A08BC /* 📦 Check Pods Manifest.lock */ = {
A3C8167BB5EB01FBDE2A08BC /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Check Pods Manifest.lock";
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -495,14 +521,14 @@
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
D8C2D6AF002916F4095E15E3 /* 📦 Copy Pods Resources */ = {
D8C2D6AF002916F4095E15E3 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Copy Pods Resources";
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -510,14 +536,14 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
F38183C494F971E2DA36B012 /* 📦 Check Pods Manifest.lock */ = {
F38183C494F971E2DA36B012 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "📦 Check Pods Manifest.lock";
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
@ -534,9 +560,11 @@
files = (
9B3FFF171D072FDE0019A709 /* LaunchAtLoginController.m in Sources */,
9B3FFF1E1D0732660019A709 /* Utils.m in Sources */,
9B3FFF321D08CEE40019A709 /* SWBQRCodeWindowController.m in Sources */,
9B3FFF211D08826E0019A709 /* PACUtils.swift in Sources */,
9B3FFF141D0705810019A709 /* Notifications.swift in Sources */,
9BEEF0701D04DDB100FC52B3 /* ServerProfileManager.swift in Sources */,
9B3FFF2D1D08A71E0019A709 /* Sysconf.m in Sources */,
9BEEF07B1D05631500FC52B3 /* AdvPreferencesWindowController.swift in Sources */,
9BEEF06E1D04DCE400FC52B3 /* ServerProfile.swift in Sources */,
9B3FFF0D1D05FEB30019A709 /* Utils.swift in Sources */,