Skip to content

Commit 7d0aa0f

Browse files
committed
Merge branch 'master' of github.com:guardianproject/orbot
2 parents 3796825 + 5308d26 commit 7d0aa0f

34 files changed

Lines changed: 9045 additions & 144 deletions

app/build.gradle.kts

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ fun getVersionName(): String {
2020

2121
configure<ApplicationExtension> {
2222
namespace = "org.torproject.android"
23-
compileSdk = 36
23+
compileSdk {
24+
version = release(36) {
25+
minorApiLevel = 1
26+
}
27+
}
2428

2529
defaultConfig {
2630
applicationId = namespace
@@ -164,14 +168,19 @@ dependencies {
164168
implementation(libs.kotlinx.serialization.json)
165169
implementation(libs.androidx.work.kotlin)
166170
implementation(libs.upnp)
171+
172+
// IPtProxy, for Snowflake, obfs4, dnstt and all other pluggable transports
167173
implementation(libs.iptproxy)
174+
// uncomment to use a local build of IPtProxy:
175+
// implementation(files("../../IPtProxy/IPtProxy.aar"))
176+
168177
implementation(libs.quickie)
169178

170179
// Tor
171180
implementation(files("../libs/geoip.jar"))
172181
api(libs.guardian.jtorctl)
173182
api(libs.tor.android)
174-
// local tor-android:
183+
// uncomment to use a local build of tor-android:
175184
// api(files("../../tor-android/tor-android-binary/build/outputs/aar/tor-android-binary-debug.aar"))
176185

177186
testImplementation(libs.junit.jupiter)
@@ -236,6 +245,18 @@ val updateBuiltinBridges by tasks.registering {
236245
}
237246
}
238247
println("Successfully fetched builtin bridges.")
248+
249+
for (country in listOf("ae", "af", "bd", "cn", "co", "global", "id", "ir", "kw", "pk", "qa", "ru", "sy", "tr", "ug", "uz")) {
250+
URI("https://raw.githubusercontent.com/dnstt-xyz/dnstt_xyz_app/refs/heads/main/assets/dns/$country.json")
251+
.toURL()
252+
.openStream()
253+
.use { input ->
254+
assetsDir.file("dns-$country.json").asFile.outputStream().use { output ->
255+
input.copyTo(output)
256+
}
257+
}
258+
println("Successfully fetched dns-$country.json.")
259+
}
239260
} catch (e: Exception) {
240261
throw GradleException("ERROR: Could not fetch builtin bridges: ${e.message}", e)
241262
}

app/proguard-rules.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,4 @@
44

55
-keepattributes Signature
66
-keepattributes Annotation
7-
-keep class okhttp3.** { *; }
8-
-keep interface okhttp3.** { *; }
9-
-dontwarn okhttp3.**
10-
-dontwarn okio.**
7+

app/src/main/assets/dns-ae.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"country": "United Arab Emirates",
3+
"countryCode": "ae",
4+
"description": "Public DNS servers for use in United Arab Emirates",
5+
"lastUpdated": "2026-01-19",
6+
"servers": [
7+
{"name": "Sharjah - Emirates Internet 1", "ip": "83.110.139.58"},
8+
{"name": "Dubai - du 1", "ip": "5.32.90.30"},
9+
{"name": "Dubai - IPTP", "ip": "185.65.175.161"},
10+
{"name": "Dubai - du 2", "ip": "94.203.136.10"},
11+
{"name": "Dubai - du 3", "ip": "91.72.205.67"},
12+
{"name": "Dubai - du 4", "ip": "94.200.240.129"},
13+
{"name": "Dubai - du 5", "ip": "91.74.90.206"},
14+
{"name": "Dubai - du 6", "ip": "91.73.167.42"},
15+
{"name": "Sharjah - Emirates Internet 2", "ip": "217.164.255.35"},
16+
{"name": "Dubai - du 7", "ip": "80.227.38.26"},
17+
{"name": "Dubai - M247", "ip": "45.9.250.164"},
18+
{"name": "Dubai - du 8", "ip": "94.206.40.206"},
19+
{"name": "Dubai - du 9", "ip": "94.205.48.254"},
20+
{"name": "Dubai - du 10", "ip": "94.200.137.30"},
21+
{"name": "Dubai - du 11", "ip": "94.206.40.14"},
22+
{"name": "Dubai - du 12", "ip": "5.32.55.10"},
23+
{"name": "Abu Dhabi - du 1", "ip": "91.74.66.94"},
24+
{"name": "Dubai - du 13", "ip": "94.200.134.30"},
25+
{"name": "Dubai - du 14", "ip": "87.201.133.18"},
26+
{"name": "Abu Dhabi - du 2", "ip": "94.200.81.142"},
27+
{"name": "Dubai - du 15", "ip": "5.32.72.134"},
28+
{"name": "Dubai - du 16", "ip": "87.201.133.14"},
29+
{"name": "Dubai - du 17", "ip": "94.205.48.98"},
30+
{"name": "Sharjah - du", "ip": "94.200.80.94"},
31+
{"name": "Abu Dhabi - du 3", "ip": "94.205.51.210"},
32+
{"name": "Dubai - du 18", "ip": "91.73.236.195"},
33+
{"name": "Dubai - Etisalat", "ip": "217.164.255.37"},
34+
{"name": "Dubai - Microsoft Azure", "ip": "20.203.17.58"},
35+
{"name": "Abu Dhabi - du 4", "ip": "91.74.88.86"},
36+
{"name": "Dubai - du 19", "ip": "94.206.42.82"},
37+
{"name": "Dubai - Microsoft Azure 2", "ip": "20.203.40.214"},
38+
{"name": "Dubai - Etisalat 2", "ip": "86.96.197.235"}
39+
]
40+
}

app/src/main/assets/dns-af.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"country": "Afghanistan",
3+
"countryCode": "af",
4+
"description": "Public DNS servers for use in Afghanistan",
5+
"lastUpdated": "2026-01-19",
6+
"servers": [
7+
{"name": "Kabul - Afghan Telecom 1", "ip": "180.94.94.195"},
8+
{"name": "Kabul - Afghan Telecom 2", "ip": "180.94.94.194"}
9+
]
10+
}

app/src/main/assets/dns-bd.json

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
{
2+
"country": "Bangladesh",
3+
"countryCode": "bd",
4+
"description": "Public DNS servers for use in Bangladesh",
5+
"lastUpdated": "2026-01-19",
6+
"servers": [
7+
{"name": "Tejgaon - Speed 69 Net 1", "ip": "103.145.165.206"},
8+
{"name": "Comilla - KR Online", "ip": "103.235.162.20"},
9+
{"name": "Tongi - NS Net Connection 1", "ip": "103.174.224.87"},
10+
{"name": "Tongi - City Online 1", "ip": "202.91.42.253"},
11+
{"name": "Tongi - City Online 2", "ip": "202.91.41.242"},
12+
{"name": "Tejgaon - Speed 69 Net 2", "ip": "103.145.164.203"},
13+
{"name": "Dhaka - Posh Communication 1", "ip": "103.186.252.218"},
14+
{"name": "Tongi - Shamsuzzaman 1", "ip": "103.122.252.81"},
15+
{"name": "Barishal 1", "ip": "103.17.176.251"},
16+
{"name": "Narsingdi - Netscope 1", "ip": "103.77.188.18"},
17+
{"name": "Narsingdi - Netscope 2", "ip": "103.77.188.19"},
18+
{"name": "Chittagong - Smart Link 1", "ip": "103.141.200.98"},
19+
{"name": "Tongi - Adel Online", "ip": "103.115.118.210"},
20+
{"name": "Chittagong - Easy Net", "ip": "103.103.88.39"},
21+
{"name": "Dhaka - Bandhon Enterprise 1", "ip": "103.148.178.3"},
22+
{"name": "Dhaka - Posh Communication 2", "ip": "103.186.252.29"},
23+
{"name": "Bhatara - Jhongkar IT 1", "ip": "103.151.171.65"},
24+
{"name": "Barishal 2", "ip": "103.17.176.3"},
25+
{"name": "Tongi - NS Net Connection 2", "ip": "103.174.224.124"},
26+
{"name": "Dhaka 1", "ip": "103.170.172.38"},
27+
{"name": "Barishal 3", "ip": "103.17.176.173"},
28+
{"name": "Hajiganj - Star Communication 1", "ip": "103.112.204.37"},
29+
{"name": "Dhaka - Bandhon Enterprise 2", "ip": "103.148.178.80"},
30+
{"name": "Dhaka - Mir Internet", "ip": "103.148.40.145"},
31+
{"name": "Tejgaon - Speed 69 Net 3", "ip": "103.145.164.153"},
32+
{"name": "Nalta Sharif - MBSM 1", "ip": "103.183.141.12"},
33+
{"name": "Kafrul - Liza Online 1", "ip": "103.173.106.86"},
34+
{"name": "Barishal 4", "ip": "103.17.176.31"},
35+
{"name": "Kafrul - Liza Online 2", "ip": "103.173.106.148"},
36+
{"name": "Dhaka - Alifa Cyber 1", "ip": "103.146.84.10"},
37+
{"name": "Tongi - NS Net Connection 3", "ip": "103.174.224.50"},
38+
{"name": "Dhaka - Orange Communication 1", "ip": "45.117.63.224"},
39+
{"name": "Dhaka - Orange Communication 2", "ip": "45.117.63.42"},
40+
{"name": "Tongi - NS Net Connection 4", "ip": "103.174.224.41"},
41+
{"name": "Dhaka - Jhongkar IT 2", "ip": "103.151.171.137"},
42+
{"name": "Dhaka - Bandhon Enterprise 3", "ip": "103.148.178.77"},
43+
{"name": "Barishal - Sky Business 1", "ip": "103.17.176.215"},
44+
{"name": "Dhaka - Virgo Communication", "ip": "144.48.115.72"},
45+
{"name": "Kafrul - AG Communication 1", "ip": "103.170.172.220"},
46+
{"name": "Tongi - Shamsuzzaman 2", "ip": "103.122.252.82"},
47+
{"name": "Satkhira - Nalta Vision 1", "ip": "103.154.16.58"},
48+
{"name": "Matuail - Super Fast 1", "ip": "103.155.174.109"},
49+
{"name": "Kafrul - Liza Online 3", "ip": "103.173.106.182"},
50+
{"name": "Satkhira - Nalta Vision 2", "ip": "103.154.16.32"},
51+
{"name": "Sonargaon - Star Communication 2", "ip": "103.112.207.159"},
52+
{"name": "Nalta Sharif - MBSM 2", "ip": "103.183.141.15"},
53+
{"name": "Paltan - E-Jogajog 1", "ip": "103.178.72.203"},
54+
{"name": "Paltan - E-Jogajog 2", "ip": "103.178.73.54"},
55+
{"name": "Dhaka - Orange Communication 3", "ip": "45.117.63.184"},
56+
{"name": "Netrakona - Maya Soft 1", "ip": "103.153.48.25"},
57+
{"name": "Barishal 5", "ip": "103.17.176.81"},
58+
{"name": "Dhaka - Dhaka Fiber Net", "ip": "27.131.13.170"},
59+
{"name": "Dhaka 2", "ip": "103.181.123.36"},
60+
{"name": "Dhaka - Bandhon Enterprise 4", "ip": "103.148.178.161"},
61+
{"name": "Tongi - City Online 3", "ip": "202.91.42.252"},
62+
{"name": "Barishal - Sky Business 2", "ip": "103.17.176.73"},
63+
{"name": "Kafrul - AG Communication 2", "ip": "103.170.172.95"},
64+
{"name": "Matuail - Super Fast 2", "ip": "103.155.174.87"},
65+
{"name": "Dhaka - Digi Jadoo", "ip": "180.149.232.56"},
66+
{"name": "Dhaka - Orange Communication 4", "ip": "45.117.63.107"},
67+
{"name": "Dhaka - Speed 69 Net 4", "ip": "103.145.164.50"},
68+
{"name": "Bhatara - Jhongkar IT 3", "ip": "103.151.171.58"},
69+
{"name": "Bhatpara - Red Network", "ip": "103.16.25.21"},
70+
{"name": "Tongi 1", "ip": "103.168.90.81"},
71+
{"name": "Dhaka 3", "ip": "103.170.172.164"},
72+
{"name": "Satkhira - Nalta Vision 3", "ip": "103.154.16.34"},
73+
{"name": "Kafrul - AG Communication 3", "ip": "103.170.172.232"},
74+
{"name": "Dhaka - Race Online", "ip": "103.204.80.149"},
75+
{"name": "Khulna - HM Communication", "ip": "103.156.239.106"},
76+
{"name": "Nalta Sharif - MBSM 3", "ip": "103.183.141.233"},
77+
{"name": "Paltan - E-Jogajog 3", "ip": "103.178.73.58"},
78+
{"name": "Dhaka - Posh Communication 3", "ip": "103.186.253.185"},
79+
{"name": "Matuail - Alifa Cyber 2", "ip": "103.146.85.180"},
80+
{"name": "Matuail - Super Fast 3", "ip": "103.155.174.113"},
81+
{"name": "Dhaka - AG Communication 4", "ip": "103.170.172.199"},
82+
{"name": "Chittagong - Smart Link 2", "ip": "103.141.200.12"},
83+
{"name": "Gafargaon - First Network", "ip": "103.174.230.251"},
84+
{"name": "Mymensingh - Maya Soft 2", "ip": "103.153.49.251"},
85+
{"name": "Tejgaon - Speed 69 Net 5", "ip": "103.145.165.7"},
86+
{"name": "Khulna - Shafi Enterprise", "ip": "103.175.232.251"},
87+
{"name": "Dhaka - ICC Communication 1", "ip": "144.48.109.239"},
88+
{"name": "Kafrul - Liza Online 4", "ip": "103.173.106.237"},
89+
{"name": "Barishal - Isha Network", "ip": "103.17.177.73"},
90+
{"name": "Dhaka - Bengal Broadband", "ip": "103.122.29.129"},
91+
{"name": "Kafrul - Liza Online 5", "ip": "103.173.106.87"},
92+
{"name": "Matuail - Super Fast 4", "ip": "103.155.174.68"},
93+
{"name": "Kafrul - AG Communication 5", "ip": "103.170.172.185"},
94+
{"name": "Tejgaon - Speed 69 Net 6", "ip": "103.145.164.141"},
95+
{"name": "Dhaka - Posh Communication 4", "ip": "103.186.253.114"},
96+
{"name": "Kafrul - Liza Online 6", "ip": "103.173.106.176"},
97+
{"name": "Barishal 6", "ip": "103.17.176.182"},
98+
{"name": "Mirzapur - Maa Internet", "ip": "103.152.143.244"},
99+
{"name": "Mirpur - Green Surma", "ip": "103.135.172.117"},
100+
{"name": "Tejgaon - Speed 69 Net 7", "ip": "103.145.164.18"},
101+
{"name": "Tejgaon - Speed 69 Net 8", "ip": "103.145.164.32"},
102+
{"name": "Barishal - Sky Business 3", "ip": "103.17.176.133"},
103+
{"name": "Savar - Mesh Network", "ip": "103.150.68.130"},
104+
{"name": "Dhaka - Bandhon Enterprise 5", "ip": "103.148.178.104"},
105+
{"name": "Kafrul - Brisk Systems", "ip": "103.202.221.149"},
106+
{"name": "Kafrul - ICC Communication 2", "ip": "144.48.109.231"}
107+
]
108+
}

app/src/main/assets/dns-cn.json

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
{
2+
"country": "China",
3+
"countryCode": "cn",
4+
"description": "Public DNS servers for use in China",
5+
"lastUpdated": "2026-01-19",
6+
"servers": [
7+
{"name": "Hangzhou - Alibaba 1", "ip": "223.5.5.2"},
8+
{"name": "Hangzhou - Alibaba 2", "ip": "223.5.5.111"},
9+
{"name": "Hangzhou - Alibaba 3", "ip": "223.6.6.48"},
10+
{"name": "Chongqing - Telecom", "ip": "219.152.167.250"},
11+
{"name": "Hangzhou - Alibaba 4", "ip": "223.5.5.7"},
12+
{"name": "Hangzhou - Alibaba 5", "ip": "223.6.6.17"},
13+
{"name": "Haidian - Tencent 1", "ip": "1.12.13.53"},
14+
{"name": "Hangzhou - Alibaba 6", "ip": "223.5.5.64"},
15+
{"name": "Hangzhou - Alibaba 7", "ip": "223.6.6.245"},
16+
{"name": "Hangzhou - Alibaba 8", "ip": "223.6.6.147"},
17+
{"name": "Hangzhou - Alibaba 9", "ip": "223.5.5.110"},
18+
{"name": "Hangzhou - AliDNS", "ip": "223.6.6.6"},
19+
{"name": "Hangzhou - Alibaba 10", "ip": "223.6.6.184"},
20+
{"name": "Hangzhou - Alibaba 11", "ip": "223.5.5.31"},
21+
{"name": "Hangzhou - Alibaba 12", "ip": "223.5.5.59"},
22+
{"name": "Hangzhou - Alibaba 13", "ip": "223.5.5.159"},
23+
{"name": "Beijing - Tencent 2", "ip": "120.53.53.54"},
24+
{"name": "Hangzhou - Alibaba 14", "ip": "223.5.5.6"},
25+
{"name": "Chaowai - Macau Univ (IPv6)", "ip": "240c::6644"},
26+
{"name": "Beijing - Tencent 3", "ip": "120.53.53.204"},
27+
{"name": "Hangzhou - Alibaba 15", "ip": "223.5.5.15"},
28+
{"name": "Hangzhou - Alibaba 16", "ip": "223.5.5.51"},
29+
{"name": "Beijing - Tencent 4", "ip": "120.53.53.198"},
30+
{"name": "Hangzhou - Alibaba 17", "ip": "223.5.5.248"},
31+
{"name": "Hangzhou - Alibaba 18", "ip": "223.6.6.195"},
32+
{"name": "Hangzhou - Alibaba 19", "ip": "223.6.6.141"},
33+
{"name": "Hangzhou - Alibaba 20", "ip": "223.6.6.199"},
34+
{"name": "Beijing - China Mobile 1", "ip": "114.114.115.115"},
35+
{"name": "Hangzhou - Alibaba 21", "ip": "223.6.6.196"},
36+
{"name": "Hangzhou - Alibaba 22", "ip": "223.5.5.228"},
37+
{"name": "Hangzhou - Alibaba 23", "ip": "223.6.6.253"},
38+
{"name": "Hangzhou - Alibaba 24", "ip": "223.5.5.219"},
39+
{"name": "Hangzhou - Alibaba 25", "ip": "223.5.5.50"},
40+
{"name": "Hangzhou - Alibaba 26", "ip": "223.5.5.129"},
41+
{"name": "Hangzhou - Alibaba (IPv6)", "ip": "2400:3200::1"},
42+
{"name": "Hangzhou - Alibaba 27", "ip": "223.6.6.139"},
43+
{"name": "Hangzhou - Alibaba 28", "ip": "223.5.5.187"},
44+
{"name": "Hangzhou - Alibaba 29", "ip": "223.5.5.46"},
45+
{"name": "Hangzhou - Alibaba 30", "ip": "223.6.6.143"},
46+
{"name": "Hangzhou - Alibaba 31", "ip": "223.5.5.4"},
47+
{"name": "Hangzhou - Alibaba 32", "ip": "223.5.5.82"},
48+
{"name": "Hangzhou - Alibaba 33", "ip": "223.5.5.47"},
49+
{"name": "Hangzhou - Alibaba 34", "ip": "223.5.5.45"},
50+
{"name": "Hangzhou - Alibaba 35", "ip": "223.5.5.84"},
51+
{"name": "Hangzhou - Alibaba 36", "ip": "223.5.5.78"},
52+
{"name": "Beijing - IDNS", "ip": "1.8.8.8"},
53+
{"name": "Hangzhou - Alibaba 37", "ip": "223.6.6.183"},
54+
{"name": "Hangzhou - Alibaba 38", "ip": "223.5.5.163"},
55+
{"name": "Hangzhou - Alibaba 39", "ip": "223.5.5.157"},
56+
{"name": "Hangzhou - Alibaba 40", "ip": "223.6.6.191"},
57+
{"name": "Hangzhou - Alibaba 41", "ip": "223.6.6.171"},
58+
{"name": "Hangzhou - Alibaba 42", "ip": "223.5.5.136"},
59+
{"name": "Hangzhou - Alibaba 43", "ip": "223.6.6.241"},
60+
{"name": "Hangzhou - AliDNS Primary", "ip": "223.5.5.5"},
61+
{"name": "Hangzhou - Alibaba 44", "ip": "223.5.5.170"},
62+
{"name": "Hangzhou - Alibaba 45", "ip": "223.5.5.19"},
63+
{"name": "Hangzhou - Alibaba 46", "ip": "223.5.5.79"},
64+
{"name": "Guangzhou - Tencent", "ip": "182.254.116.116"},
65+
{"name": "Hangzhou - Alibaba 47", "ip": "223.6.6.127"},
66+
{"name": "Hangzhou - Alibaba 48", "ip": "223.6.6.169"},
67+
{"name": "Hangzhou - Alibaba 49", "ip": "223.5.5.1"},
68+
{"name": "Hangzhou - Alibaba 50", "ip": "223.6.6.237"},
69+
{"name": "Hangzhou - Alibaba 51", "ip": "223.6.6.232"},
70+
{"name": "Hangzhou - Alibaba 52", "ip": "223.6.6.46"},
71+
{"name": "Chaowai - Macau Univ (IPv6) 2", "ip": "240c::6666"},
72+
{"name": "Hangzhou - Alibaba 53", "ip": "223.5.5.93"},
73+
{"name": "Hangzhou - Alibaba 54", "ip": "223.6.6.0"},
74+
{"name": "Hangzhou - Alibaba 55", "ip": "223.5.5.241"},
75+
{"name": "Beijing - Tencent 5", "ip": "120.53.53.84"},
76+
{"name": "Beijing - China Telecom IDC", "ip": "218.30.118.6"},
77+
{"name": "Hangzhou - Alibaba 56", "ip": "223.6.6.170"},
78+
{"name": "Hangzhou - Alibaba 57", "ip": "223.6.6.133"},
79+
{"name": "Hangzhou - Alibaba 58", "ip": "223.6.6.56"},
80+
{"name": "Hangzhou - Alibaba 59", "ip": "223.5.5.23"},
81+
{"name": "Shanghai - China Telecom", "ip": "101.226.4.6"},
82+
{"name": "Hangzhou - Alibaba 60", "ip": "223.5.5.112"},
83+
{"name": "Beijing - Tencent 6", "ip": "120.53.53.116"},
84+
{"name": "Hangzhou - Alibaba (IPv6) 2", "ip": "2400:3200:baba::1"},
85+
{"name": "Hangzhou - Alibaba 61", "ip": "223.5.5.231"},
86+
{"name": "Hangzhou - Alibaba 62", "ip": "223.5.5.224"},
87+
{"name": "Hangzhou - Alibaba 63", "ip": "223.6.6.204"},
88+
{"name": "Altay - Akamai", "ip": "173.223.98.29"},
89+
{"name": "Hangzhou - Alibaba 64", "ip": "223.6.6.34"},
90+
{"name": "Beijing - China Mobile 2", "ip": "114.114.114.114"},
91+
{"name": "Hangzhou - Alibaba 65", "ip": "223.6.6.41"},
92+
{"name": "Hangzhou - Alibaba 66", "ip": "223.6.6.150"},
93+
{"name": "Hangzhou - Alibaba 67", "ip": "223.5.5.254"},
94+
{"name": "Hangzhou - Alibaba 68", "ip": "223.5.5.0"},
95+
{"name": "Hangzhou - Alibaba 69", "ip": "223.5.5.70"},
96+
{"name": "Beijing - Tencent 7", "ip": "120.53.53.183"},
97+
{"name": "Hangzhou - Alibaba 70", "ip": "223.6.6.82"},
98+
{"name": "Hangzhou - Alibaba 71", "ip": "223.5.5.17"},
99+
{"name": "Hangzhou - Alibaba 72", "ip": "223.5.5.91"},
100+
{"name": "Hangzhou - Alibaba 73", "ip": "223.5.5.168"},
101+
{"name": "Hangzhou - Alibaba 74", "ip": "223.5.5.13"},
102+
{"name": "Hangzhou - Alibaba 75", "ip": "223.5.5.190"},
103+
{"name": "Liantang - 263 Shanghai", "ip": "202.46.33.250"},
104+
{"name": "Hangzhou - Alibaba 76", "ip": "223.5.5.252"},
105+
{"name": "Hangzhou - Alibaba 77", "ip": "223.6.6.68"},
106+
{"name": "Beijing - China Unicom", "ip": "123.123.123.123"}
107+
]
108+
}

0 commit comments

Comments
 (0)