@@ -29,43 +29,111 @@ public class SignalServiceNetworkAccess {
29
29
private static final String COUNTRY_CODE_OMAN = "+968";
30
30
private static final String COUNTRY_CODE_QATAR = "+974";
31
31
32
-
private static final String SERVICE_REFLECTOR_HOST = "textsecure-service-reflected.whispersystems.org";
32
+
private static final String SERVICE_REFLECTOR_HOST = "europe-west1-signal-cdn-reflector.cloudfunctions.net";
33
33
34
-
private static final ConnectionSpec SOUQ_CONNECTION_SPEC = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
34
+
private static final ConnectionSpec GMAPS_CONNECTION_SPEC = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
35
+
.tlsVersions(TlsVersion.TLS_1_2)
36
+
.cipherSuites(CipherSuite.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
37
+
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
38
+
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
39
+
CipherSuite.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
40
+
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
41
+
CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
42
+
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
43
+
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
44
+
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
45
+
CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
46
+
CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256,
47
+
CipherSuite.TLS_RSA_WITH_AES_256_GCM_SHA384,
48
+
CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
49
+
CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA)
50
+
.supportsTlsExtensions(true)
51
+
.build();
52
+
53
+
private static final ConnectionSpec GMAIL_CONNECTION_SPEC = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
54
+
.tlsVersions(TlsVersion.TLS_1_2)
55
+
.cipherSuites(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
56
+
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
57
+
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
58
+
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
59
+
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
60
+
CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
61
+
CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256,
62
+
CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
63
+
CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA)
64
+
.supportsTlsExtensions(true)
65
+
.build();
66
+
67
+
private static final ConnectionSpec PLAY_CONNECTION_SPEC = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
35
68
.tlsVersions(TlsVersion.TLS_1_2)
36
69
.cipherSuites(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
37
70
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
38
-
CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
39
71
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
40
72
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
41
73
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
42
74
CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
43
-
CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
44
-
CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
45
75
CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256,
46
76
CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
47
77
CipherSuite.TLS_RSA_WITH_AES_256_CBC_SHA)
48
78
.supportsTlsExtensions(true)
49
79
.build();
50
80
81
+
51
82
private final Map<String, SignalServiceConfiguration> censorshipConfiguration;
52
83
private final String[] censoredCountries;
53
84
private final SignalServiceConfiguration uncensoredConfiguration;
54
85
55
86
public SignalServiceNetworkAccess(Context context) {
56
-
final TrustStore trustStore = new DomainFrontingTrustStore(context);
57
-
final SignalServiceUrl service = new SignalServiceUrl("https://cms.souqcdn.com", SERVICE_REFLECTOR_HOST, trustStore, SOUQ_CONNECTION_SPEC);
58
-
final SignalCdnUrl serviceCdn = new SignalCdnUrl("https://cms.souqcdn.com", SERVICE_REFLECTOR_HOST, trustStore, SOUQ_CONNECTION_SPEC);
59
-
final SignalContactDiscoveryUrl serviceContact = new SignalContactDiscoveryUrl("https://cms.souqcdn.com", SERVICE_REFLECTOR_HOST, trustStore, SOUQ_CONNECTION_SPEC);
60
-
final SignalServiceConfiguration serviceConfig = new SignalServiceConfiguration(new SignalServiceUrl[] { service },
61
-
new SignalCdnUrl[] { serviceCdn },
62
-
new SignalContactDiscoveryUrl[] { serviceContact });
87
+
88
+
final TrustStore trustStore = new DomainFrontingTrustStore(context);
89
+
final SignalServiceUrl baseGoogleService = new SignalServiceUrl("https://www.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
90
+
final SignalServiceUrl baseAndroidService = new SignalServiceUrl("https://android.clients.google.com", SERVICE_REFLECTOR_HOST, trustStore, PLAY_CONNECTION_SPEC);
91
+
final SignalServiceUrl mapsOneAndroidService = new SignalServiceUrl("https://clients3.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAPS_CONNECTION_SPEC);
92
+
final SignalServiceUrl mapsTwoAndroidService = new SignalServiceUrl("https://clients4.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAPS_CONNECTION_SPEC);
93
+
final SignalServiceUrl mailAndroidService = new SignalServiceUrl("https://inbox.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
94
+
final SignalServiceUrl egyptGoogleService = new SignalServiceUrl("https://www.google.com.eg", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
95
+
final SignalServiceUrl uaeGoogleService = new SignalServiceUrl("https://www.google.com.ae", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
96
+
final SignalServiceUrl omanGoogleService = new SignalServiceUrl("https://www.google.com.om", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
97
+
final SignalServiceUrl qatarGoogleService = new SignalServiceUrl("https://www.google.com.qa", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
98
+
99
+
final SignalCdnUrl baseGoogleCdn = new SignalCdnUrl("https://www.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
100
+
final SignalCdnUrl baseAndroidCdn = new SignalCdnUrl("https://android.clients.google.com", SERVICE_REFLECTOR_HOST, trustStore, PLAY_CONNECTION_SPEC);
101
+
final SignalCdnUrl mapsOneAndroidCdn = new SignalCdnUrl("https://clients3.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAPS_CONNECTION_SPEC);
102
+
final SignalCdnUrl mapsTwoAndroidCdn = new SignalCdnUrl("https://clients4.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAPS_CONNECTION_SPEC);
103
+
final SignalCdnUrl mailAndroidCdn = new SignalCdnUrl("https://inbox.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
104
+
final SignalCdnUrl egyptGoogleCdn = new SignalCdnUrl("https://www.google.com.eg", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
105
+
final SignalCdnUrl uaeGoogleCdn = new SignalCdnUrl("https://www.google.com.ae", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
106
+
final SignalCdnUrl omanGoogleCdn = new SignalCdnUrl("https://www.google.com.om", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
107
+
final SignalCdnUrl qatarGoogleCdn = new SignalCdnUrl("https://www.google.com.qa", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
108
+
109
+
final SignalContactDiscoveryUrl baseGoogleDiscovery = new SignalContactDiscoveryUrl("https://www.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
110
+
final SignalContactDiscoveryUrl baseAndroidDiscovery = new SignalContactDiscoveryUrl("https://android.clients.google.com", SERVICE_REFLECTOR_HOST, trustStore, PLAY_CONNECTION_SPEC);
111
+
final SignalContactDiscoveryUrl mapsOneAndroidDiscovery = new SignalContactDiscoveryUrl("https://clients3.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAPS_CONNECTION_SPEC);
112
+
final SignalContactDiscoveryUrl mapsTwoAndroidDiscovery = new SignalContactDiscoveryUrl("https://clients4.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAPS_CONNECTION_SPEC);
113
+
final SignalContactDiscoveryUrl mailAndroidDiscovery = new SignalContactDiscoveryUrl("https://inbox.google.com", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
114
+
final SignalContactDiscoveryUrl egyptGoogleDiscovery = new SignalContactDiscoveryUrl("https://www.google.com.eg", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
115
+
final SignalContactDiscoveryUrl uaeGoogleDiscovery = new SignalContactDiscoveryUrl("https://www.google.com.ae", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
116
+
final SignalContactDiscoveryUrl omanGoogleDiscovery = new SignalContactDiscoveryUrl("https://www.google.com.om", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
117
+
final SignalContactDiscoveryUrl qatarGoogleDiscovery = new SignalContactDiscoveryUrl("https://www.google.com.qa", SERVICE_REFLECTOR_HOST, trustStore, GMAIL_CONNECTION_SPEC);
118
+
63
119
64
120
this.censorshipConfiguration = new HashMap<String, SignalServiceConfiguration>() {{
65
-
put(COUNTRY_CODE_EGYPT, serviceConfig);
66
-
put(COUNTRY_CODE_UAE, serviceConfig);
67
-
put(COUNTRY_CODE_OMAN, serviceConfig);
68
-
put(COUNTRY_CODE_QATAR, serviceConfig);
121
+
put(COUNTRY_CODE_EGYPT, new SignalServiceConfiguration(new SignalServiceUrl[] {egyptGoogleService, baseGoogleService, baseAndroidService, mapsOneAndroidService, mapsTwoAndroidService, mailAndroidService},
122
+
new SignalCdnUrl[] {egyptGoogleCdn, baseAndroidCdn, baseGoogleCdn, mapsOneAndroidCdn, mapsTwoAndroidCdn, mailAndroidCdn, mailAndroidCdn},
123
+
new SignalContactDiscoveryUrl[] {egyptGoogleDiscovery, baseGoogleDiscovery, baseAndroidDiscovery, mapsOneAndroidDiscovery, mapsTwoAndroidDiscovery, mailAndroidDiscovery}));
124
+
125
+
put(COUNTRY_CODE_UAE, new SignalServiceConfiguration(new SignalServiceUrl[] {uaeGoogleService, baseAndroidService, baseGoogleService, mapsOneAndroidService, mapsTwoAndroidService, mailAndroidService},
126
+
new SignalCdnUrl[] {uaeGoogleCdn, baseAndroidCdn, baseGoogleCdn, mapsOneAndroidCdn, mapsTwoAndroidCdn, mailAndroidCdn},
127
+
new SignalContactDiscoveryUrl[] {uaeGoogleDiscovery, baseGoogleDiscovery, baseAndroidDiscovery, mapsOneAndroidDiscovery, mapsTwoAndroidDiscovery, mailAndroidDiscovery}));
128
+
129
+
put(COUNTRY_CODE_OMAN, new SignalServiceConfiguration(new SignalServiceUrl[] {omanGoogleService, baseAndroidService, baseGoogleService, mapsOneAndroidService, mapsTwoAndroidService, mailAndroidService},
130
+
new SignalCdnUrl[] {omanGoogleCdn, baseAndroidCdn, baseGoogleCdn, mapsOneAndroidCdn, mapsTwoAndroidCdn, mailAndroidCdn},
131
+
new SignalContactDiscoveryUrl[] {omanGoogleDiscovery, baseGoogleDiscovery, baseAndroidDiscovery, mapsOneAndroidDiscovery, mapsTwoAndroidDiscovery, mailAndroidDiscovery}));
132
+
133
+
134
+
put(COUNTRY_CODE_QATAR, new SignalServiceConfiguration(new SignalServiceUrl[] {qatarGoogleService, baseAndroidService, baseGoogleService, mapsOneAndroidService, mapsTwoAndroidService, mailAndroidService},
135
+
new SignalCdnUrl[] {qatarGoogleCdn, baseAndroidCdn, baseGoogleCdn, mapsOneAndroidCdn, mapsTwoAndroidCdn, mailAndroidCdn},
136
+
new SignalContactDiscoveryUrl[] {qatarGoogleDiscovery, baseGoogleDiscovery, baseAndroidDiscovery, mapsOneAndroidDiscovery, mapsTwoAndroidDiscovery, mailAndroidDiscovery}));
69
137
}};
70
138
71
139
this.uncensoredConfiguration = new SignalServiceConfiguration(new SignalServiceUrl[] {new SignalServiceUrl(BuildConfig.SIGNAL_URL, new SignalServiceTrustStore(context))},
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4