mirror of
https://github.com/qinyuhang/ShadowsocksX-NG-R.git
synced 2026-10-21 23:34:14 +00:00
Merge branch 'release/1.0'
This commit is contained in:
+70
@@ -0,0 +1,70 @@
|
||||
#####
|
||||
# OS X temporary files that should never be committed
|
||||
.DS_Store
|
||||
*.swp
|
||||
*.lock
|
||||
profile
|
||||
|
||||
####
|
||||
# Xcode temporary files that should never be committed
|
||||
*~.nib
|
||||
|
||||
####
|
||||
# Objective-C/Swift specific
|
||||
*.hmap
|
||||
*.ipa
|
||||
|
||||
####
|
||||
# Xcode build files
|
||||
DerivedData/
|
||||
build/
|
||||
Builds/
|
||||
|
||||
#####
|
||||
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups)
|
||||
*.pbxuser
|
||||
*.mode1v3
|
||||
*.mode2v3
|
||||
*.perspectivev3
|
||||
!default.pbxuser
|
||||
!default.mode1v3
|
||||
!default.mode2v3
|
||||
!default.perspectivev3
|
||||
|
||||
####
|
||||
# Xcode 4
|
||||
xcuserdata
|
||||
!xcschemes
|
||||
# Xcode 4
|
||||
*.moved-aside
|
||||
|
||||
####
|
||||
# XCode 4 workspaces - more detailed
|
||||
!xcshareddata
|
||||
!default.xcworkspace
|
||||
*.xcworkspacedata
|
||||
|
||||
|
||||
####
|
||||
# Xcode 5
|
||||
*.xccheckout
|
||||
*.xcuserstate
|
||||
|
||||
####
|
||||
# Xcode 7
|
||||
*.xcscmblueprint
|
||||
|
||||
####
|
||||
# AppCode
|
||||
.idea/
|
||||
|
||||
####
|
||||
# Other Xcode files
|
||||
profile
|
||||
*.hmap
|
||||
*.ipa
|
||||
|
||||
####
|
||||
# Carthage
|
||||
Carthage/Build
|
||||
|
||||
+1
-1
@@ -2,4 +2,4 @@ language: objective-c
|
||||
osx_image: xcode7.3
|
||||
xcode_workspace: ShadowsocksX-NG.xcworkspace
|
||||
xcode_scheme: ShadowsocksX-NG
|
||||
|
||||
script: set -o pipefail && xcodebuild test -workspace ShadowsocksX-NG.xcworkspace -scheme ShadowsocksX-NG|xcpretty
|
||||
|
||||
@@ -13,13 +13,8 @@ target 'ShadowsocksX-NG' do
|
||||
# Pods for testing
|
||||
end
|
||||
|
||||
target 'ShadowsocksX-NGUITests' do
|
||||
inherit! :search_paths
|
||||
# Pods for testing
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
target 'proxy_conf_helper' do
|
||||
pod 'BRLOptionParser', '~> 0.3.1'
|
||||
end
|
||||
end
|
||||
|
||||
+1
-1
@@ -10,6 +10,6 @@ SPEC CHECKSUMS:
|
||||
Alamofire: c19a627cefd6a95f840401c49ab1f124e07f54ee
|
||||
BRLOptionParser: a03256a8ff003ca1f5376c55f55f210e085a3958
|
||||
|
||||
PODFILE CHECKSUM: f532fd25b5e9173775d8deaa63ba5cf93104b844
|
||||
PODFILE CHECKSUM: a76490e9ab2548c7b811762e2479c111c5c263b7
|
||||
|
||||
COCOAPODS: 1.0.1
|
||||
|
||||
Generated
+1
-1
@@ -10,6 +10,6 @@ SPEC CHECKSUMS:
|
||||
Alamofire: c19a627cefd6a95f840401c49ab1f124e07f54ee
|
||||
BRLOptionParser: a03256a8ff003ca1f5376c55f55f210e085a3958
|
||||
|
||||
PODFILE CHECKSUM: f532fd25b5e9173775d8deaa63ba5cf93104b844
|
||||
PODFILE CHECKSUM: a76490e9ab2548c7b811762e2479c111c5c263b7
|
||||
|
||||
COCOAPODS: 1.0.1
|
||||
|
||||
Generated
+150
-303
@@ -10,17 +10,15 @@
|
||||
06BA2F5A0BF79A08FA2DAB3E0FFD5498 /* BRLOptionParser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F433AD014FA270BBC782559C8360DE4 /* BRLOptionParser-dummy.m */; };
|
||||
095406039B4D371E48D08B38A2975AC8 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = D096B0E248487E0D75E1639559665F00 /* Error.swift */; };
|
||||
16102E4E35FAA0FC4161282FECE56469 /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4372CA18C7AEB3B076F0B9C4F37C22 /* Timeline.swift */; };
|
||||
16CAE063801F558D22BE927C32451303 /* Pods-ShadowsocksX-NGUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F45E0CBEB08D8EFAAF065F90F5F99DC /* Pods-ShadowsocksX-NGUITests-dummy.m */; };
|
||||
2C259BD3E40B0764C13724A75ADC1D6A /* Pods-ShadowsocksX-NG-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 53124EA95F735D4E10B6DF3C005F26AA /* Pods-ShadowsocksX-NG-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
2C259BD3E40B0764C13724A75ADC1D6A /* Pods-ShadowsocksX-NG-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 14A9EC2BB1EC6484018A5EB4B9B2C231 /* Pods-ShadowsocksX-NG-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
2D3405986FC586FA6C0A5E0B6BA7E64E /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D3B0CB3F30536204C2F49BABFEC817 /* Validation.swift */; };
|
||||
34CCDCA848A701466256BC2927DA8856 /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B17ECFC5893AE37EF56BE8F812BEC51 /* NetworkReachabilityManager.swift */; };
|
||||
3EA8F215C9C1432D74E5CCA4834AA8C0 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 214228A32010BAFC3A11964996BA6CCF /* ResponseSerialization.swift */; };
|
||||
4081EA628AF0B73AC51FFB9D7AB3B89E /* Manager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A5654106D19BBCCA98086C975C2255 /* Manager.swift */; };
|
||||
43FF20578BB22CB02CC884DB54F4383A /* Pods-ShadowsocksX-NG-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F942E6517D473F38973BA58D87DFEB15 /* Pods-ShadowsocksX-NG-dummy.m */; };
|
||||
43FF20578BB22CB02CC884DB54F4383A /* Pods-ShadowsocksX-NG-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 24B01D81E3D7058FA14A053EC19874D0 /* Pods-ShadowsocksX-NG-dummy.m */; };
|
||||
44550BF1A67A522A640A51B30DB21069 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6EBC2E57D96052268211209D6AA52 /* Cocoa.framework */; };
|
||||
466989E9288E7804B50D2D9FDCAD8F19 /* BRLOptionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 49CF30264F11A2DCE553DBC24D556739 /* BRLOptionParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
53F30F986D39FC6EBE468697B2494ED5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6EBC2E57D96052268211209D6AA52 /* Cocoa.framework */; };
|
||||
5454225AE793B7089D8B920AB4F2C900 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6EBC2E57D96052268211209D6AA52 /* Cocoa.framework */; };
|
||||
5BC19E6E0F199276003F0AF96838BCE5 /* Upload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60E286DC997C97527D4F0C604F20EB02 /* Upload.swift */; };
|
||||
5CB05FBCB32D21E194B5ECF680CB6AE0 /* Download.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E740CE10676BB2B8A83CBE55A231947 /* Download.swift */; };
|
||||
62E8346F03C03E7F4D631361F325689E /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F3923B5A348074195C1F3412F866F2D /* Response.swift */; };
|
||||
@@ -28,20 +26,19 @@
|
||||
8B2C601594F026DF642B1F06A77C4CBB /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6EBC2E57D96052268211209D6AA52 /* Cocoa.framework */; };
|
||||
8EB11202167FCDDF1257AAAB1D1FB244 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA620A99600631CDE5EB09E7B6CB477B /* Alamofire.swift */; };
|
||||
9469DF81ECB494E84675969B5E13374C /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E8066197D85005930E069DBDFE56EF1 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
9C151CF58D392C381731E7D30EFA910E /* Pods-ShadowsocksX-NGUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 428C8A4F4A67B233E9FBC8CBCB36EB61 /* Pods-ShadowsocksX-NGUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
AA314156AC500125F4078EE968DB14C6 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62B6C41B51A5C2A961EFEAA57613D32A /* Result.swift */; };
|
||||
ADF19C953CE2A7D0B72EC93A81FCCC26 /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A2B7F0E799C92BEB089D172B858F042 /* Alamofire-dummy.m */; };
|
||||
AE4CF87C02C042DF13ED5B21C4FDC1E0 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B6350BA5CA562733F4200F29DF6F392 /* Stream.swift */; };
|
||||
B57CAF5A29BF2DD10284E599252DFA05 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6EBC2E57D96052268211209D6AA52 /* Cocoa.framework */; };
|
||||
BE41196F6A3903E59C3306FE3F8B43FE /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = D372E7E55D345CF275C393B584AA40F2 /* Notifications.swift */; };
|
||||
C0DB70AB368765DC64BFB5FEA75E0696 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27FB77423BC41EF0A28FF2DC87141788 /* ParameterEncoding.swift */; };
|
||||
C434F05C1EE617DA4557EF41FBE55B3E /* Pods-proxy_conf_helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F3F6DB4863E2BF6DD9B3404A7347E97 /* Pods-proxy_conf_helper-dummy.m */; };
|
||||
C434F05C1EE617DA4557EF41FBE55B3E /* Pods-proxy_conf_helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CE50445A73ECB9A2ED31A6FF93D45808 /* Pods-proxy_conf_helper-dummy.m */; };
|
||||
C7B6DD7C0456C50289A2C381DFE9FA3F /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A9494AD31063618F619B185BCE19CC1 /* MultipartFormData.swift */; };
|
||||
CF7724A299AEAFFC9CF29DE6124520E3 /* Pods-ShadowsocksX-NGTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69623EC55B7A9ADA7457D7D7B1303EB5 /* Pods-ShadowsocksX-NGTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
CF7724A299AEAFFC9CF29DE6124520E3 /* Pods-ShadowsocksX-NGTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D7E8128F302CF60BEF206008CE11F6D3 /* Pods-ShadowsocksX-NGTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
EFE92E8D3813DD26E78E93EEAF6D7E7E /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72425CE32EE256A9B60D7E337B33A8EA /* Request.swift */; };
|
||||
F2D887DA7E26C2F5533160A074B05EF0 /* BRLOptionParser.m in Sources */ = {isa = PBXBuildFile; fileRef = A6E50432546249DB325571396BC3E3E9 /* BRLOptionParser.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; };
|
||||
F3F3FD9096F43B73CBB52EF0E1CCF73E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6EBC2E57D96052268211209D6AA52 /* Cocoa.framework */; };
|
||||
F976934F1E382AAA9975FC9E3F439B50 /* Pods-ShadowsocksX-NGTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E587120F8C00DE490D711EB8355C61 /* Pods-ShadowsocksX-NGTests-dummy.m */; };
|
||||
F976934F1E382AAA9975FC9E3F439B50 /* Pods-ShadowsocksX-NGTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 46662EB64876AD1C891F548C69A89E89 /* Pods-ShadowsocksX-NGTests-dummy.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -62,79 +59,68 @@
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
054C3E84057CD06DB85D99E7AD207F48 /* Pods-proxy_conf_helper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
07D3B0CB3F30536204C2F49BABFEC817 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = "<group>"; };
|
||||
115FC915544A7D72B3D616B0FBAB6447 /* Pods-proxy_conf_helper.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.release.xcconfig"; sourceTree = "<group>"; };
|
||||
12BCF1C09D16ED00E0A0C03AD448953B /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
15FE600C1B98B01C3497EDD5581C9F84 /* Pods-ShadowsocksX-NGTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NGTests-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
089EB7E66F64D3A19BB7681AFCE91031 /* Pods-ShadowsocksX-NG.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.release.xcconfig"; sourceTree = "<group>"; };
|
||||
0E8A27A8C9BD6FF9AE3DCBC4050CCD76 /* Pods-ShadowsocksX-NGTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGTests-frameworks.sh"; sourceTree = "<group>"; };
|
||||
13333F29A08390FCEFECA0FDCDDC919F /* Pods-ShadowsocksX-NG-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NG-frameworks.sh"; sourceTree = "<group>"; };
|
||||
14A9EC2BB1EC6484018A5EB4B9B2C231 /* Pods-ShadowsocksX-NG-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NG-umbrella.h"; sourceTree = "<group>"; };
|
||||
1A0B246E1562362768549E6D4EC4581B /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = "<group>"; };
|
||||
1A8CE48109F7ED7873F4FF9D2D3603AD /* Pods-proxy_conf_helper-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-proxy_conf_helper-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
1A9494AD31063618F619B185BCE19CC1 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = "<group>"; };
|
||||
1CA6EBC2E57D96052268211209D6AA52 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
|
||||
1E8066197D85005930E069DBDFE56EF1 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = "<group>"; };
|
||||
1F0C65FEB29E96761774D63877EFB727 /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = "<group>"; };
|
||||
1F162D37B7B6534A6D80FEE301F586EE /* Pods-ShadowsocksX-NGTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NGTests-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
214228A32010BAFC3A11964996BA6CCF /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = "<group>"; };
|
||||
2577A840C945439C44898B5965CF9F72 /* Pods-ShadowsocksX-NGTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGTests-resources.sh"; sourceTree = "<group>"; };
|
||||
26E02FA4AB890BE221D861934BAAD565 /* Pods-proxy_conf_helper-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-proxy_conf_helper-resources.sh"; sourceTree = "<group>"; };
|
||||
24B01D81E3D7058FA14A053EC19874D0 /* Pods-ShadowsocksX-NG-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NG-dummy.m"; sourceTree = "<group>"; };
|
||||
27FB77423BC41EF0A28FF2DC87141788 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = "<group>"; };
|
||||
2BA204827CA968C6E89479E30AED3795 /* Pods_ShadowsocksX_NG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NG.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
28D7F65F9E64735E3320A028DCDDDD90 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
2F3923B5A348074195C1F3412F866F2D /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = "<group>"; };
|
||||
3447501773497F7E2C49014760C1D897 /* Pods-ShadowsocksX-NGTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGTests-frameworks.sh"; sourceTree = "<group>"; };
|
||||
344D22D7630792C24D198B23D60761E0 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3B3216EE8FD7FF8BF90032B59EAA3BA4 /* Pods-ShadowsocksX-NG-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NG-frameworks.sh"; sourceTree = "<group>"; };
|
||||
3BA938587D601431268DFECBFF530945 /* Pods-ShadowsocksX-NG-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NG-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
3358F45A5BEC1A7F725167CD1969EDC8 /* Pods-ShadowsocksX-NG-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NG-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
398459D9B92332A54D2A0B55844EC718 /* libPods-proxy_conf_helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-proxy_conf_helper.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3F433AD014FA270BBC782559C8360DE4 /* BRLOptionParser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BRLOptionParser-dummy.m"; sourceTree = "<group>"; };
|
||||
40EC632D84D677A232275F3C9137FAB5 /* Pods_ShadowsocksX_NGTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
428C8A4F4A67B233E9FBC8CBCB36EB61 /* Pods-ShadowsocksX-NGUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NGUITests-umbrella.h"; sourceTree = "<group>"; };
|
||||
43D5AA9B51489E458EA7C4C1C0FED763 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = "<group>"; };
|
||||
46662EB64876AD1C891F548C69A89E89 /* Pods-ShadowsocksX-NGTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NGTests-dummy.m"; sourceTree = "<group>"; };
|
||||
49CF30264F11A2DCE553DBC24D556739 /* BRLOptionParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BRLOptionParser.h; path = BRLOptionParser/BRLOptionParser.h; sourceTree = "<group>"; };
|
||||
4A038CEED6D36E3CA7FB588271509D07 /* Pods-ShadowsocksX-NG-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NG-resources.sh"; sourceTree = "<group>"; };
|
||||
4F3F6DB4863E2BF6DD9B3404A7347E97 /* Pods-proxy_conf_helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-proxy_conf_helper-dummy.m"; sourceTree = "<group>"; };
|
||||
530A72A04C7861BE81E8E15846B4BF83 /* Pods_ShadowsocksX_NGUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
53124EA95F735D4E10B6DF3C005F26AA /* Pods-ShadowsocksX-NG-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NG-umbrella.h"; sourceTree = "<group>"; };
|
||||
52F51F94701ABD692BFFC9F92AE2E115 /* Pods-ShadowsocksX-NG-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NG-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
57C31EC0602E17A27DCFF3ABC12FFC16 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
5A500FADE0FEDDDE27A3FD5888D85A6B /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = Alamofire.modulemap; sourceTree = "<group>"; };
|
||||
5B17ECFC5893AE37EF56BE8F812BEC51 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = "<group>"; };
|
||||
5DAE5F863B7B5BB6108D82B0C313E755 /* Pods-ShadowsocksX-NGUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ShadowsocksX-NGUITests-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
5D84D92D27CE8A6F5C45E8A03155C1CF /* Pods-proxy_conf_helper-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-proxy_conf_helper-frameworks.sh"; sourceTree = "<group>"; };
|
||||
5F642491575D568FFDB1A78F5715E51F /* libBRLOptionParser.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBRLOptionParser.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
60E286DC997C97527D4F0C604F20EB02 /* Upload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Upload.swift; path = Source/Upload.swift; sourceTree = "<group>"; };
|
||||
62B6C41B51A5C2A961EFEAA57613D32A /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = "<group>"; };
|
||||
633A6E2E196DD954426FD41ABD9BFC02 /* Pods-proxy_conf_helper-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-proxy_conf_helper-frameworks.sh"; sourceTree = "<group>"; };
|
||||
64A5654106D19BBCCA98086C975C2255 /* Manager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Manager.swift; path = Source/Manager.swift; sourceTree = "<group>"; };
|
||||
69623EC55B7A9ADA7457D7D7B1303EB5 /* Pods-ShadowsocksX-NGTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NGTests-umbrella.h"; sourceTree = "<group>"; };
|
||||
6B6350BA5CA562733F4200F29DF6F392 /* Stream.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stream.swift; path = Source/Stream.swift; sourceTree = "<group>"; };
|
||||
6CFA39714E1A134569812A6D0F6DBDAA /* Pods-ShadowsocksX-NGTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NGTests-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
6E4F48D667C86DC7DD6F0E2899B155FB /* BRLOptionParser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BRLOptionParser-prefix.pch"; sourceTree = "<group>"; };
|
||||
72425CE32EE256A9B60D7E337B33A8EA /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = "<group>"; };
|
||||
7641DF24E577F8EC64CA861723E8F092 /* Pods-ShadowsocksX-NG.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.release.xcconfig"; sourceTree = "<group>"; };
|
||||
774723B57789DD1DBE95EC5F0BCBD551 /* BRLOptionParser.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BRLOptionParser.xcconfig; sourceTree = "<group>"; };
|
||||
7A2B7F0E799C92BEB089D172B858F042 /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = "<group>"; };
|
||||
7B4E3032697142D8483EAF95D1339BF0 /* Pods-proxy_conf_helper-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-proxy_conf_helper-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
7C0FF7E4FE2F9E938B913147AC70030F /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
7E740CE10676BB2B8A83CBE55A231947 /* Download.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Download.swift; path = Source/Download.swift; sourceTree = "<group>"; };
|
||||
7F45E0CBEB08D8EFAAF065F90F5F99DC /* Pods-ShadowsocksX-NGUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NGUITests-dummy.m"; sourceTree = "<group>"; };
|
||||
876AA27889CCD350241460E35100BDB9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
884F8C760A37C789CE94F8081748D1FC /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8E1FDF542848BDCC77947783E6FF96D5 /* Pods-proxy_conf_helper-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-proxy_conf_helper-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
8FA72CABF17A62C808E9532DC97A1E0B /* Pods-ShadowsocksX-NG.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
83323A1A2936BBA3D386DCC078E3821E /* Pods-ShadowsocksX-NGTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NGTests-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
8CDD45C6D7A038F415A78787317E931A /* Pods-proxy_conf_helper-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-proxy_conf_helper-resources.sh"; sourceTree = "<group>"; };
|
||||
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||
96531C433F90CFE333468D15C01B143C /* Pods-ShadowsocksX-NG.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-ShadowsocksX-NG.modulemap"; sourceTree = "<group>"; };
|
||||
9C0D9B9B2B2F4080487D871E0C67767B /* Pods-ShadowsocksX-NGUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGUITests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
98522BF2EB25C0255284080F9CA3E195 /* Pods-ShadowsocksX-NG.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NG.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9B5140B5D79E46F7609099C58EC23084 /* Pods_ShadowsocksX_NGTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NGTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9B8B5CBA357BDB968C73E8F58DFBC74C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
9BA2A0099476E08B6CC8026BDF0C603E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
A5055B8EFFFBEDE50909E935D4BCA446 /* Pods-proxy_conf_helper.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.release.xcconfig"; sourceTree = "<group>"; };
|
||||
A6E50432546249DB325571396BC3E3E9 /* BRLOptionParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BRLOptionParser.m; path = BRLOptionParser/BRLOptionParser.m; sourceTree = "<group>"; };
|
||||
A7A9514A6586BD41159CCE759971ABDA /* libPods-proxy_conf_helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-proxy_conf_helper.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B1A565E9D0E5E3929B6293F3517BF5C5 /* Pods-ShadowsocksX-NGTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
B1F0019C3F168BED15E16ADB4DC8EB15 /* Pods-ShadowsocksX-NGUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-ShadowsocksX-NGUITests.modulemap"; sourceTree = "<group>"; };
|
||||
B34263B730C3B89322185246664228DB /* Pods-ShadowsocksX-NGTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
B6E587120F8C00DE490D711EB8355C61 /* Pods-ShadowsocksX-NGTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NGTests-dummy.m"; sourceTree = "<group>"; };
|
||||
AE6E689502E4366B125481CD898B947E /* Pods-proxy_conf_helper-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-proxy_conf_helper-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
B30805F63C611810B322187824EBC4A5 /* Pods-ShadowsocksX-NGTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGTests-resources.sh"; sourceTree = "<group>"; };
|
||||
B4997B253B4BF8BA9CE1028B3339A1E2 /* Pods_ShadowsocksX_NG.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ShadowsocksX_NG.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
BA620A99600631CDE5EB09E7B6CB477B /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = "<group>"; };
|
||||
BB11239DC528C35FE54A370BA72E0691 /* Pods-ShadowsocksX-NGUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NGUITests-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
BE672B43951C625CA5F89E448A620AB0 /* Pods-ShadowsocksX-NGTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-ShadowsocksX-NGTests.modulemap"; sourceTree = "<group>"; };
|
||||
CE50445A73ECB9A2ED31A6FF93D45808 /* Pods-proxy_conf_helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-proxy_conf_helper-dummy.m"; sourceTree = "<group>"; };
|
||||
D096B0E248487E0D75E1639559665F00 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Source/Error.swift; sourceTree = "<group>"; };
|
||||
D372E7E55D345CF275C393B584AA40F2 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = "<group>"; };
|
||||
D9DFBFFA4EE2458A9C1814A1F94778FD /* Pods-ShadowsocksX-NGUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGUITests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
DCB80F1B54ED0E9C92682A5AFCA229A1 /* Pods-ShadowsocksX-NGUITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGUITests-resources.sh"; sourceTree = "<group>"; };
|
||||
DFD263E002936621FD6AA21700066E3C /* Pods-ShadowsocksX-NGUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NGUITests-frameworks.sh"; sourceTree = "<group>"; };
|
||||
EB3D87DD81083026AA4B2BB574BACFCD /* libBRLOptionParser.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBRLOptionParser.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
EB8FBABDB5FF6EFE1FA4DD0F67D0E416 /* Pods-proxy_conf_helper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-proxy_conf_helper.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
F21E0553DDFB388845B929FC1530342C /* Pods-ShadowsocksX-NG-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ShadowsocksX-NG-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
F942E6517D473F38973BA58D87DFEB15 /* Pods-ShadowsocksX-NG-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ShadowsocksX-NG-dummy.m"; sourceTree = "<group>"; };
|
||||
D7E8128F302CF60BEF206008CE11F6D3 /* Pods-ShadowsocksX-NGTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ShadowsocksX-NGTests-umbrella.h"; sourceTree = "<group>"; };
|
||||
DC250BF8313F337272DBC9DE1FB6DB6B /* Pods-ShadowsocksX-NG.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-ShadowsocksX-NG.modulemap"; sourceTree = "<group>"; };
|
||||
EA41BEE3B4D9F1A89F0135CA91A7F472 /* Pods-ShadowsocksX-NG-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ShadowsocksX-NG-resources.sh"; sourceTree = "<group>"; };
|
||||
F67191B1F87DA238C4D87250DFBE43DD /* Pods-ShadowsocksX-NGTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ShadowsocksX-NGTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
FF4372CA18C7AEB3B076F0B9C4F37C22 /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = "<group>"; };
|
||||
FFE8D34BD9DA37F7AC8E02DBD77276CC /* Pods-ShadowsocksX-NGTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-ShadowsocksX-NGTests.modulemap"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -146,14 +132,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
92B19C276EDE1AA1F0BC5D2CDFCF72CB /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5454225AE793B7089D8B920AB4F2C900 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
AB147E21E0AB36B5E26650D526EE24B0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -189,15 +167,22 @@
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
114265C4FCE90A19C063A2283E6E81F7 /* Targets Support Files */ = {
|
||||
07568FCBBF071BD2EE0E5EBA001A4712 /* Pods-ShadowsocksX-NGTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E17930314C9067B0D693FA67EF206AB3 /* Pods-proxy_conf_helper */,
|
||||
8D34342C9A0D24BE8794EAD32FF4B612 /* Pods-ShadowsocksX-NG */,
|
||||
C96621590DC5539C2295BDCD539E9196 /* Pods-ShadowsocksX-NGTests */,
|
||||
4EA40725C94E0A7E2ED03A5E79F70C9B /* Pods-ShadowsocksX-NGUITests */,
|
||||
9B8B5CBA357BDB968C73E8F58DFBC74C /* Info.plist */,
|
||||
BE672B43951C625CA5F89E448A620AB0 /* Pods-ShadowsocksX-NGTests.modulemap */,
|
||||
83323A1A2936BBA3D386DCC078E3821E /* Pods-ShadowsocksX-NGTests-acknowledgements.markdown */,
|
||||
1F162D37B7B6534A6D80FEE301F586EE /* Pods-ShadowsocksX-NGTests-acknowledgements.plist */,
|
||||
46662EB64876AD1C891F548C69A89E89 /* Pods-ShadowsocksX-NGTests-dummy.m */,
|
||||
0E8A27A8C9BD6FF9AE3DCBC4050CCD76 /* Pods-ShadowsocksX-NGTests-frameworks.sh */,
|
||||
B30805F63C611810B322187824EBC4A5 /* Pods-ShadowsocksX-NGTests-resources.sh */,
|
||||
D7E8128F302CF60BEF206008CE11F6D3 /* Pods-ShadowsocksX-NGTests-umbrella.h */,
|
||||
9BA2A0099476E08B6CC8026BDF0C603E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */,
|
||||
F67191B1F87DA238C4D87250DFBE43DD /* Pods-ShadowsocksX-NGTests.release.xcconfig */,
|
||||
);
|
||||
name = "Targets Support Files";
|
||||
name = "Pods-ShadowsocksX-NGTests";
|
||||
path = "Target Support Files/Pods-ShadowsocksX-NGTests";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
28C17CEF104526ACA07B6EEE217EC43E /* OS X */ = {
|
||||
@@ -216,33 +201,14 @@
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4EA40725C94E0A7E2ED03A5E79F70C9B /* Pods-ShadowsocksX-NGUITests */ = {
|
||||
418FEA60C550DCBFA6C70589E09033B3 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
876AA27889CCD350241460E35100BDB9 /* Info.plist */,
|
||||
B1F0019C3F168BED15E16ADB4DC8EB15 /* Pods-ShadowsocksX-NGUITests.modulemap */,
|
||||
BB11239DC528C35FE54A370BA72E0691 /* Pods-ShadowsocksX-NGUITests-acknowledgements.markdown */,
|
||||
5DAE5F863B7B5BB6108D82B0C313E755 /* Pods-ShadowsocksX-NGUITests-acknowledgements.plist */,
|
||||
7F45E0CBEB08D8EFAAF065F90F5F99DC /* Pods-ShadowsocksX-NGUITests-dummy.m */,
|
||||
DFD263E002936621FD6AA21700066E3C /* Pods-ShadowsocksX-NGUITests-frameworks.sh */,
|
||||
DCB80F1B54ED0E9C92682A5AFCA229A1 /* Pods-ShadowsocksX-NGUITests-resources.sh */,
|
||||
428C8A4F4A67B233E9FBC8CBCB36EB61 /* Pods-ShadowsocksX-NGUITests-umbrella.h */,
|
||||
D9DFBFFA4EE2458A9C1814A1F94778FD /* Pods-ShadowsocksX-NGUITests.debug.xcconfig */,
|
||||
9C0D9B9B2B2F4080487D871E0C67767B /* Pods-ShadowsocksX-NGUITests.release.xcconfig */,
|
||||
);
|
||||
name = "Pods-ShadowsocksX-NGUITests";
|
||||
path = "Target Support Files/Pods-ShadowsocksX-NGUITests";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
63703CB4C84C26080698DAB916EC0EF3 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
12BCF1C09D16ED00E0A0C03AD448953B /* Alamofire.framework */,
|
||||
EB3D87DD81083026AA4B2BB574BACFCD /* libBRLOptionParser.a */,
|
||||
A7A9514A6586BD41159CCE759971ABDA /* libPods-proxy_conf_helper.a */,
|
||||
2BA204827CA968C6E89479E30AED3795 /* Pods_ShadowsocksX_NG.framework */,
|
||||
40EC632D84D677A232275F3C9137FAB5 /* Pods_ShadowsocksX_NGTests.framework */,
|
||||
530A72A04C7861BE81E8E15846B4BF83 /* Pods_ShadowsocksX_NGUITests.framework */,
|
||||
7C0FF7E4FE2F9E938B913147AC70030F /* Alamofire.framework */,
|
||||
5F642491575D568FFDB1A78F5715E51F /* libBRLOptionParser.a */,
|
||||
398459D9B92332A54D2A0B55844EC718 /* libPods-proxy_conf_helper.a */,
|
||||
B4997B253B4BF8BA9CE1028B3339A1E2 /* Pods_ShadowsocksX_NG.framework */,
|
||||
9B5140B5D79E46F7609099C58EC23084 /* Pods_ShadowsocksX_NGTests.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
@@ -257,14 +223,24 @@
|
||||
path = BRLOptionParser;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
785842678515C4CDC9428DD20DCD752D /* Targets Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B5020B0A649E766997C633601AD85F17 /* Pods-proxy_conf_helper */,
|
||||
93AB896DD6AD247E69959A4B8C06F5AC /* Pods-ShadowsocksX-NG */,
|
||||
07568FCBBF071BD2EE0E5EBA001A4712 /* Pods-ShadowsocksX-NGTests */,
|
||||
);
|
||||
name = "Targets Support Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7DB346D0F39D3F0E887471402A8071AB = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
|
||||
39E9EE8210D861DFD82346C1F5EB7218 /* Frameworks */,
|
||||
B275BD1C8199926FAEBD653BA19217B0 /* Pods */,
|
||||
63703CB4C84C26080698DAB916EC0EF3 /* Products */,
|
||||
114265C4FCE90A19C063A2283E6E81F7 /* Targets Support Files */,
|
||||
418FEA60C550DCBFA6C70589E09033B3 /* Products */,
|
||||
785842678515C4CDC9428DD20DCD752D /* Targets Support Files */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@@ -293,19 +269,19 @@
|
||||
path = Alamofire;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8D34342C9A0D24BE8794EAD32FF4B612 /* Pods-ShadowsocksX-NG */ = {
|
||||
93AB896DD6AD247E69959A4B8C06F5AC /* Pods-ShadowsocksX-NG */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
344D22D7630792C24D198B23D60761E0 /* Info.plist */,
|
||||
96531C433F90CFE333468D15C01B143C /* Pods-ShadowsocksX-NG.modulemap */,
|
||||
F21E0553DDFB388845B929FC1530342C /* Pods-ShadowsocksX-NG-acknowledgements.markdown */,
|
||||
3BA938587D601431268DFECBFF530945 /* Pods-ShadowsocksX-NG-acknowledgements.plist */,
|
||||
F942E6517D473F38973BA58D87DFEB15 /* Pods-ShadowsocksX-NG-dummy.m */,
|
||||
3B3216EE8FD7FF8BF90032B59EAA3BA4 /* Pods-ShadowsocksX-NG-frameworks.sh */,
|
||||
4A038CEED6D36E3CA7FB588271509D07 /* Pods-ShadowsocksX-NG-resources.sh */,
|
||||
53124EA95F735D4E10B6DF3C005F26AA /* Pods-ShadowsocksX-NG-umbrella.h */,
|
||||
8FA72CABF17A62C808E9532DC97A1E0B /* Pods-ShadowsocksX-NG.debug.xcconfig */,
|
||||
7641DF24E577F8EC64CA861723E8F092 /* Pods-ShadowsocksX-NG.release.xcconfig */,
|
||||
28D7F65F9E64735E3320A028DCDDDD90 /* Info.plist */,
|
||||
DC250BF8313F337272DBC9DE1FB6DB6B /* Pods-ShadowsocksX-NG.modulemap */,
|
||||
3358F45A5BEC1A7F725167CD1969EDC8 /* Pods-ShadowsocksX-NG-acknowledgements.markdown */,
|
||||
52F51F94701ABD692BFFC9F92AE2E115 /* Pods-ShadowsocksX-NG-acknowledgements.plist */,
|
||||
24B01D81E3D7058FA14A053EC19874D0 /* Pods-ShadowsocksX-NG-dummy.m */,
|
||||
13333F29A08390FCEFECA0FDCDDC919F /* Pods-ShadowsocksX-NG-frameworks.sh */,
|
||||
EA41BEE3B4D9F1A89F0135CA91A7F472 /* Pods-ShadowsocksX-NG-resources.sh */,
|
||||
14A9EC2BB1EC6484018A5EB4B9B2C231 /* Pods-ShadowsocksX-NG-umbrella.h */,
|
||||
98522BF2EB25C0255284080F9CA3E195 /* Pods-ShadowsocksX-NG.debug.xcconfig */,
|
||||
089EB7E66F64D3A19BB7681AFCE91031 /* Pods-ShadowsocksX-NG.release.xcconfig */,
|
||||
);
|
||||
name = "Pods-ShadowsocksX-NG";
|
||||
path = "Target Support Files/Pods-ShadowsocksX-NG";
|
||||
@@ -320,6 +296,21 @@
|
||||
name = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B5020B0A649E766997C633601AD85F17 /* Pods-proxy_conf_helper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1A8CE48109F7ED7873F4FF9D2D3603AD /* Pods-proxy_conf_helper-acknowledgements.markdown */,
|
||||
AE6E689502E4366B125481CD898B947E /* Pods-proxy_conf_helper-acknowledgements.plist */,
|
||||
CE50445A73ECB9A2ED31A6FF93D45808 /* Pods-proxy_conf_helper-dummy.m */,
|
||||
5D84D92D27CE8A6F5C45E8A03155C1CF /* Pods-proxy_conf_helper-frameworks.sh */,
|
||||
8CDD45C6D7A038F415A78787317E931A /* Pods-proxy_conf_helper-resources.sh */,
|
||||
054C3E84057CD06DB85D99E7AD207F48 /* Pods-proxy_conf_helper.debug.xcconfig */,
|
||||
A5055B8EFFFBEDE50909E935D4BCA446 /* Pods-proxy_conf_helper.release.xcconfig */,
|
||||
);
|
||||
name = "Pods-proxy_conf_helper";
|
||||
path = "Target Support Files/Pods-proxy_conf_helper";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
C412838B269977875C90C3EDA99B7FF5 /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -331,39 +322,6 @@
|
||||
path = "../Target Support Files/BRLOptionParser";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
C96621590DC5539C2295BDCD539E9196 /* Pods-ShadowsocksX-NGTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
884F8C760A37C789CE94F8081748D1FC /* Info.plist */,
|
||||
FFE8D34BD9DA37F7AC8E02DBD77276CC /* Pods-ShadowsocksX-NGTests.modulemap */,
|
||||
6CFA39714E1A134569812A6D0F6DBDAA /* Pods-ShadowsocksX-NGTests-acknowledgements.markdown */,
|
||||
15FE600C1B98B01C3497EDD5581C9F84 /* Pods-ShadowsocksX-NGTests-acknowledgements.plist */,
|
||||
B6E587120F8C00DE490D711EB8355C61 /* Pods-ShadowsocksX-NGTests-dummy.m */,
|
||||
3447501773497F7E2C49014760C1D897 /* Pods-ShadowsocksX-NGTests-frameworks.sh */,
|
||||
2577A840C945439C44898B5965CF9F72 /* Pods-ShadowsocksX-NGTests-resources.sh */,
|
||||
69623EC55B7A9ADA7457D7D7B1303EB5 /* Pods-ShadowsocksX-NGTests-umbrella.h */,
|
||||
B34263B730C3B89322185246664228DB /* Pods-ShadowsocksX-NGTests.debug.xcconfig */,
|
||||
B1A565E9D0E5E3929B6293F3517BF5C5 /* Pods-ShadowsocksX-NGTests.release.xcconfig */,
|
||||
);
|
||||
name = "Pods-ShadowsocksX-NGTests";
|
||||
path = "Target Support Files/Pods-ShadowsocksX-NGTests";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E17930314C9067B0D693FA67EF206AB3 /* Pods-proxy_conf_helper */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8E1FDF542848BDCC77947783E6FF96D5 /* Pods-proxy_conf_helper-acknowledgements.markdown */,
|
||||
7B4E3032697142D8483EAF95D1339BF0 /* Pods-proxy_conf_helper-acknowledgements.plist */,
|
||||
4F3F6DB4863E2BF6DD9B3404A7347E97 /* Pods-proxy_conf_helper-dummy.m */,
|
||||
633A6E2E196DD954426FD41ABD9BFC02 /* Pods-proxy_conf_helper-frameworks.sh */,
|
||||
26E02FA4AB890BE221D861934BAAD565 /* Pods-proxy_conf_helper-resources.sh */,
|
||||
EB8FBABDB5FF6EFE1FA4DD0F67D0E416 /* Pods-proxy_conf_helper.debug.xcconfig */,
|
||||
115FC915544A7D72B3D616B0FBAB6447 /* Pods-proxy_conf_helper.release.xcconfig */,
|
||||
);
|
||||
name = "Pods-proxy_conf_helper";
|
||||
path = "Target Support Files/Pods-proxy_conf_helper";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F9C15B0D83A81063FC95E2E984F769FC /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@@ -405,14 +363,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
E1746A387194BEB27EC4879B5DC3B224 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9C151CF58D392C381731E7D30EFA910E /* Pods-ShadowsocksX-NGUITests-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
EFDF3B631BBB965A372347705CA14854 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -424,23 +374,6 @@
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
2E8F9EE6712BE7E70662A4A13408079D /* Pods-ShadowsocksX-NGUITests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = E44F7D03074D70744BEF31D1C3E08118 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NGUITests" */;
|
||||
buildPhases = (
|
||||
2FD1B8BC58EC9055508C398784D14B88 /* Sources */,
|
||||
92B19C276EDE1AA1F0BC5D2CDFCF72CB /* Frameworks */,
|
||||
E1746A387194BEB27EC4879B5DC3B224 /* Headers */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "Pods-ShadowsocksX-NGUITests";
|
||||
productName = "Pods-ShadowsocksX-NGUITests";
|
||||
productReference = 530A72A04C7861BE81E8E15846B4BF83 /* Pods_ShadowsocksX_NGUITests.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
3F0FDAFB5467946C22EE9F2EC643E2B0 /* Pods-proxy_conf_helper */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = F1E46DE142216CD3C0327D20F3073961 /* Build configuration list for PBXNativeTarget "Pods-proxy_conf_helper" */;
|
||||
@@ -455,7 +388,7 @@
|
||||
);
|
||||
name = "Pods-proxy_conf_helper";
|
||||
productName = "Pods-proxy_conf_helper";
|
||||
productReference = A7A9514A6586BD41159CCE759971ABDA /* libPods-proxy_conf_helper.a */;
|
||||
productReference = 398459D9B92332A54D2A0B55844EC718 /* libPods-proxy_conf_helper.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
5FCD6487BC23CDDDB21857856F7E93F4 /* Pods-ShadowsocksX-NG */ = {
|
||||
@@ -473,7 +406,7 @@
|
||||
);
|
||||
name = "Pods-ShadowsocksX-NG";
|
||||
productName = "Pods-ShadowsocksX-NG";
|
||||
productReference = 2BA204827CA968C6E89479E30AED3795 /* Pods_ShadowsocksX_NG.framework */;
|
||||
productReference = B4997B253B4BF8BA9CE1028B3339A1E2 /* Pods_ShadowsocksX_NG.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
79C040AFDDCE1BCBF6D8B5EB0B85887F /* Alamofire */ = {
|
||||
@@ -490,7 +423,7 @@
|
||||
);
|
||||
name = Alamofire;
|
||||
productName = Alamofire;
|
||||
productReference = 12BCF1C09D16ED00E0A0C03AD448953B /* Alamofire.framework */;
|
||||
productReference = 7C0FF7E4FE2F9E938B913147AC70030F /* Alamofire.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
7AD154F318B10A340D705FD3003EAAC6 /* BRLOptionParser */ = {
|
||||
@@ -507,7 +440,7 @@
|
||||
);
|
||||
name = BRLOptionParser;
|
||||
productName = BRLOptionParser;
|
||||
productReference = EB3D87DD81083026AA4B2BB574BACFCD /* libBRLOptionParser.a */;
|
||||
productReference = 5F642491575D568FFDB1A78F5715E51F /* libBRLOptionParser.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
9D7253CF594B2D7CB8127F7CCAFF916F /* Pods-ShadowsocksX-NGTests */ = {
|
||||
@@ -524,7 +457,7 @@
|
||||
);
|
||||
name = "Pods-ShadowsocksX-NGTests";
|
||||
productName = "Pods-ShadowsocksX-NGTests";
|
||||
productReference = 40EC632D84D677A232275F3C9137FAB5 /* Pods_ShadowsocksX_NGTests.framework */;
|
||||
productReference = 9B5140B5D79E46F7609099C58EC23084 /* Pods_ShadowsocksX_NGTests.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
@@ -544,7 +477,7 @@
|
||||
en,
|
||||
);
|
||||
mainGroup = 7DB346D0F39D3F0E887471402A8071AB;
|
||||
productRefGroup = 63703CB4C84C26080698DAB916EC0EF3 /* Products */;
|
||||
productRefGroup = 418FEA60C550DCBFA6C70589E09033B3 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
@@ -553,7 +486,6 @@
|
||||
3F0FDAFB5467946C22EE9F2EC643E2B0 /* Pods-proxy_conf_helper */,
|
||||
5FCD6487BC23CDDDB21857856F7E93F4 /* Pods-ShadowsocksX-NG */,
|
||||
9D7253CF594B2D7CB8127F7CCAFF916F /* Pods-ShadowsocksX-NGTests */,
|
||||
2E8F9EE6712BE7E70662A4A13408079D /* Pods-ShadowsocksX-NGUITests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
@@ -567,14 +499,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
2FD1B8BC58EC9055508C398784D14B88 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
16CAE063801F558D22BE927C32451303 /* Pods-ShadowsocksX-NGUITests-dummy.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
4EAA284BFC07AC421BF366F1EB9B757F /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -643,43 +567,9 @@
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
2D559D45482D878D6DC27E4DF783B16E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D9DFBFFA4EE2458A9C1814A1F94778FD /* Pods-ShadowsocksX-NGUITests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
FRAMEWORK_VERSION = A;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NGUITests/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NGUITests/Pods-ShadowsocksX-NGUITests.modulemap";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = Pods_ShadowsocksX_NGUITests;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
371E0500757286AB22CAE64ADAE8D83B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = B34263B730C3B89322185246664228DB /* Pods-ShadowsocksX-NGTests.debug.xcconfig */;
|
||||
baseConfigurationReference = 9BA2A0099476E08B6CC8026BDF0C603E /* Pods-ShadowsocksX-NGTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
@@ -751,7 +641,7 @@
|
||||
};
|
||||
4E96338F016ACB3AF872F99AAB8FB291 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 7641DF24E577F8EC64CA861723E8F092 /* Pods-ShadowsocksX-NG.release.xcconfig */;
|
||||
baseConfigurationReference = 089EB7E66F64D3A19BB7681AFCE91031 /* Pods-ShadowsocksX-NG.release.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
@@ -783,6 +673,28 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
4F25746D417AD7959CEFE5D13B9045BF /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 054C3E84057CD06DB85D99E7AD207F48 /* Pods-proxy_conf_helper.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
81B3096945D568104AC14EE4F805950B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 1F0C65FEB29E96761774D63877EFB727 /* Alamofire.xcconfig */;
|
||||
@@ -846,7 +758,7 @@
|
||||
};
|
||||
8A2A1FB2B9F55A664E92C5F52B674F7B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = B1A565E9D0E5E3929B6293F3517BF5C5 /* Pods-ShadowsocksX-NGTests.release.xcconfig */;
|
||||
baseConfigurationReference = F67191B1F87DA238C4D87250DFBE43DD /* Pods-ShadowsocksX-NGTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
@@ -899,9 +811,31 @@
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
9825B7CD16B076B290073DADEE5E3AEE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A5055B8EFFFBEDE50909E935D4BCA446 /* Pods-proxy_conf_helper.release.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
B1F9CA2C4D4C287086A57B5A5E5632F1 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 8FA72CABF17A62C808E9532DC97A1E0B /* Pods-ShadowsocksX-NG.debug.xcconfig */;
|
||||
baseConfigurationReference = 98522BF2EB25C0255284080F9CA3E195 /* Pods-ShadowsocksX-NG.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
@@ -955,28 +889,6 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
D417E7ADCBE0A1D6A25FE6C098AAADA2 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = EB8FBABDB5FF6EFE1FA4DD0F67D0E416 /* Pods-proxy_conf_helper.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DA2E206EB90DF75A25332AE4AA713F31 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
@@ -1019,62 +931,6 @@
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
DC5E375DDCED3F5F2F128B9210CE69CA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 115FC915544A7D72B3D616B0FBAB6447 /* Pods-proxy_conf_helper.release.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
EXECUTABLE_PREFIX = lib;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
E1D71F02B6C64B509793C7FC35A3ED8A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 9C0D9B9B2B2F4080487D871E0C67767B /* Pods-ShadowsocksX-NGUITests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
FRAMEWORK_VERSION = A;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
INFOPLIST_FILE = "Target Support Files/Pods-ShadowsocksX-NGUITests/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MODULEMAP_FILE = "Target Support Files/Pods-ShadowsocksX-NGUITests/Pods-ShadowsocksX-NGUITests.modulemap";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = Pods_ShadowsocksX_NGUITests;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
@@ -1123,20 +979,11 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
E44F7D03074D70744BEF31D1C3E08118 /* Build configuration list for PBXNativeTarget "Pods-ShadowsocksX-NGUITests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
2D559D45482D878D6DC27E4DF783B16E /* Debug */,
|
||||
E1D71F02B6C64B509793C7FC35A3ED8A /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
F1E46DE142216CD3C0327D20F3073961 /* Build configuration list for PBXNativeTarget "Pods-proxy_conf_helper" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D417E7ADCBE0A1D6A25FE6C098AAADA2 /* Debug */,
|
||||
DC5E375DDCED3F5F2F128B9210CE69CA /* Release */,
|
||||
4F25746D417AD7959CEFE5D13B9045BF /* Debug */,
|
||||
9825B7CD16B076B290073DADEE5E3AEE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
# Acknowledgements
|
||||
This application makes use of the following third party libraries:
|
||||
Generated by CocoaPods - https://cocoapods.org
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>PreferenceSpecifiers</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>This application makes use of the following third party libraries:</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
||||
<key>Title</key>
|
||||
<string></string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>StringsTable</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
</dict>
|
||||
</plist>
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_Pods_ShadowsocksX_NGUITests : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_Pods_ShadowsocksX_NGUITests
|
||||
@end
|
||||
Generated
-84
@@ -1,84 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||
|
||||
install_framework()
|
||||
{
|
||||
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$1"
|
||||
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
|
||||
elif [ -r "$1" ]; then
|
||||
local source="$1"
|
||||
fi
|
||||
|
||||
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
if [ -L "${source}" ]; then
|
||||
echo "Symlinked..."
|
||||
source="$(readlink "${source}")"
|
||||
fi
|
||||
|
||||
# use filter instead of exclude so missing patterns dont' throw errors
|
||||
echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
|
||||
rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
|
||||
|
||||
local basename
|
||||
basename="$(basename -s .framework "$1")"
|
||||
binary="${destination}/${basename}.framework/${basename}"
|
||||
if ! [ -r "$binary" ]; then
|
||||
binary="${destination}/${basename}"
|
||||
fi
|
||||
|
||||
# Strip invalid architectures so "fat" simulator / device frameworks work on device
|
||||
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
|
||||
strip_invalid_archs "$binary"
|
||||
fi
|
||||
|
||||
# Resign the code if required by the build settings to avoid unstable apps
|
||||
code_sign_if_enabled "${destination}/$(basename "$1")"
|
||||
|
||||
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
|
||||
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
|
||||
local swift_runtime_libs
|
||||
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
|
||||
for lib in $swift_runtime_libs; do
|
||||
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
|
||||
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
|
||||
code_sign_if_enabled "${destination}/${lib}"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Signs a framework with the provided identity
|
||||
code_sign_if_enabled() {
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
# Use the current code_sign_identitiy
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
|
||||
/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# Strip invalid architectures
|
||||
strip_invalid_archs() {
|
||||
binary="$1"
|
||||
# Get architectures for current file
|
||||
archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)"
|
||||
stripped=""
|
||||
for arch in $archs; do
|
||||
if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then
|
||||
# Strip non-valid architectures in-place
|
||||
lipo -remove "$arch" -output "$binary" "$binary" || exit 1
|
||||
stripped="$stripped $arch"
|
||||
fi
|
||||
done
|
||||
if [[ "$stripped" ]]; then
|
||||
echo "Stripped $binary of architectures:$stripped"
|
||||
fi
|
||||
}
|
||||
|
||||
Generated
-102
@@ -1,102 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
|
||||
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
||||
> "$RESOURCES_TO_COPY"
|
||||
|
||||
XCASSET_FILES=()
|
||||
|
||||
case "${TARGETED_DEVICE_FAMILY}" in
|
||||
1,2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||
;;
|
||||
1)
|
||||
TARGET_DEVICE_ARGS="--target-device iphone"
|
||||
;;
|
||||
2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||
;;
|
||||
*)
|
||||
TARGET_DEVICE_ARGS="--target-device mac"
|
||||
;;
|
||||
esac
|
||||
|
||||
realpath() {
|
||||
DIRECTORY="$(cd "${1%/*}" && pwd)"
|
||||
FILENAME="${1##*/}"
|
||||
echo "$DIRECTORY/$FILENAME"
|
||||
}
|
||||
|
||||
install_resource()
|
||||
{
|
||||
if [[ "$1" = /* ]] ; then
|
||||
RESOURCE_PATH="$1"
|
||||
else
|
||||
RESOURCE_PATH="${PODS_ROOT}/$1"
|
||||
fi
|
||||
if [[ ! -e "$RESOURCE_PATH" ]] ; then
|
||||
cat << EOM
|
||||
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
|
||||
EOM
|
||||
exit 1
|
||||
fi
|
||||
case $RESOURCE_PATH in
|
||||
*.storyboard)
|
||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||
;;
|
||||
*.xib)
|
||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}"
|
||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||
;;
|
||||
*.framework)
|
||||
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
;;
|
||||
*.xcdatamodel)
|
||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\""
|
||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
||||
;;
|
||||
*.xcdatamodeld)
|
||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\""
|
||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
||||
;;
|
||||
*.xcmappingmodel)
|
||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\""
|
||||
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
||||
;;
|
||||
*.xcassets)
|
||||
ABSOLUTE_XCASSET_FILE=$(realpath "$RESOURCE_PATH")
|
||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||
;;
|
||||
*)
|
||||
echo "$RESOURCE_PATH"
|
||||
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
fi
|
||||
rm -f "$RESOURCES_TO_COPY"
|
||||
|
||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ]
|
||||
then
|
||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||
while read line; do
|
||||
if [[ $line != "`realpath $PODS_ROOT`*" ]]; then
|
||||
XCASSET_FILES+=("$line")
|
||||
fi
|
||||
done <<<"$OTHER_XCASSETS"
|
||||
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
fi
|
||||
Generated
-6
@@ -1,6 +0,0 @@
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double Pods_ShadowsocksX_NGUITestsVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char Pods_ShadowsocksX_NGUITestsVersionString[];
|
||||
|
||||
Generated
-8
@@ -1,8 +0,0 @@
|
||||
CODE_SIGN_IDENTITY =
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers"
|
||||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
Generated
-6
@@ -1,6 +0,0 @@
|
||||
framework module Pods_ShadowsocksX_NGUITests {
|
||||
umbrella header "Pods-ShadowsocksX-NGUITests-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
Generated
-8
@@ -1,8 +0,0 @@
|
||||
CODE_SIGN_IDENTITY =
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Alamofire"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Alamofire/Alamofire.framework/Headers"
|
||||
PODS_BUILD_DIR = $BUILD_DIR
|
||||
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
@@ -1,5 +1,9 @@
|
||||
# ShadowsocksX-NG
|
||||
|
||||
Current version is 1.0 Beta
|
||||
|
||||
[](https://travis-ci.org/qiuyuzhou/ShadowsocksX-NG)
|
||||
|
||||
Next Generation of [ShadowsocksX](https://github.com/shadowsocks/shadowsocks-iOS)
|
||||
|
||||
## Why Another Implement
|
||||
@@ -23,9 +27,32 @@ Then I rewrite the gui code by swift.
|
||||
- XCode 7.3+
|
||||
- cocoapod 1.0.1+
|
||||
|
||||
## Fetures
|
||||
|
||||
- Use ss-local from shadowsocks-libev 2.4.6
|
||||
- Update PAC by download GFW List from github.
|
||||
- Show QRCode for current server profile.
|
||||
- Scan QRCode from screen.
|
||||
- Auto launch at login.
|
||||
- User rules for PAC.
|
||||
- Support OTA
|
||||
- An advance preferences panel to configure:
|
||||
- Local socks5 listen address.
|
||||
- Local socks5 listen port.
|
||||
- Local socks5 timeout.
|
||||
- If enable UDP relay.
|
||||
- GFW List url.
|
||||
|
||||
## Diferences with orignal ShadowsocksX
|
||||
|
||||
Run ss-local as backgroud service through launchd, not in app process.
|
||||
So after you quit the app, the ss-local maybe is still running.
|
||||
|
||||
Add a manual mode which won't configure the system proxy settings.
|
||||
Then you could configure your apps to use socks5 proxy manual.
|
||||
|
||||
## TODO List
|
||||
|
||||
- Copy a ss url to pasteboard in the server profile UI.
|
||||
- Embed the http proxy server [privoxy](http://www.privoxy.org/).
|
||||
|
||||
## License
|
||||
|
||||
@@ -8,13 +8,11 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
258E511BA910B0521B24DAB8 /* Pods_ShadowsocksX_NG.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 283ED1A8E9B711AC65670031 /* Pods_ShadowsocksX_NG.framework */; };
|
||||
6354DD71ABDED9CD55F93D3F /* Pods_ShadowsocksX_NGUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19083CFCED87354F006967FF /* Pods_ShadowsocksX_NGUITests.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 */; };
|
||||
9B07EFAD1D048E880052D9DF /* menu_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 9B07EFA91D048E880052D9DF /* menu_icon.png */; };
|
||||
9B07EFAE1D048E880052D9DF /* menu_icon_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 9B07EFAA1D048E880052D9DF /* menu_icon_disabled.png */; };
|
||||
9B07EFAF1D048E880052D9DF /* menu_icon_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9B07EFAB1D048E880052D9DF /* menu_icon_disabled@2x.png */; };
|
||||
9B0B00041D0460A70040E62B /* ShadowsocksX_NGUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B0B00031D0460A70040E62B /* ShadowsocksX_NGUITests.swift */; };
|
||||
9B0BFFE91D0460A70040E62B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B0BFFE81D0460A70040E62B /* AppDelegate.swift */; };
|
||||
9B0BFFEB1D0460A70040E62B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9B0BFFEA1D0460A70040E62B /* Assets.xcassets */; };
|
||||
9B0BFFEE1D0460A70040E62B /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9B0BFFEC1D0460A70040E62B /* MainMenu.xib */; };
|
||||
@@ -55,13 +53,6 @@
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
9B0B00001D0460A70040E62B /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 9B0BFFDD1D0460A70040E62B /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 9B0BFFE41D0460A70040E62B;
|
||||
remoteInfo = "ShadowsocksX-NG";
|
||||
};
|
||||
9B0BFFF51D0460A70040E62B /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 9B0BFFDD1D0460A70040E62B /* Project object */;
|
||||
@@ -105,8 +96,6 @@
|
||||
9B07EFA91D048E880052D9DF /* menu_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_icon.png; sourceTree = "<group>"; };
|
||||
9B07EFAA1D048E880052D9DF /* menu_icon_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_icon_disabled.png; sourceTree = "<group>"; };
|
||||
9B07EFAB1D048E880052D9DF /* menu_icon_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menu_icon_disabled@2x.png"; sourceTree = "<group>"; };
|
||||
9B0B00031D0460A70040E62B /* ShadowsocksX_NGUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShadowsocksX_NGUITests.swift; sourceTree = "<group>"; };
|
||||
9B0B00051D0460A70040E62B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
9B0BFFE51D0460A70040E62B /* ShadowsocksX-NG.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ShadowsocksX-NG.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9B0BFFE81D0460A70040E62B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
9B0BFFEA1D0460A70040E62B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
@@ -115,7 +104,6 @@
|
||||
9B0BFFF41D0460A70040E62B /* ShadowsocksX-NGTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ShadowsocksX-NGTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9B0BFFF81D0460A70040E62B /* ShadowsocksX_NGTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShadowsocksX_NGTests.swift; sourceTree = "<group>"; };
|
||||
9B0BFFFA1D0460A70040E62B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
9B0BFFFF1D0460A70040E62B /* ShadowsocksX-NGUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ShadowsocksX-NGUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9B172A5D1D0ACEA100B87B9A /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/AdvPreferencesWindowController.strings"; sourceTree = "<group>"; };
|
||||
9B172A601D0ADA5B00B87B9A /* genstrings.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = genstrings.py; sourceTree = "<group>"; };
|
||||
9B172A6B1D0ADDDD00B87B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
@@ -182,14 +170,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9B0BFFFC1D0460A70040E62B /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6354DD71ABDED9CD55F93D3F /* Pods_ShadowsocksX_NGUITests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9B3FFF411D09CD3B0019A709 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -241,22 +221,12 @@
|
||||
name = "Support Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9B0B00021D0460A70040E62B /* ShadowsocksX-NGUITests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9B0B00031D0460A70040E62B /* ShadowsocksX_NGUITests.swift */,
|
||||
9B0B00051D0460A70040E62B /* Info.plist */,
|
||||
);
|
||||
path = "ShadowsocksX-NGUITests";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9B0BFFDC1D0460A70040E62B = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9B172A601D0ADA5B00B87B9A /* genstrings.py */,
|
||||
9B0BFFE71D0460A70040E62B /* ShadowsocksX-NG */,
|
||||
9B0BFFF71D0460A70040E62B /* ShadowsocksX-NGTests */,
|
||||
9B0B00021D0460A70040E62B /* ShadowsocksX-NGUITests */,
|
||||
9B3FFF451D09CD3B0019A709 /* proxy_conf_helper */,
|
||||
9B0BFFE61D0460A70040E62B /* Products */,
|
||||
33F4F299F89330966F4526E4 /* Pods */,
|
||||
@@ -269,7 +239,6 @@
|
||||
children = (
|
||||
9B0BFFE51D0460A70040E62B /* ShadowsocksX-NG.app */,
|
||||
9B0BFFF41D0460A70040E62B /* ShadowsocksX-NGTests.xctest */,
|
||||
9B0BFFFF1D0460A70040E62B /* ShadowsocksX-NGUITests.xctest */,
|
||||
9B3FFF441D09CD3B0019A709 /* proxy_conf_helper */,
|
||||
);
|
||||
name = Products;
|
||||
@@ -391,26 +360,6 @@
|
||||
productReference = 9B0BFFF41D0460A70040E62B /* ShadowsocksX-NGTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
9B0BFFFE1D0460A70040E62B /* ShadowsocksX-NGUITests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 9B0B000E1D0460A70040E62B /* Build configuration list for PBXNativeTarget "ShadowsocksX-NGUITests" */;
|
||||
buildPhases = (
|
||||
F38183C494F971E2DA36B012 /* [CP] Check Pods Manifest.lock */,
|
||||
9B0BFFFB1D0460A70040E62B /* Sources */,
|
||||
9B0BFFFC1D0460A70040E62B /* Frameworks */,
|
||||
9B0BFFFD1D0460A70040E62B /* Resources */,
|
||||
3C502B10B4D52DA1C63A2BE5 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
9B0B00011D0460A70040E62B /* PBXTargetDependency */,
|
||||
);
|
||||
name = "ShadowsocksX-NGUITests";
|
||||
productName = "ShadowsocksX-NGUITests";
|
||||
productReference = 9B0BFFFF1D0460A70040E62B /* ShadowsocksX-NGUITests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.ui-testing";
|
||||
};
|
||||
9B3FFF431D09CD3B0019A709 /* proxy_conf_helper */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 9B3FFF481D09CD3B0019A709 /* Build configuration list for PBXNativeTarget "proxy_conf_helper" */;
|
||||
@@ -447,10 +396,6 @@
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
TestTargetID = 9B0BFFE41D0460A70040E62B;
|
||||
};
|
||||
9B0BFFFE1D0460A70040E62B = {
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
TestTargetID = 9B0BFFE41D0460A70040E62B;
|
||||
};
|
||||
9B3FFF431D09CD3B0019A709 = {
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
};
|
||||
@@ -472,7 +417,6 @@
|
||||
targets = (
|
||||
9B0BFFE41D0460A70040E62B /* ShadowsocksX-NG */,
|
||||
9B0BFFF31D0460A70040E62B /* ShadowsocksX-NGTests */,
|
||||
9B0BFFFE1D0460A70040E62B /* ShadowsocksX-NGUITests */,
|
||||
9B3FFF431D09CD3B0019A709 /* proxy_conf_helper */,
|
||||
);
|
||||
};
|
||||
@@ -517,13 +461,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9B0BFFFD1D0460A70040E62B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
@@ -572,21 +509,6 @@
|
||||
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 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NGUITests/Pods-ShadowsocksX-NGUITests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
3E819BD46B855EDB116A3C70 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -662,21 +584,6 @@
|
||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ShadowsocksX-NGTests/Pods-ShadowsocksX-NGTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
F38183C494F971E2DA36B012 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
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;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
@@ -708,14 +615,6 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9B0BFFFB1D0460A70040E62B /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9B0B00041D0460A70040E62B /* ShadowsocksX_NGUITests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9B3FFF401D09CD3B0019A709 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -727,11 +626,6 @@
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
9B0B00011D0460A70040E62B /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 9B0BFFE41D0460A70040E62B /* ShadowsocksX-NG */;
|
||||
targetProxy = 9B0B00001D0460A70040E62B /* PBXContainerItemProxy */;
|
||||
};
|
||||
9B0BFFF61D0460A70040E62B /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 9B0BFFE41D0460A70040E62B /* ShadowsocksX-NG */;
|
||||
@@ -872,7 +766,6 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(SRCROOT)/libcork/include/",
|
||||
@@ -899,7 +792,6 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "Developer ID Application";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(SRCROOT)/libcork/include/",
|
||||
@@ -947,32 +839,6 @@
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
9B0B000F1D0460A70040E62B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 58907E7F50405104B42CB189 /* Pods-ShadowsocksX-NGUITests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = "ShadowsocksX-NGUITests/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NGUITests";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_TARGET_NAME = "ShadowsocksX-NG";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
9B0B00101D0460A70040E62B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 50D54926AA21B0D4D8DD9C4F /* Pods-ShadowsocksX-NGUITests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = "ShadowsocksX-NGUITests/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.qiuyuzhou.ShadowsocksX-NGUITests";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_TARGET_NAME = "ShadowsocksX-NG";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
9B3FFF491D09CD3B0019A709 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = B4E6A97CA843F3943524B686 /* Pods-proxy_conf_helper.debug.xcconfig */;
|
||||
@@ -1012,15 +878,6 @@
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
9B0B000E1D0460A70040E62B /* Build configuration list for PBXNativeTarget "ShadowsocksX-NGUITests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
9B0B000F1D0460A70040E62B /* Debug */,
|
||||
9B0B00101D0460A70040E62B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
9B0BFFE01D0460A70040E62B /* Build configuration list for PBXProject "ShadowsocksX-NG" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
||||
@@ -6,6 +6,76 @@
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "79C040AFDDCE1BCBF6D8B5EB0B85887F"
|
||||
BuildableName = "Alamofire.framework"
|
||||
BlueprintName = "Alamofire"
|
||||
ReferencedContainer = "container:Pods/Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "7AD154F318B10A340D705FD3003EAAC6"
|
||||
BuildableName = "libBRLOptionParser.a"
|
||||
BlueprintName = "BRLOptionParser"
|
||||
ReferencedContainer = "container:Pods/Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "5FCD6487BC23CDDDB21857856F7E93F4"
|
||||
BuildableName = "Pods_ShadowsocksX_NG.framework"
|
||||
BlueprintName = "Pods-ShadowsocksX-NG"
|
||||
ReferencedContainer = "container:Pods/Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9D7253CF594B2D7CB8127F7CCAFF916F"
|
||||
BuildableName = "Pods_ShadowsocksX_NGTests.framework"
|
||||
BlueprintName = "Pods-ShadowsocksX-NGTests"
|
||||
ReferencedContainer = "container:Pods/Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "3F0FDAFB5467946C22EE9F2EC643E2B0"
|
||||
BuildableName = "libPods-proxy_conf_helper.a"
|
||||
BlueprintName = "Pods-proxy_conf_helper"
|
||||
ReferencedContainer = "container:Pods/Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
@@ -38,16 +108,6 @@
|
||||
ReferencedContainer = "container:ShadowsocksX-NG.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9B0BFFFE1D0460A70040E62B"
|
||||
BuildableName = "ShadowsocksX-NGUITests.xctest"
|
||||
BlueprintName = "ShadowsocksX-NGUITests"
|
||||
ReferencedContainer = "container:ShadowsocksX-NG.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0730"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "9B0BFFF31D0460A70040E62B"
|
||||
BuildableName = "ShadowsocksX-NGTests.xctest"
|
||||
BlueprintName = "ShadowsocksX-NGTests"
|
||||
ReferencedContainer = "container:ShadowsocksX-NG.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -48,9 +48,10 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
"ShadowsocksOn": true,
|
||||
"ShadowsocksRunningMode": "auto",
|
||||
"LocalSocks5.ListenPort": NSNumber(unsignedShort: 1086),
|
||||
"LocalSocks5.ListenAddress": "localhost",
|
||||
"LocalSocks5.ListenAddress": "127.0.0.1",
|
||||
"LocalSocks5.Timeout": NSNumber(unsignedInteger: 60),
|
||||
"LocalSocks5.EnableUDPRelay": NSNumber(bool: false),
|
||||
"LocalSocks5.EnableVerboseMode": NSNumber(bool: false),
|
||||
"GFWListURL": "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
|
||||
])
|
||||
|
||||
@@ -283,6 +284,15 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func showLogs(sender: NSMenuItem) {
|
||||
let ws = NSWorkspace.sharedWorkspace()
|
||||
if let appUrl = ws.URLForApplicationWithBundleIdentifier("com.apple.Console") {
|
||||
try! ws.launchApplicationAtURL(appUrl
|
||||
,options: .Default
|
||||
,configuration: [NSWorkspaceLaunchConfigurationArguments: "~/Library/Logs/ss-local.log"])
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func feedback(sender: NSMenuItem) {
|
||||
NSWorkspace.sharedWorkspace().openURL(NSURL(string: "https://github.com/qiuyuzhou/ShadowsocksX-NG/issues")!)
|
||||
}
|
||||
|
||||
@@ -14,14 +14,63 @@
|
||||
<window title="Advance Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="469" y="456" width="480" height="288"/>
|
||||
<rect key="contentRect" x="469" y="456" width="480" height="336"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
|
||||
<view key="contentView" id="se5-gp-TjO">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="288"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="336"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<box verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="ayu-Tb-kmf">
|
||||
<rect key="frame" x="38" y="120" width="405" height="5"/>
|
||||
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<font key="titleFont" metaFont="system"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="I4a-N9-Tkv">
|
||||
<rect key="frame" x="48" y="97" width="192" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="188" id="Tny-lh-gfo"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="GFW List URL:" id="dg0-gS-z5V">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="6MD-Ry-R5P">
|
||||
<rect key="frame" x="49" y="20" width="378" height="69"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="69" id="NVe-Ir-JCv"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="fS7-It-ERD">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.GFWListURL" id="49j-JU-amO">
|
||||
<dictionary key="options">
|
||||
<bool key="NSContinuouslyUpdatesValue" value="YES"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wCp-nB-dda">
|
||||
<rect key="frame" x="18" y="299" width="439" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Don't change these preferences if you have no idea what are they." id="8wL-qv-5nD">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="JBW-8M-eHP">
|
||||
<rect key="frame" x="36" y="288" width="405" height="5"/>
|
||||
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<font key="titleFont" metaFont="system"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="S5h-Xx-HUG">
|
||||
<rect key="frame" x="35" y="212" width="204" height="17"/>
|
||||
<rect key="frame" x="27" y="226" width="204" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Port:" id="qRs-ow-vVB">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -29,7 +78,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xWv-tc-lQe">
|
||||
<rect key="frame" x="35" y="249" width="204" height="17"/>
|
||||
<rect key="frame" x="27" y="263" width="204" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Address:" id="cwr-n0-zwn">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -37,10 +86,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Q2L-Fh-TW1">
|
||||
<rect key="frame" x="245" y="246" width="160" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="160" id="uGY-R1-1K3"/>
|
||||
</constraints>
|
||||
<rect key="frame" x="237" y="260" width="160" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="iRm-V5-3gu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -55,7 +101,7 @@
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="e3S-m6-k5Y">
|
||||
<rect key="frame" x="35" y="176" width="204" height="17"/>
|
||||
<rect key="frame" x="27" y="190" width="204" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Timeout:" id="i4l-2S-gOQ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -63,7 +109,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sRP-xs-alR">
|
||||
<rect key="frame" x="245" y="171" width="60" height="22"/>
|
||||
<rect key="frame" x="237" y="185" width="60" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="wjv-Nc-tjX">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -79,7 +125,7 @@
|
||||
</connections>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="DiD-K0-Y43">
|
||||
<rect key="frame" x="243" y="141" width="219" height="18"/>
|
||||
<rect key="frame" x="235" y="155" width="219" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Udp Replay" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="1C3-4s-Apd">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -88,45 +134,10 @@
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.LocalSocks5.EnableUDPRelay" id="fuM-ii-maJ"/>
|
||||
</connections>
|
||||
</button>
|
||||
<box verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="ayu-Tb-kmf">
|
||||
<rect key="frame" x="38" y="125" width="405" height="5"/>
|
||||
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<font key="titleFont" metaFont="system"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="I4a-N9-Tkv">
|
||||
<rect key="frame" x="48" y="97" width="192" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="188" id="bNe-tm-zZy"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="GFW List URL:" id="dg0-gS-z5V">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="6MD-Ry-R5P">
|
||||
<rect key="frame" x="49" y="20" width="378" height="69"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="69" id="xFK-oi-GjS"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="fS7-It-ERD">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.GFWListURL" id="49j-JU-amO">
|
||||
<dictionary key="options">
|
||||
<bool key="NSContinuouslyUpdatesValue" value="YES"/>
|
||||
</dictionary>
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XQ5-fw-o8t">
|
||||
<rect key="frame" x="245" y="209" width="60" height="22"/>
|
||||
<rect key="frame" x="237" y="223" width="60" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="PaY-Mh-CcY"/>
|
||||
<constraint firstAttribute="width" constant="60" id="reo-ha-VKi"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="rfR-7k-cS8">
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -142,49 +153,74 @@
|
||||
<outlet property="formatter" destination="uE9-0u-CJW" id="QsO-5H-MYE"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="eoD-7r-Q85">
|
||||
<rect key="frame" x="311" y="174" width="96" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eoD-7r-Q85">
|
||||
<rect key="frame" x="303" y="188" width="96" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="92" id="xw1-XT-mjQ"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Seconds" id="Gd3-Fm-sWh">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="qVQ-tJ-cO6">
|
||||
<rect key="frame" x="235" y="129" width="219" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Verbose Mode" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="dCD-gg-I2i">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.LocalSocks5.EnableVerboseMode" id="Nu9-zu-vUE"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="DiD-K0-Y43" secondAttribute="trailing" constant="20" symbolic="YES" id="0z7-Ju-oVR"/>
|
||||
<constraint firstItem="e3S-m6-k5Y" firstAttribute="top" secondItem="sRP-xs-alR" secondAttribute="top" id="1Fm-xH-FIR"/>
|
||||
<constraint firstAttribute="trailing" secondItem="6MD-Ry-R5P" secondAttribute="trailing" constant="53" id="7FK-kf-MHq"/>
|
||||
<constraint firstItem="S5h-Xx-HUG" firstAttribute="baseline" secondItem="XQ5-fw-o8t" secondAttribute="baseline" id="7hh-hY-Tfd"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="leading" secondItem="DiD-K0-Y43" secondAttribute="leading" id="872-50-MM1"/>
|
||||
<constraint firstAttribute="bottom" secondItem="6MD-Ry-R5P" secondAttribute="bottom" constant="20" symbolic="YES" id="BPk-0m-XoP"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="leading" secondItem="e3S-m6-k5Y" secondAttribute="trailing" constant="8" symbolic="YES" id="Eq2-ED-0fQ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Q2L-Fh-TW1" secondAttribute="trailing" constant="75" id="Hdj-d1-9pH"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="baseline" secondItem="Q2L-Fh-TW1" secondAttribute="baseline" id="LWx-qI-dhr"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="top" secondItem="Q2L-Fh-TW1" secondAttribute="bottom" constant="15" id="OfP-2a-r64"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="leading" secondItem="sRP-xs-alR" secondAttribute="leading" id="OqF-he-dHW"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="38" id="Qfz-zi-PYT"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="trailing" secondItem="sRP-xs-alR" secondAttribute="trailing" id="V4b-j8-HQ5"/>
|
||||
<constraint firstItem="I4a-N9-Tkv" firstAttribute="top" secondItem="ayu-Tb-kmf" secondAttribute="bottom" constant="13" id="ZgK-is-AYc"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="Zo5-QG-fZQ"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="37" id="e40-q4-KNz"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="leading" secondItem="S5h-Xx-HUG" secondAttribute="leading" id="elC-xb-XO6"/>
|
||||
<constraint firstItem="6MD-Ry-R5P" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="49" id="nOv-LT-qf9"/>
|
||||
<constraint firstItem="I4a-N9-Tkv" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="50" id="q5f-wo-sYs"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="leading" secondItem="xWv-tc-lQe" secondAttribute="trailing" constant="8" symbolic="YES" id="qbL-5M-6Ax"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="top" secondItem="DiD-K0-Y43" secondAttribute="bottom" constant="15" id="rw7-kk-nln"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="leading" secondItem="XQ5-fw-o8t" secondAttribute="leading" id="soD-hL-lP6"/>
|
||||
<constraint firstItem="S5h-Xx-HUG" firstAttribute="leading" secondItem="e3S-m6-k5Y" secondAttribute="leading" id="vby-t7-6tr"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="top" secondItem="sRP-xs-alR" secondAttribute="bottom" constant="14" id="xJE-NF-5ev"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="leading" secondItem="S5h-Xx-HUG" secondAttribute="trailing" constant="8" symbolic="YES" id="zIv-Fb-eXM"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" symbolic="YES" id="zT7-pM-0HD"/>
|
||||
<constraint firstItem="6MD-Ry-R5P" firstAttribute="top" secondItem="I4a-N9-Tkv" secondAttribute="bottom" constant="8" symbolic="YES" id="znh-1L-Nbo"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="baseline" secondItem="Q2L-Fh-TW1" secondAttribute="baseline" id="0ub-69-rbe"/>
|
||||
<constraint firstAttribute="bottom" secondItem="6MD-Ry-R5P" secondAttribute="bottom" constant="20" symbolic="YES" id="1VT-Fs-nNp"/>
|
||||
<constraint firstItem="S5h-Xx-HUG" firstAttribute="leading" secondItem="e3S-m6-k5Y" secondAttribute="leading" id="1Y0-Oh-Ev4"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" symbolic="YES" id="4af-lJ-vAL"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="leading" secondItem="S5h-Xx-HUG" secondAttribute="leading" id="7E0-aW-12T"/>
|
||||
<constraint firstItem="6MD-Ry-R5P" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="49" id="8CU-pQ-jDz"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="29" id="8oq-65-XGK"/>
|
||||
<constraint firstItem="eoD-7r-Q85" firstAttribute="leading" secondItem="sRP-xs-alR" secondAttribute="trailing" constant="8" symbolic="YES" id="GhL-we-2co"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="leading" secondItem="DiD-K0-Y43" secondAttribute="leading" id="H7k-Nh-YHo"/>
|
||||
<constraint firstAttribute="trailing" secondItem="DiD-K0-Y43" secondAttribute="trailing" constant="28" id="H8a-Jg-72h"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="leading" secondItem="sRP-xs-alR" secondAttribute="leading" id="Ij2-mo-WRt"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="qVQ-tJ-cO6" secondAttribute="leading" id="J5O-DE-8O9"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="top" secondItem="JBW-8M-eHP" secondAttribute="bottom" constant="8" symbolic="YES" id="Jkq-uJ-Wv4"/>
|
||||
<constraint firstAttribute="trailing" secondItem="wCp-nB-dda" secondAttribute="trailing" constant="25" id="Mod-B8-1Yl"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" symbolic="YES" id="R3i-gt-6zg"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="trailing" secondItem="qVQ-tJ-cO6" secondAttribute="trailing" id="WaY-S9-VQ2"/>
|
||||
<constraint firstItem="I4a-N9-Tkv" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="50" id="Wd9-qu-Mx8"/>
|
||||
<constraint firstItem="e3S-m6-k5Y" firstAttribute="top" secondItem="sRP-xs-alR" secondAttribute="top" id="Xmc-dV-VXv"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="top" secondItem="wCp-nB-dda" secondAttribute="bottom" constant="8" symbolic="YES" id="Ysd-52-5Fn"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Q2L-Fh-TW1" secondAttribute="trailing" constant="83" id="ZoL-73-xKa"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="leading" secondItem="e3S-m6-k5Y" secondAttribute="trailing" constant="8" symbolic="YES" id="ZvN-ZN-EVZ"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="baseline" secondItem="eoD-7r-Q85" secondAttribute="baseline" id="aXC-g0-ZpB"/>
|
||||
<constraint firstItem="qVQ-tJ-cO6" firstAttribute="top" secondItem="DiD-K0-Y43" secondAttribute="bottom" constant="12" id="ccj-Fd-7z7"/>
|
||||
<constraint firstItem="6MD-Ry-R5P" firstAttribute="top" secondItem="I4a-N9-Tkv" secondAttribute="bottom" constant="8" symbolic="YES" id="dPZ-gY-1am"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="36" id="dSL-lu-CVv"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="top" secondItem="Q2L-Fh-TW1" secondAttribute="bottom" constant="15" id="e6i-xd-BD3"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="edi-Ij-cuc"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="leading" secondItem="XQ5-fw-o8t" secondAttribute="leading" id="g40-g1-s29"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="trailing" secondItem="eoD-7r-Q85" secondAttribute="trailing" id="g4n-5J-iDi"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="leading" secondItem="xWv-tc-lQe" secondAttribute="trailing" constant="8" symbolic="YES" id="hoH-Lm-ihP"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="leading" secondItem="S5h-Xx-HUG" secondAttribute="trailing" constant="8" symbolic="YES" id="ibP-Bc-Xhg"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="38" id="kkG-sj-u3Y"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="top" secondItem="qVQ-tJ-cO6" secondAttribute="bottom" constant="8" symbolic="YES" id="lza-Z7-YaI"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="trailing" secondItem="sRP-xs-alR" secondAttribute="trailing" id="pfd-Yd-goI"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="centerX" secondItem="6MD-Ry-R5P" secondAttribute="centerX" id="qbH-5m-epu"/>
|
||||
<constraint firstItem="I4a-N9-Tkv" firstAttribute="top" secondItem="ayu-Tb-kmf" secondAttribute="bottom" constant="8" symbolic="YES" id="u7y-6r-Vj5"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="top" secondItem="sRP-xs-alR" secondAttribute="bottom" constant="14" id="xlZ-UD-qns"/>
|
||||
<constraint firstItem="S5h-Xx-HUG" firstAttribute="baseline" secondItem="XQ5-fw-o8t" secondAttribute="baseline" id="y3b-k3-eBU"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="centerX" secondItem="6MD-Ry-R5P" secondAttribute="centerX" id="yNP-ab-DmI"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="382" y="364"/>
|
||||
<point key="canvasLocation" x="346" y="288"/>
|
||||
</window>
|
||||
<numberFormatter formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="uE9-0u-CJW" userLabel="Port Number Formatter">
|
||||
<real key="minimum" value="128"/>
|
||||
|
||||
@@ -117,6 +117,12 @@
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="DTJ-NF-Wxr"/>
|
||||
<menuItem title="Show Logs..." id="Jfy-sf-Fhl">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="showLogs:" target="Voe-Tx-rLC" id="5FZ-Xo-DGb"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Feedback" id="W7u-7g-Gv4">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6mK-sY-xoH">
|
||||
<button hidden="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6mK-sY-xoH">
|
||||
<rect key="frame" x="14" y="13" width="291" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="Copy URL to Clipboard" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="t3T-Kd-5La">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<string>3</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
|
||||
@@ -30,12 +30,17 @@ func generateSSLocalLauchAgentPlist() -> Bool {
|
||||
|
||||
let oldSha1Sum = getFileSHA1Sum(plistFilepath)
|
||||
|
||||
let enableUdpRelay = NSUserDefaults.standardUserDefaults().boolForKey("LocalSocks5.EnableUDPRelay")
|
||||
let defaults = NSUserDefaults.standardUserDefaults()
|
||||
let enableUdpRelay = defaults.boolForKey("LocalSocks5.EnableUDPRelay")
|
||||
let enableVerboseMode = defaults.boolForKey("LocalSocks5.EnableVerboseMode")
|
||||
|
||||
var arguments = [sslocalPath, "-c", "ss-local-config.json"]
|
||||
if enableUdpRelay {
|
||||
arguments.append("-u")
|
||||
}
|
||||
if enableVerboseMode {
|
||||
arguments.append("-v")
|
||||
}
|
||||
|
||||
// For a complete listing of the keys, see the launchd.plist manual page.
|
||||
let dict: NSMutableDictionary = [
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
/* Class = "NSButtonCell"; title = "启用 Udp Replay"; ObjectID = "1C3-4s-Apd"; */
|
||||
"1C3-4s-Apd.title" = "启用 Udp Replay";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "Don't change these preferences if you have no idea what are they."; ObjectID = "8wL-qv-5nD"; */
|
||||
"8wL-qv-5nD.title" = "如果你不明白这些选项是什么,请不要修改";
|
||||
|
||||
/* Class = "NSWindow"; title = "高级设置"; ObjectID = "F0z-JX-Cv5"; */
|
||||
"F0z-JX-Cv5.title" = "高级设置";
|
||||
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
/* Class = "NSMenuItem"; title = "Global Mode"; ObjectID = "3Sa-e9-VXX"; */
|
||||
"3Sa-e9-VXX.title" = "全局模式";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Apply User Rules For PAC"; ObjectID = "6qf-cg-HXc"; */
|
||||
"6qf-cg-HXc.title" = "应用用户自定规则到 PAC";
|
||||
|
||||
/* Class = "NSMenu"; title = "Servers"; ObjectID = "9Y1-db-3HK"; */
|
||||
"9Y1-db-3HK.title" = "服务器";
|
||||
|
||||
@@ -11,6 +14,12 @@
|
||||
/* Class = "NSMenu"; title = "ShadowsocksX-NE"; ObjectID = "Hob-KD-bx9"; */
|
||||
"Hob-KD-bx9.title" = "ShadowsocksX-NE";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Show Logs..."; ObjectID = "Jfy-sf-Fhl"; */
|
||||
"Jfy-sf-Fhl.title" = "显示日志...";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "About"; ObjectID = "LgB-6g-Gba"; */
|
||||
"LgB-6g-Gba.title" = "关于";
|
||||
|
||||
/* Class = "NSMenuItem"; title = "Server Preferences..."; ObjectID = "M5r-E7-44f"; */
|
||||
"M5r-E7-44f.title" = "服务器设置...";
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,36 +0,0 @@
|
||||
//
|
||||
// ShadowsocksX_NGUITests.swift
|
||||
// ShadowsocksX-NGUITests
|
||||
//
|
||||
// Created by 邱宇舟 on 16/6/5.
|
||||
// Copyright © 2016年 qiuyuzhou. All rights reserved.
|
||||
//
|
||||
|
||||
import XCTest
|
||||
|
||||
class ShadowsocksX_NGUITests: XCTestCase {
|
||||
|
||||
override func setUp() {
|
||||
super.setUp()
|
||||
|
||||
// Put setup code here. This method is called before the invocation of each test method in the class.
|
||||
|
||||
// In UI tests it is usually best to stop immediately when a failure occurs.
|
||||
continueAfterFailure = false
|
||||
// UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
|
||||
XCUIApplication().launch()
|
||||
|
||||
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
|
||||
}
|
||||
|
||||
override func tearDown() {
|
||||
// Put teardown code here. This method is called after the invocation of each test method in the class.
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
func testExample() {
|
||||
// Use recording to get started writing UI tests.
|
||||
// Use XCTAssert and related functions to verify your tests produce the correct results.
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user