Skip to content

Commit beeac1f

Browse files
chore: use probe-cli v3.19.0 (#534)
Part of ooni/probe#2524 ## Proposed Changes - Enable `echcheck` ooni/probe#2567. - Enable. `riseupvpn`. - Add support for appending errors --------- Co-authored-by: Simone Basso <[email protected]>
1 parent 9602f41 commit beeac1f

File tree

9 files changed

+112
-22
lines changed

9 files changed

+112
-22
lines changed

Podfile

+13-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ use_frameworks!
33
inhibit_all_warnings!
44

55
target 'ooniprobe' do
6-
pod "oonimkall", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.18.1/oonimkall.podspec"
6+
pod "libcrypto", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libcrypto.podspec"
7+
pod "libevent", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libevent.podspec"
8+
pod "libssl", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libssl.podspec"
9+
pod "libtor", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libtor.podspec"
10+
pod "libz", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libz.podspec"
11+
pod "oonimkall", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/oonimkall.podspec"
712
pod 'Toast', '~> 4.0.0'
813
pod 'MBProgressHUD'
914
pod 'DZNEmptyDataSet'
@@ -19,7 +24,12 @@ target 'ooniprobe' do
1924
end
2025

2126
target 'OONIProbeUnitTests' do
22-
pod "oonimkall", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.18.1/oonimkall.podspec"
27+
pod "libcrypto", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libcrypto.podspec"
28+
pod "libevent", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libevent.podspec"
29+
pod "libssl", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libssl.podspec"
30+
pod "libtor", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libtor.podspec"
31+
pod "libz", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/libz.podspec"
32+
pod "oonimkall", :podspec => "https://github.com/ooni/probe-cli/releases/download/v3.19.0/oonimkall.podspec"
2333
pod 'SharkORM', :git => 'https://github.com/sharksync/sharkorm', :tag => 'v2.3.67'
2434
pod 'OCMapper', '2.0'
2535
end
@@ -28,7 +38,7 @@ post_install do |installer|
2838
installer.generated_projects.each do |project|
2939
project.targets.each do |target|
3040
target.build_configurations.each do |config|
31-
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
41+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
3242
end
3343
end
3444
end

Podfile.lock

+30-5
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@ PODS:
55
- DateTools (2.0.0)
66
- DZNEmptyDataSet (1.8.1)
77
- Harpy (4.1.14)
8+
- libcrypto (2023.10.20-093053)
9+
- libevent (2023.10.20-093053)
10+
- libssl (2023.10.20-093053)
11+
- libtor (2023.10.20-093053)
12+
- libz (2023.10.20-093053)
813
- lottie-ios (2.5.3)
914
- MBProgressHUD (1.2.0)
1015
- MKDropdownMenu (1.4)
1116
- OCMapper (2.0)
12-
- oonimkall (2023.07.18-162800)
17+
- oonimkall (2023.10.20-093053)
1318
- RHMarkdownLabel (0.0.1):
1419
- TTTAttributedLabel
1520
- XNGMarkdownParser
@@ -26,11 +31,16 @@ DEPENDENCIES:
2631
- DateTools
2732
- DZNEmptyDataSet
2833
- Harpy
34+
- libcrypto (from `https://github.com/ooni/probe-cli/releases/download/v3.19.0/libcrypto.podspec`)
35+
- libevent (from `https://github.com/ooni/probe-cli/releases/download/v3.19.0/libevent.podspec`)
36+
- libssl (from `https://github.com/ooni/probe-cli/releases/download/v3.19.0/libssl.podspec`)
37+
- libtor (from `https://github.com/ooni/probe-cli/releases/download/v3.19.0/libtor.podspec`)
38+
- libz (from `https://github.com/ooni/probe-cli/releases/download/v3.19.0/libz.podspec`)
2939
- lottie-ios (= 2.5.3)
3040
- MBProgressHUD
3141
- MKDropdownMenu
3242
- OCMapper (= 2.0)
33-
- oonimkall (from `https://github.com/ooni/probe-cli/releases/download/v3.18.1/oonimkall.podspec`)
43+
- oonimkall (from `https://github.com/ooni/probe-cli/releases/download/v3.19.0/oonimkall.podspec`)
3444
- RHMarkdownLabel
3545
- Sentry (from `https://github.com/getsentry/sentry-cocoa.git`, tag `6.1.4`)
3646
- SharkORM (from `https://github.com/sharksync/sharkorm`, tag `v2.3.67`)
@@ -52,8 +62,18 @@ SPEC REPOS:
5262
- XNGMarkdownParser
5363

5464
EXTERNAL SOURCES:
65+
libcrypto:
66+
:podspec: https://github.com/ooni/probe-cli/releases/download/v3.19.0/libcrypto.podspec
67+
libevent:
68+
:podspec: https://github.com/ooni/probe-cli/releases/download/v3.19.0/libevent.podspec
69+
libssl:
70+
:podspec: https://github.com/ooni/probe-cli/releases/download/v3.19.0/libssl.podspec
71+
libtor:
72+
:podspec: https://github.com/ooni/probe-cli/releases/download/v3.19.0/libtor.podspec
73+
libz:
74+
:podspec: https://github.com/ooni/probe-cli/releases/download/v3.19.0/libz.podspec
5575
oonimkall:
56-
:podspec: https://github.com/ooni/probe-cli/releases/download/v3.18.1/oonimkall.podspec
76+
:podspec: https://github.com/ooni/probe-cli/releases/download/v3.19.0/oonimkall.podspec
5777
Sentry:
5878
:git: https://github.com/getsentry/sentry-cocoa.git
5979
:tag: 6.1.4
@@ -74,18 +94,23 @@ SPEC CHECKSUMS:
7494
DateTools: 933ac9c490f21f92127cf690ccd8c397e0126caf
7595
DZNEmptyDataSet: 9525833b9e68ac21c30253e1d3d7076cc828eaa7
7696
Harpy: b2fbe6819f6a8932df32d7cd2fb20f442df86bbc
97+
libcrypto: 7ca9f969d54aac0eebf5263b2b8c3fd97908bc64
98+
libevent: e4bab8744d4d57090e69ac6235fdf4714909d2ad
99+
libssl: eaba80b0e1eea4250828e71655b99ede4ac4368b
100+
libtor: ae56e6fcc080a2c030c8b583cf06037872edd62f
101+
libz: 057607e787b238fee3a922d3bf52ab3fd7b7c443
77102
lottie-ios: a50d5c0160425cd4b01b852bb9578963e6d92d31
78103
MBProgressHUD: 3ee5efcc380f6a79a7cc9b363dd669c5e1ae7406
79104
MKDropdownMenu: 269df4a41d21a1db684ce8bc709befe419fc5bae
80105
OCMapper: 9b4d542543794c42adc01f1493d894f53e193cb0
81-
oonimkall: 7765766adbf7284e866fee5590acf55b1b76995e
106+
oonimkall: 63533c51420ad15121fd18800ed82639b6e813fa
82107
RHMarkdownLabel: 81d6772768e621be57302b7fd5212ad4f78fb0bd
83108
Sentry: 9d055e2de30a77685e86b219acf02e59b82091fc
84109
SharkORM: 252e4411923110ac1b524a993ee2b3fa13eed7c4
85110
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
86111
TTTAttributedLabel: 8cffe8e127e4e82ff3af1e5386d4cd0ad000b656
87112
XNGMarkdownParser: aed98c14f0c0eb20064184ddf9bac26c482722b2
88113

89-
PODFILE CHECKSUM: e82378591e42a948797afaec35b1efccdb5765ac
114+
PODFILE CHECKSUM: cee8da05f005fec950d2db112132f04f0ba3adc9
90115

91116
COCOAPODS: 1.13.0

ooniprobe.xcodeproj/project.pbxproj

+12-2
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,11 @@
224224
7940AA8F28117E9000C0EB5D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
225225
7940AA972811840900C0EB5D /* share.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = share.entitlements; sourceTree = "<group>"; };
226226
79780FCE27E9F18E002A38B1 /* Languages.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Languages.plist; sourceTree = "<group>"; };
227+
7A8CB0932ADDDAC1005AB2BC /* libcrypto.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libcrypto.xcframework; path = Pods/libcrypto/libcrypto.xcframework; sourceTree = "<group>"; };
228+
7A8CB0942ADDDAC1005AB2BC /* libevent.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libevent.xcframework; path = Pods/libevent/libevent.xcframework; sourceTree = "<group>"; };
229+
7A8CB0952ADDDAC1005AB2BC /* libssl.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libssl.xcframework; path = Pods/libssl/libssl.xcframework; sourceTree = "<group>"; };
230+
7A8CB0962ADDDAC1005AB2BC /* libtor.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libtor.xcframework; path = Pods/libtor/libtor.xcframework; sourceTree = "<group>"; };
231+
7A8CB0972ADDDAC1005AB2BC /* libz.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = libz.xcframework; path = Pods/libz/libz.xcframework; sourceTree = "<group>"; };
227232
79AA093C2A86E44400C23E27 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = "<group>"; };
228233
79AA093D2A86E47600C23E27 /* my */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = my; path = my.lproj/Localizable.strings; sourceTree = "<group>"; };
229234
7AED19802A6EC9A2003B265A /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; };
@@ -1151,6 +1156,11 @@
11511156
F4F15431D4412F561191270F /* Frameworks */ = {
11521157
isa = PBXGroup;
11531158
children = (
1159+
7A8CB0932ADDDAC1005AB2BC /* libcrypto.xcframework */,
1160+
7A8CB0942ADDDAC1005AB2BC /* libevent.xcframework */,
1161+
7A8CB0952ADDDAC1005AB2BC /* libssl.xcframework */,
1162+
7A8CB0962ADDDAC1005AB2BC /* libtor.xcframework */,
1163+
7A8CB0972ADDDAC1005AB2BC /* libz.xcframework */,
11541164
7AED19802A6EC9A2003B265A /* libresolv.tbd */,
11551165
7AED19822A6EC9C7003B265A /* libresolv.tbd */,
11561166
ED3582311FE948580078CCEE /* libsqlite3.tbd */,
@@ -2022,7 +2032,7 @@
20222032
IBC_WARNINGS = NO;
20232033
IBSC_WARNINGS = NO;
20242034
INFOPLIST_FILE = ooniprobe/Info.plist;
2025-
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
2035+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
20262036
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
20272037
LIBRARY_SEARCH_PATHS = "$(inherited)";
20282038
MARKETING_VERSION = 3.8.3;
@@ -2072,7 +2082,7 @@
20722082
IBC_WARNINGS = NO;
20732083
IBSC_WARNINGS = NO;
20742084
INFOPLIST_FILE = ooniprobe/Info.plist;
2075-
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
2085+
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
20762086
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
20772087
LIBRARY_SEARCH_PATHS = "$(inherited)";
20782088
MARKETING_VERSION = 3.8.3;

ooniprobe/Test/Suite/ExperimentalSuite.m

+3-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ - (id)init {
1414
- (NSArray *)getTestList {
1515
if ([self.testList count] == 0) {
1616
if ([SettingsUtility isExperimentalTestEnabled]) {
17+
[self.testList addObject:[[Experimental alloc] initWithName:@"stunreachability"]];
18+
[self.testList addObject:[[Experimental alloc] initWithName:@"dnscheck"]];
19+
[self.testList addObject:[[Experimental alloc] initWithName:@"echcheck"]];
1720
if ([SettingsUtility isLongRunningTestsInForegroundEnabled] || self.autoRun) {
1821
[self.testList addObject:[[Experimental alloc] initWithName:@"torsf"]];
1922
[self.testList addObject:[[Experimental alloc] initWithName:@"vanilla_tor"]];
2023
}
21-
[self.testList addObject:[[Experimental alloc] initWithName:@"stunreachability"]];
22-
[self.testList addObject:[[Experimental alloc] initWithName:@"dnscheck"]];
2324
}
2425
}
2526
return super.getTestList;

ooniprobe/Test/Test/AbstractTest.m

+5-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,11 @@ -(void)runTest{
183183
}
184184
else if ([event.key isEqualToString:@"failure.startup"] ||
185185
[event.key isEqualToString:@"failure.resolver_lookup"]) {
186-
[self.result setFailure_msg:event.value.failure];
186+
if([self.result failure_msg] == nil){
187+
[self.result setFailure_msg:event.value.failure];
188+
} else {
189+
[self.result setFailure_msg:[NSString stringWithFormat:@"%@\n\n%@", [self.result failure_msg], event.value.failure]];
190+
}
187191
[self.result save];
188192
[ThirdPartyServices recordError:@"failure"
189193
reason:event.key

ooniprobe/Utility/LocalizationUtility.m

+2-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ + (NSString*)getLongDescriptionForTest:(NSString*)testName{
6363
return NSLocalizedFormatString(@"Dashboard.Experimental.Overview.Paragraph",
6464
[NSString stringWithFormat:@"%@ %@ %@",
6565
@"\n\n- [STUN Reachability](https://github.com/ooni/spec/blob/master/nettests/ts-025-stun-reachability.md) "
66-
"\n\n- [DNS Check](https://github.com/ooni/spec/blob/master/nettests/ts-028-dnscheck.md) ",
66+
"\n\n- [DNS Check](https://github.com/ooni/spec/blob/master/nettests/ts-028-dnscheck.md) "
67+
"\n\n- [ECH Check](https://github.com/ooni/spec/blob/master/nettests/ts-039-echcheck.md)",
6768
[NSString stringWithFormat:@"%@ ( %@ )", @"\n\n- [Tor Snowflake](https://ooni.org/nettest/tor-snowflake/) ",NSLocalizedFormatString(@"Settings.TestOptions.LongRunningTest",nil)],
6869
[NSString stringWithFormat:@"%@ ( %@ )", @"\n\n- [Vanilla Tor](https://github.com/ooni/spec/blob/master/nettests/ts-016-vanilla-tor.md) ",NSLocalizedFormatString(@"Settings.TestOptions.LongRunningTest",nil)]
6970
]);

ooniprobe/Utility/ProxySettings.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
typedef NS_ENUM(NSInteger, ProxyProtocol) {
44
NONE,
55
PSIPHON,
6-
SOCKS5
6+
SOCKS5,
7+
HTTP,
8+
HTTPS
79
};
810

911
@interface ProxySettings : NSObject

ooniprobe/Utility/ProxySettings.m

+28-3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ - (id) init {
1212
self.protocol = PSIPHON;
1313
} else if ([protocol isEqualToString:[ProxySettings getProtocol:SOCKS5]]) {
1414
self.protocol = SOCKS5;
15+
} else if ([protocol isEqualToString:[ProxySettings getProtocol:HTTP]]) {
16+
self.protocol = HTTP;
17+
} else if ([protocol isEqualToString:[ProxySettings getProtocol:HTTPS]]) {
18+
self.protocol = HTTPS;
1519
} else {
1620
// This is where we will extend the code to add support for
1721
// more proxies, e.g., HTTP proxies.
@@ -30,7 +34,7 @@ - (void)saveProxy{
3034
}
3135

3236
- (BOOL)isCustom{
33-
if (self.protocol == SOCKS5)
37+
if (self.protocol == SOCKS5 || self.protocol == HTTP || self.protocol == HTTPS)
3438
return true;
3539
return false;
3640
}
@@ -46,7 +50,22 @@ - (NSString*)getProxyString{
4650
if ([ProxySettings isIPv6:self.hostname]) {
4751
urlStr = [NSString stringWithFormat:@"socks5://[%@]:%@/", self.hostname, self.port]; // IPv6 must be quoted in URLs
4852
}
49-
//URI url = new URI(urlStr);
53+
return urlStr;
54+
}
55+
if (self.protocol == HTTP) {
56+
// Alright, we now need to construct a new HTTP URL.
57+
NSString *urlStr = [NSString stringWithFormat:@"http://%@:%@/", self.hostname, self.port];
58+
if ([ProxySettings isIPv6:self.hostname]) {
59+
urlStr = [NSString stringWithFormat:@"http://[%@]:%@/", self.hostname, self.port]; // IPv6 must be quoted in URLs
60+
}
61+
return urlStr;
62+
}
63+
if (self.protocol == HTTPS) {
64+
// Alright, we now need to construct a new HTTPS URL.
65+
NSString *urlStr = [NSString stringWithFormat:@"https://%@:%@/", self.hostname, self.port];
66+
if ([ProxySettings isIPv6:self.hostname]) {
67+
urlStr = [NSString stringWithFormat:@"https://[%@]:%@/", self.hostname, self.port]; // IPv6 must be quoted in URLs
68+
}
5069
return urlStr;
5170
}
5271
return @"";
@@ -69,7 +88,13 @@ + (NSString*)getProtocol:(ProxyProtocol) protocol {
6988
result = @"proxy_psiphon";
7089
break;
7190
case SOCKS5:
72-
result = @"SOCKS5";
91+
result = @"socks5";
92+
break;
93+
case HTTP:
94+
result = @"http";
95+
break;
96+
case HTTPS:
97+
result = @"https";
7398
break;
7499
default:
75100
result = @"unknown";

ooniprobe/View/Settings/ProxyViewController.m

+16-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ - (void)reloadRows{
3333
@[[ProxySettings getProtocol:NONE],
3434
[ProxySettings getProtocol:PSIPHON],
3535
@"proxy_custom"],
36-
@[[ProxySettings getProtocol:SOCKS5]],
36+
@[
37+
[ProxySettings getProtocol:SOCKS5],
38+
[ProxySettings getProtocol:HTTP],
39+
[ProxySettings getProtocol:HTTPS]
40+
],
3741
@[@"proxy_hostname", @"proxy_port"]];
3842
else
3943
items = @[@[[ProxySettings getProtocol:NONE],
@@ -124,15 +128,23 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
124128
else if (indexPath.row == 1)
125129
currentProxy.protocol = PSIPHON;
126130
if (indexPath.row == 2)
127-
[self setCustom];
131+
[self setCustom:SOCKS5];
132+
[self reloadRows];
133+
} else if (indexPath.section == 1){
134+
if (indexPath.row == 0)
135+
[self setCustom:SOCKS5];
136+
else if (indexPath.row == 1)
137+
[self setCustom:HTTP];
138+
else if (indexPath.row == 2)
139+
[self setCustom:HTTPS];
128140
[self reloadRows];
129141
}
130142
//[self.view endEditing:YES];
131143
[tableView deselectRowAtIndexPath:indexPath animated:YES];
132144
}
133145

134-
-(void)setCustom {
135-
currentProxy.protocol = SOCKS5;
146+
- (void)setCustom:(enum ProxyProtocol)protocol {
147+
currentProxy.protocol = protocol;
136148
}
137149

138150
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

0 commit comments

Comments
 (0)