684500ce4fb7b187df1c0036c285a9cf333d195e
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

1) #!/usr/bin/perl -w
2) use warnings;
3) use strict;
4) use LWP::Simple;
5) use LWP;
6) use Date::Parse;
Jacob Appelbaum Removed dupe mirror entry,...

Jacob Appelbaum authored 15 years ago

7) use Date::Format;
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

8) 
Jacob Appelbaum Add credit and some idea of...

Jacob Appelbaum authored 15 years ago

9) #
10) # A quick hack by Jacob Appelbaum <jacob@appelbaum.net>
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

11) # LWP suggestions by Leigh Honeywell
Jacob Appelbaum Add credit and some idea of...

Jacob Appelbaum authored 15 years ago

12) # This is Free Software (GPLv3)
13) # http://www.gnu.org/licenses/gpl-3.0.txt
14) #
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

15) # CHANGELOG
16) # 20091003 Code changes to elimiate the need for a trailing slash in addresses for script runtime
17) # 20091004 Code changes to increase out of date tolerance to 48 hours
18) # 20091028 Code changes to increase timout to 30 seconds (attempting to # resolve "unknown" status')
19) # 20091028 Code changes to change user agent of script
20) # 20100807 Remove dead mirrors.
Jacob Appelbaum Add credit and some idea of...

Jacob Appelbaum authored 15 years ago

21) 
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

22) print "Creating LWP agent ($LWP::VERSION)...\n";
23) my $lua = LWP::UserAgent->new(
24)     keep_alive => 1,
Jon@svn.torproject.org alter timout values (15 -> 30)

Jon@svn.torproject.org authored 14 years ago

25)     timeout => 30,
Jon@svn.torproject.org revert r21050

Jon@svn.torproject.org authored 14 years ago

26)     agent => "Tor MirrorCheck Agent"
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

27) );
28) 
29) sub sanitize {
30)     my $taintedData = shift;
31)     my $cleanedData;
32)     my $whitelist = '-a-zA-Z0-9: +';
33) 
34)     # clean the data, return cleaned data
35)     $taintedData =~ s/[^$whitelist]//go;
36)     $cleanedData = $taintedData;
37) 
38)     return $cleanedData;
39) }
40) 
41) sub FetchDate {
42)     my $url = shift; # Base url for mirror
Sebastian Hahn Add a hack so the mirror sc...

Sebastian Hahn authored 14 years ago

43)     my $trace = "/project/trace/www.torproject.org"; # Location of recent update info
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

44)     $url = "$url$trace";
45) 
46)     print "Fetching possible date from: $url\n";
47) 
48)     my $request = new HTTP::Request GET => "$url";
49)     my $result = $lua->request($request);
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

50)     my $code = $result->code();
51)     print "Result code $code\n";
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

52) 
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

53)     if ($result->is_success && $code eq "200"){
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

54)        my $taint = $result->content;
55)        my $content = sanitize($taint);
56)        if ($content) {
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

57) 
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

58)             my $date = str2time($content);
59) 
60)             if ($date) {
61)                 print "We've fetched a date $date.\n";
62)                 return $date;
63)             } else {
64)                 print "We've haven't fetched a date.\n";
65)                 return "Unknown";
66)             }
67) 
68)         } else {
69)             print "Unable to fetch date, empty content returned.\n";
70)             return "Unknown";
71)         }
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

72) 
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

73)     } else {
74)        print "Our request failed, we had no result.\n";
75)        return "Unknown";
76)     }
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

77) 
78)     return "Unknown";
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

79) }
80) 
81) # This is the list of all known Tor mirrors
82) # Add new mirrors to the bottom!
Jon@svn.torproject.org Reorder mirrors, cypher's r...

Jon@svn.torproject.org authored 14 years ago

83) my %m = (
84) 
Andrew Lewman add CoralCDN into the mix.

Andrew Lewman authored 13 years ago

85)         
86)         mirror000 => {
87)             adminContact => "coralcdn.org",
88)             orgName => "CoralCDN",
89)             isoCC => "INT",
90)             subRegion => "",
91)             region => "INT",
92)             ipv4 => "True",
93)             ipv6 => "False",
94)             loadBalanced => "Yes",
95)             httpWebsiteMirror => "http://www.torproject.org.nyud.net/",
96)             httpsWebsiteMirror => "",
97)             rsyncWebsiteMirror => "",
98)             ftpWebsiteMirror => "",
99)             httpDistMirror => "http://www.torproject.org.nyud.net/dist/",
100)             httpsDistMirror => "",
101)             rsyncDistMirror => "",
102)             hiddenServiceMirror => "",
103)             updateDate => "Unknown",
104) 
105)         },
106) 
Jon@svn.torproject.org Reorder mirrors.

Jon@svn.torproject.org authored 14 years ago

107)         mirror001 => {
108)             adminContact => "BarkerJr AT barkerjr DOT net",
109)             orgName => "BarkerJr",
110)             isoCC => "FR",
111)             subRegion => "",
112)             region => "FR",
113)             ipv4 => "True",
114)             ipv6 => "False",
115)             loadBalanced => "No",
Jon@svn.torproject.org Fix the breakages I created...

Jon@svn.torproject.org authored 14 years ago

116)             httpWebsiteMirror => "http://www.oignon.net/",
Andrew Lewman per BarkerJr, update https:...

Andrew Lewman authored 13 years ago

117)             httpsWebsiteMirror => "https://www.oignon.net/",
Jon@svn.torproject.org Reorder mirrors.

Jon@svn.torproject.org authored 14 years ago

118)             rsyncWebsiteMirror => "",
119)             ftpWebsiteMirror => "",
Jon@svn.torproject.org Change the megahal mirror....

Jon@svn.torproject.org authored 14 years ago

120)             httpDistMirror => "http://www.oignon.net/dist/",
Andrew Lewman per BarkerJr, update https:...

Andrew Lewman authored 13 years ago

121)             httpsDistMirror => "https://www.oignon.net/dist/",
Jon@svn.torproject.org Reorder mirrors.

Jon@svn.torproject.org authored 14 years ago

122)             rsyncDistMirror => "",
123)             hiddenServiceMirror => "",
124)             updateDate => "Unknown",
125)         },
126) 
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

127)        mirror002 => {
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

128)             adminContact => "",
Mfr add contact address on mirr...

Mfr authored 15 years ago

129)             orgName => "Boinc",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

130)             isoCC => "CH",
131)             subRegion => "",
132)             region => "Europe",
133)             ipv4 => "True",
134)             ipv6 => "False",
135)             loadBalanced => "Unknown",
136)             httpWebsiteMirror => "http://tor.boinc.ch/",
137)             ftpWebsiteMirror => "",
138)             rsyncWebsiteMirror => "",
139)             httpDistMirror => "http://tor.boinc.ch/dist/",
140)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

141)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

142)         },
143) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

144)        mirror003 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

145)             adminContact => "citizen428 AT gmail DOT com",
Andrew Lewman update bbs mirror

Andrew Lewman authored 13 years ago

146)             orgName => "[[:bbs:]]",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

147)             isoCC => "DE",
148)             subRegion => "",
149)             region => "Europe",
150)             ipv4 => "True",
151)             ipv6 => "False",
152)             loadBalanced => "Unknown",
153)             httpWebsiteMirror => "http://tor.blingblingsquad.net/",
Andrew Lewman add in the self-signed ssl...

Andrew Lewman authored 13 years ago

154)             httpsWebsiteMirror => "https://tor.blingblingsquad.net/",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

155)             ftpWebsiteMirror => "",
156)             rsyncWebsiteMirror => "",
Andrew Lewman update bbs mirror

Andrew Lewman authored 13 years ago

157)             httpDistMirror => "http://tor.blingblingsquad.net/dist",
Andrew Lewman add in the self-signed ssl...

Andrew Lewman authored 13 years ago

158)             httpsDistMirror => "https://tor.blingblingsquad.net/dist",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

159)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

160)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

161)         },
162) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

163)        mirror005 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

164)             adminContact => "contact AT algorithmus DOT com",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

165)             orgName => "Spline",
166)             isoCC => "DE",
167)             subRegion => "FU",
168)             region => "Europe",
169)             ipv4 => "True",
170)             ipv6 => "False",
171)             loadBalanced => "Unknown",
Jacob Appelbaum Updated the mirrors-table t...

Jacob Appelbaum authored 15 years ago

172)             httpWebsiteMirror => "",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

173)             ftpWebsiteMirror => "",
174)             rsyncWebsiteMirror => "",
Jacob Appelbaum Updated the mirrors-table t...

Jacob Appelbaum authored 15 years ago

175)             httpDistMirror => "http://rem.spline.de/tor/",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

176)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

177)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

178)         },
179) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

180) 	    mirror006 => {
Jon@svn.torproject.org Reorder mirrors.

Jon@svn.torproject.org authored 14 years ago

181)             adminContact => "BarkerJr AT barkerjr DOT net",
182)             orgName => "BarkerJr",
183)             isoCC => "US",
184)             subRegion => "",
185)             region => "US",
186)             ipv4 => "True",
187)             ipv6 => "False",
188)             loadBalanced => "No",
Andrew Lewman update mirrors.

Andrew Lewman authored 14 years ago

189)             httpWebsiteMirror => "http://www.torproject.us/",
190)             httpsWebsiteMirror => "https://www.torproject.us/",
Andrew Lewman add barkerjr's rsync mirrors.

Andrew Lewman authored 13 years ago

191)             rsyncWebsiteMirror => "rsync://rsync.torproject.us/tor",
Jon@svn.torproject.org Reorder mirrors.

Jon@svn.torproject.org authored 14 years ago

192)             ftpWebsiteMirror => "",
Andrew Lewman update mirrors.

Andrew Lewman authored 14 years ago

193)             httpDistMirror => "http://www.torproject.us/dist/",
194)             httpsDistMirror => "https://www.torproject.us/dist/",
Andrew Lewman add barkerjr's rsync mirrors.

Andrew Lewman authored 13 years ago

195)             rsyncDistMirror => "rsync://rsync.torproject.us/tor/dist",
Jon@svn.torproject.org Reorder mirrors.

Jon@svn.torproject.org authored 14 years ago

196)             hiddenServiceMirror => "",
197)             updateDate => "Unknown",
198)         },
199) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

200)        mirror007 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

201)             adminContact => "info AT zentrum-der-gesundheit DOT de",
Mfr add contact address on mirr...

Mfr authored 15 years ago

202)             orgName => "Zentrum der Gesundheit",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

203)             isoCC => "DK",
204)             subRegion => "",
205)             region => "Europe",
206)             ipv4 => "True",
207)             ipv6 => "False",
208)             loadBalanced => "Unknown",
Andrew Lewman update one mirror per request

Andrew Lewman authored 14 years ago

209)             httpWebsiteMirror => "http://tor.idnr.ws/",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

210)             ftpWebsiteMirror => "",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

211)             rsyncWebsiteMirror => "",
Andrew Lewman update one mirror per request

Andrew Lewman authored 14 years ago

212)             httpDistMirror => "http://tor.idnr.ws/dist/",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

213)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

214)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

215)         },
216) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

217)        mirror008 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

218)             adminContact => "root AT amorphis DOT eu",
Mfr add contact address on mirr...

Mfr authored 15 years ago

219)             orgName => "Amorphis",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

220)             isoCC => "NL",
221)             subRegion => "",
222)             region => "Europe",
223)             ipv4 => "True",
224)             ipv6 => "False",
225)             loadBalanced => "Unknown",
226)             httpWebsiteMirror => "http://tor.amorphis.eu/",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

227)             rsyncWebsiteMirror => "",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

228)             ftpWebsiteMirror => "",
229)             httpDistMirror => "http://tor.amorphis.eu/dist/",
230)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

231)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

232)         },
233) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

234)        mirror009 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

235)             adminContact => "mirror AT bit DOT nl",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

236)             orgName => "BIT BV",
237)             isoCC => "NL",
238)             subRegion => "",
239)             region => "Europe",
240)             ipv4 => "True",
241)             ipv6 => "False",
242)             loadBalanced => "Unknown",
Jacob Appelbaum Updated the mirrors-table t...

Jacob Appelbaum authored 15 years ago

243)             httpWebsiteMirror => "",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

244)             rsyncWebsiteMirror => "",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

245)             ftpWebsiteMirror => "ftp://ftp.bit.nl/mirror/tor/",
Jacob Appelbaum Updated the mirrors-table t...

Jacob Appelbaum authored 15 years ago

246)             httpDistMirror => "http://ftp.bit.nl/mirror/tor/",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

247)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

248)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

249)         },
250) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

251)        mirror010 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

252)             adminContact => "webmaster AT ccc DOT de",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

253)             orgName => "CCC",
254)             isoCC => "NL",
255)             subRegion => "",
256)             region => "Europe",
257)             ipv4 => "True",
258)             ipv6 => "False",
259)             loadBalanced => "Unknown",
260)             httpWebsiteMirror => "http://tor.ccc.de/",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

261)             rsyncWebsiteMirror => "",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

262)             ftpWebsiteMirror => "",
263)             httpDistMirror => "http://tor.ccc.de/dist/",
264)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

265)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

266)         },
267) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

268)        mirror011 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

269)             adminContact => "root AT kamagurka DOT org",
Mfr add contact address on mirr...

Mfr authored 15 years ago

270)             orgName => "Kamagurka",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

271)             isoCC => "NL",
272)             subRegion => "Haarlem",
273)             region => "Europe",
274)             ipv4 => "True",
275)             ipv6 => "False",
276)             loadBalanced => "Unknown",
277)             httpWebsiteMirror => "http://tor.kamagurka.org/",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

278)             rsyncWebsiteMirror => "",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

279)             ftpWebsiteMirror => "",
280)             httpDistMirror => "http://tor.kamagurka.org/dist/",
281)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

282)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

283)         },
284) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

285)        mirror012 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

286)             adminContact => "evert AT meulie DOT net",
Mfr add contact address on mirr...

Mfr authored 15 years ago

287)             orgName => "Meulie",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

288)             isoCC => "NO",
289)             subRegion => "",
290)             region => "Europe",
291)             ipv4 => "True",
292)             ipv6 => "False",
293)             loadBalanced => "Unknown",
Jacob Appelbaum Updated the mirrors-table t...

Jacob Appelbaum authored 15 years ago

294)             httpWebsiteMirror => "",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

295)             rsyncWebsiteMirror => "",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

296)             ftpWebsiteMirror => "",
Jacob Appelbaum Updated the mirrors-table t...

Jacob Appelbaum authored 15 years ago

297)             httpDistMirror => "http://tor.meulie.net/",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

298)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

299)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

300)         },
301) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

302)        mirror013 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

303) 	    adminContact => "hostmaster AT zombiewerks DOT com",
Mfr fix more typos

Mfr authored 15 years ago

304)             orgName => "TheOnionRouter",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

305)             isoCC => "US",
Andrew Lewman Added mirror in the Ukraine.

Andrew Lewman authored 15 years ago

306)             subRegion => "New Jersey",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

307)             region => "North America",
308)             ipv4 => "True",
309)             ipv6 => "False",
310)             loadBalanced => "Unknown",
311)             httpWebsiteMirror => "http://www.theonionrouter.com/",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

312)             rsyncWebsiteMirror => "",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

313)             ftpWebsiteMirror => "",
314)             httpDistMirror => "http://www.theonionrouter.com/dist/",
315)             rsyncDistMirror => "",
Jacob Appelbaum Fix a date bug.

Jacob Appelbaum authored 15 years ago

316)             updateDate => "Unknown",
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

317)         },
318) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

319)         mirror014 => {
Jon@svn.torproject.org replace dots with AT and DOT

Jon@svn.torproject.org authored 14 years ago

320)             adminContact => "tormaster AT xpdm DOT us",
Mfr fix more typos

Mfr authored 15 years ago

321)             orgName => "Xpdm",
Jacob Appelbaum New mirror, update mirror t...

Jacob Appelbaum authored 15 years ago

322)             isoCC => "US",
323)             subRegion => "",
324)             region => "North America",
325)             ipv4 => "True",
326)             ipv6 => "False",
327)             loadBalanced => "Unknown",
328)             httpWebsiteMirror => "http://torproj.xpdm.us/",
Jacob Appelbaum Update table to include htt...

Jacob Appelbaum authored 15 years ago

329)             httpsWebsiteMirror => "https://torproj.xpdm.us/",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

330)             rsyncWebsiteMirror => "",
Jacob Appelbaum New mirror, update mirror t...

Jacob Appelbaum authored 15 years ago

331)             ftpWebsiteMirror => "",
Jacob Appelbaum Update table to include htt...

Jacob Appelbaum authored 15 years ago

332)             httpDistMirror => "http://torproj.xpdm.us/dist/",
333)             httpsDistMirror => "https://torproj.xpdm.us/dist/",
Jacob Appelbaum New mirror, update mirror t...

Jacob Appelbaum authored 15 years ago

334)             rsyncDistMirror => "",
335)             hiddenServiceMirror => "http://h3prhz46uktgm4tt.onion/",
336)             updateDate => "Unknown",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

337)         },
Jacob Appelbaum New mirror, update mirror t...

Jacob Appelbaum authored 15 years ago

338) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

339)         mirror015 => {
Jon@svn.torproject.org Delist free.be.ijing2008.cn...

Jon@svn.torproject.org authored 14 years ago

340)             adminContact => "",
Andrew Lewman cybervalley is live.

Andrew Lewman authored 13 years ago

341)             orgName => "cybervalley",
342)             isoCC => "IT",
Jon@svn.torproject.org Delist free.be.ijing2008.cn...

Jon@svn.torproject.org authored 14 years ago

343)             subRegion => "",
Andrew Lewman cybervalley is live.

Andrew Lewman authored 13 years ago

344)             region => "Italy",
Jacob Appelbaum Updated to add new mirror.

Jacob Appelbaum authored 15 years ago

345)             ipv4 => "True",
346)             ipv6 => "False",
347)             loadBalanced => "No",
Jon@svn.torproject.org Delist free.be.ijing2008.cn...

Jon@svn.torproject.org authored 14 years ago

348)             httpWebsiteMirror => "http://torproject.cybervalley.org/",
Jacob Appelbaum Updated to add new mirror.

Jacob Appelbaum authored 15 years ago

349)             httpsWebsiteMirror => "",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

350)             rsyncWebsiteMirror => "",
Jacob Appelbaum Updated to add new mirror.

Jacob Appelbaum authored 15 years ago

351)             ftpWebsiteMirror => "",
Jon@svn.torproject.org Delist free.be.ijing2008.cn...

Jon@svn.torproject.org authored 14 years ago

352)             httpDistMirror => "",
Jacob Appelbaum Updated to add new mirror.

Jacob Appelbaum authored 15 years ago

353)             httpsDistMirror => "",
354)             rsyncDistMirror => "",
355)             hiddenServiceMirror => "",
356)             updateDate => "Unknown",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

357)         },
Jacob Appelbaum Updated to add new mirror.

Jacob Appelbaum authored 15 years ago

358) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

359)         mirror016 => {
Jon@svn.torproject.org Apply new naming conventions.

Jon@svn.torproject.org authored 14 years ago

360)             adminContact => "security AT hostoffice DOT hu",
Andrew Lewman Added mirror.tor.hu back to...

Andrew Lewman authored 15 years ago

361)             orgName => "Unknown",
362)             isoCC => "HU",
363)             subRegion => "Hungary",
364)             region => "Europe",
365)             ipv4 => "True",
366)             ipv6 => "False",
367)             loadBalanced => "No",
Jon@svn.torproject.org Change tor.hu (adjustements...

Jon@svn.torproject.org authored 14 years ago

368)             httpWebsiteMirror => "http://tor.hu/",
Andrew Lewman Added mirror.tor.hu back to...

Andrew Lewman authored 15 years ago

369)             httpsWebsiteMirror => "",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

370)             rsyncWebsiteMirror => "",
Andrew Lewman Added mirror.tor.hu back to...

Andrew Lewman authored 15 years ago

371)             ftpWebsiteMirror => "",
Jon@svn.torproject.org Change tor.hu (adjustements...

Jon@svn.torproject.org authored 14 years ago

372)             httpDistMirror => "",
Andrew Lewman Added mirror.tor.hu back to...

Andrew Lewman authored 15 years ago

373)             httpsDistMirror => "",
374)             rsyncDistMirror => "",
375)             hiddenServiceMirror => "",
376)             updateDate => "Unknown",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

377)         },
Andrew Lewman Add mirror 41, remove plent...

Andrew Lewman authored 15 years ago

378) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

379)         mirror017 => {
Andrew Lewman Added mirror in the Ukraine.

Andrew Lewman authored 15 years ago

380)             adminContact => "",
Andrew Lewman Add the organization sponso...

Andrew Lewman authored 15 years ago

381)             orgName => "Technica-03",
Roger Dingledine fix a syntax error in our perl

Roger Dingledine authored 15 years ago

382)             isoCC => "UA",
Andrew Lewman Added mirror in the Ukraine.

Andrew Lewman authored 15 years ago

383)             subRegion => "Ukraine",
384)             region => "Eastern Europe",
385)             ipv4 => "True",
386)             ipv6 => "False",
387)             loadBalanced => "No",
388)             httpWebsiteMirror => "http://torua.reactor-xg.kiev.ua/",
389)             httpsWebsiteMirror => "",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

390)             rsyncWebsiteMirror => "",
Andrew Lewman Added mirror in the Ukraine.

Andrew Lewman authored 15 years ago

391)             ftpWebsiteMirror => "",
Jon@svn.torproject.org Fix the breakages I created...

Jon@svn.torproject.org authored 14 years ago

392)             httpDistMirror => "http://tordistua.reactor-xg.kiev.ua/",
Andrew Lewman Added mirror in the Ukraine.

Andrew Lewman authored 15 years ago

393)             httpsDistMirror => "",
394)             rsyncDistMirror => "",
395)             hiddenServiceMirror => "",
396)             updateDate => "Unknown",
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

397)         },
Andrew Lewman Add mirror 41, remove plent...

Andrew Lewman authored 15 years ago

398) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

399) 	    mirror018 => {
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

400)             adminContact => "",
401)             orgName => "chaos darmstadt",
402)             isoCC => "DE",
403)             subRegion => "Germany",
404)             region => "Europe",
405)             ipv4 => "True",
406)             ipv6 => "False",
407)             loadBalanced => "No",
408)             httpWebsiteMirror => "http://mirrors.chaos-darmstadt.de/tor-mirror/",
409)             httpsWebsiteMirror => "",
410)             rsyncWebsiteMirror => "",
411)             ftpWebsiteMirror => "",
412)             httpDistMirror => "http://mirrors.chaos-darmstadt.de/tor-mirror/dist/",
413)             httpsDistMirror => "",
414)             rsyncDistMirror => "",
415)             hiddenServiceMirror => "",
416)             updateDate => "Unknown",
Andrew Lewman add the newest two mirrors

Andrew Lewman authored 15 years ago

417)         },
Andrew Lewman Add mirror 41, remove plent...

Andrew Lewman authored 15 years ago

418) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

419) 	mirror019 => {
Jon@svn.torproject.org Update AskApache - http://a...

Jon@svn.torproject.org authored 14 years ago

420)             adminContact => "webmaster AT askapache DOT com",
421)             orgName => "AskApache",
Andrew Lewman add the newest two mirrors

Andrew Lewman authored 15 years ago

422)             isoCC => "US",
423)             subRegion => "California",
424)             region => "US",
425)             ipv4 => "True",
426)             ipv6 => "False",
427)             loadBalanced => "No",
428)             httpWebsiteMirror => "http://tor.askapache.com/",
429)             httpsWebsiteMirror => "",
430)             rsyncWebsiteMirror => "",
431)             ftpWebsiteMirror => "",
Jon@svn.torproject.org Update AskApache - http://a...

Jon@svn.torproject.org authored 14 years ago

432)             httpDistMirror => "http://tor.askapache.com/dist/",
Andrew Lewman add the newest two mirrors

Andrew Lewman authored 15 years ago

433)             httpsDistMirror => "",
434)             rsyncDistMirror => "",
435)             hiddenServiceMirror => "",
436)             updateDate => "Unknown",
Andrew Lewman add commas in the right places

Andrew Lewman authored 15 years ago

437)         },
Andrew Lewman Add mirror 41, remove plent...

Andrew Lewman authored 15 years ago

438) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

439) 	mirror020 => {
Jon@svn.torproject.org Delist "digitip" DNS deconf...

Jon@svn.torproject.org authored 14 years ago

440)             adminContact => " mail AT benjamin-meier DOT info ",
441)             orgName => "beme it",
Andrew Lewman update the mirror list than...

Andrew Lewman authored 14 years ago

442)             isoCC => "DE",
Andrew Lewman add a slew of mirrors in china

Andrew Lewman authored 15 years ago

443)             subRegion => "",
Jon@svn.torproject.org Delist "digitip" DNS deconf...

Jon@svn.torproject.org authored 14 years ago

444)             region => "DE",
Andrew Lewman add a slew of mirrors in china

Andrew Lewman authored 15 years ago

445)             ipv4 => "True",
446)             ipv6 => "False",
447)             loadBalanced => "No",
Jon@svn.torproject.org Delist "digitip" DNS deconf...

Jon@svn.torproject.org authored 14 years ago

448)             httpWebsiteMirror => "http://tor.beme-it.de/",
Andrew Lewman add ssl to beme-it mirror.

Andrew Lewman authored 13 years ago

449)             httpsWebsiteMirror => "https://tor.beme-it.de/",
Andrew Lewman update the mirror list than...

Andrew Lewman authored 14 years ago

450)             rsyncWebsiteMirror => "rsync://tor.beme-it.de/tor",
Andrew Lewman add a slew of mirrors in china

Andrew Lewman authored 15 years ago

451)             ftpWebsiteMirror => "",
Jon@svn.torproject.org Delist "digitip" DNS deconf...

Jon@svn.torproject.org authored 14 years ago

452)             httpDistMirror => "http://tor.beme-it.de/dist/",
Andrew Lewman add ssl to beme-it mirror.

Andrew Lewman authored 13 years ago

453)             httpsDistMirror => "https://tor.beme-it.de/dist/",
Andrew Lewman update the mirror list than...

Andrew Lewman authored 14 years ago

454)             rsyncDistMirror => "rsync://tor.beme-it.de/tor/dist",
Andrew Lewman add a slew of mirrors in china

Andrew Lewman authored 15 years ago

455)             hiddenServiceMirror => "",
456)             updateDate => "Unknown",
Andrew Lewman add commas in the right places

Andrew Lewman authored 15 years ago

457)         },
Andrew Lewman Add mirror 41, remove plent...

Andrew Lewman authored 15 years ago

458) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

459)         mirror021 => {
Andrew Lewman add two new mirrors.

Andrew Lewman authored 14 years ago

460)             adminContact => "",
Andrew Lewman create names for the blank...

Andrew Lewman authored 13 years ago

461)             orgName => "India Tor Fans",
Andrew Lewman add two new mirrors.

Andrew Lewman authored 14 years ago

462)             isoCC => "IN",
463)             subRegion => "",
464)             region => "IN",
465)             ipv4 => "True",
466)             ipv6 => "False",
467)             loadBalanced => "No",
Jon@svn.torproject.org resolving inconsistancy

Jon@svn.torproject.org authored 14 years ago

468)             httpWebsiteMirror => "http://www.torproject.org.in/",
Andrew Lewman add two new mirrors.

Andrew Lewman authored 14 years ago

469)             httpsWebsiteMirror => "",
470)             rsyncWebsiteMirror => "",
471)             ftpWebsiteMirror => "",
472)             httpDistMirror => "http://www.torproject.org.in/dist/",
473)             httpsDistMirror => "",
474)             rsyncDistMirror => "",
475)             hiddenServiceMirror => "",
476)             updateDate => "Unknown",
477)         },
478) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

479)         mirror023 => {
Andrew Lewman add a mirror, update the ta...

Andrew Lewman authored 14 years ago

480)             adminContact => "sina at accessnow.org",
481)             orgName => "Access",
482)             isoCC => "IR",
483)             subRegion => "",
484)             region => "IR",
485)             ipv4 => "True",
486)             ipv6 => "False",
487)             loadBalanced => "Yes",
488)             httpWebsiteMirror => "http://irani-tor.ath.cx/",
489)             httpsWebsiteMirror => "",
490)             rsyncWebsiteMirror => "",
491)             ftpWebsiteMirror => "",
492)             httpDistMirror => "http://irani-tor.ath.cx/dist/",
493)             httpsDistMirror => "",
494)             rsyncDistMirror => "",
Andrew Lewman Add the latest mirror in ru...

Andrew Lewman authored 14 years ago

495)             hiddenServiceMirror => "",
496)         },
497) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

498)         mirror024 => {
Andrew Lewman add new mirror in ukraine,...

Andrew Lewman authored 14 years ago

499)             adminContact => "",
Andrew Lewman create names for the blank...

Andrew Lewman authored 13 years ago

500)             orgName => "homosu",
Andrew Lewman change the region for homos...

Andrew Lewman authored 14 years ago

501)             isoCC => "SE",
Andrew Lewman add new mirror in ukraine,...

Andrew Lewman authored 14 years ago

502)             subRegion => "",
Andrew Lewman change the region for homos...

Andrew Lewman authored 14 years ago

503)             region => "SE",
Andrew Lewman add new mirror in ukraine,...

Andrew Lewman authored 14 years ago

504)             ipv4 => "True",
505)             ipv6 => "False",
506)             loadBalanced => "No",
507)             httpWebsiteMirror => "http://tor.homosu.net/",
508)             httpsWebsiteMirror => "",
509)             rsyncWebsiteMirror => "",
510)             ftpWebsiteMirror => "",
511)             httpDistMirror => "http://tor.homosu.net/dist",
512)             httpsDistMirror => "",
513)             rsyncDistMirror => "",
Andrew Lewman Add 1.5 of the estonian mir...

Andrew Lewman authored 13 years ago

514)             hiddenServiceMirror => "",
Andrew Lewman fix the stanza.

Andrew Lewman authored 13 years ago

515)         },
Andrew Lewman Add 1.5 of the estonian mir...

Andrew Lewman authored 13 years ago

516) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

517)         mirror025 => {
Andrew Lewman Add 1.5 of the estonian mir...

Andrew Lewman authored 13 years ago

518)             adminContact => "margus.random at mail.ee",
519)             orgName => "CyberSIDE",
Andrew Lewman fix the EE country code.

Andrew Lewman authored 13 years ago

520)             isoCC => "EE",
Andrew Lewman Add 1.5 of the estonian mir...

Andrew Lewman authored 13 years ago

521)             subRegion => "",
522)             region => "EE",
523)             ipv4 => "True",
524)             ipv6 => "False",
525)             loadBalanced => "No",
526)             httpWebsiteMirror => "http://cyberside.planet.ee/tor/",
527)             httpsWebsiteMirror => "",
528)             rsyncWebsiteMirror => "",
529)             ftpWebsiteMirror => "",
530)             httpDistMirror => "http://freedos.pri.ee/tor/",
531)             httpsDistMirror => "",
532)             rsyncDistMirror => "",
Andrew Lewman add a mirror, update the ta...

Andrew Lewman authored 14 years ago

533)             hiddenServiceMirror => "",
Andrew Lewman add the tomyn mirror.

Andrew Lewman authored 13 years ago

534)         },
Andrew Lewman add a mirror, update the ta...

Andrew Lewman authored 14 years ago

535) 
Andrew Lewman purge all of the consistent...

Andrew Lewman authored 13 years ago

536)         mirror026 => {
Andrew Lewman add the tomyn mirror.

Andrew Lewman authored 13 years ago

537)             adminContact => "me_ at tomyn dot com",
538)             orgName => "tomyn",
539)             isoCC => "UK",
540)             subRegion => "",
541)             region => "UK",
542)             ipv4 => "True",
543)             ipv6 => "False",
544)             loadBalanced => "No",
545)             httpWebsiteMirror => "http://tor.tomyn.com",
546)             httpsWebsiteMirror => "https://tor.tomyn.com",
547)             rsyncWebsiteMirror => "",
548)             ftpWebsiteMirror => "ftp://tor.tomyn.com",
549)             httpDistMirror => "http://tor.tomyn.com/dist",
550)             httpsDistMirror => "https://tor.tomyn.com/dist",
551)             rsyncDistMirror => "",
Andrew Lewman add sykotik mirrors, upload...

Andrew Lewman authored 13 years ago

552)             hiddenServiceMirror => "",
553)         },
554) 
555)         mirror027 => {
556)             adminContact => "",
557)             orgName => "mirrors.sykotik.org",
558)             isoCC => "RO",
559)             subRegion => "",
560)             region => "RO",
561)             ipv4 => "True",
562)             ipv6 => "False",
563)             loadBalanced => "No",
564)             httpWebsiteMirror => "",
565)             httpsWebsiteMirror => "",
566)             rsyncWebsiteMirror => "",
567)             ftpWebsiteMirror => "ftp://mirrors.sykotik.org/pub/tor/",
568)             httpDistMirror => "http://mirrors.sykotik.org/pub/tor/",
569)             httpsDistMirror => "",
570)             rsyncDistMirror => "",
Andrew Lewman add a new mirror

Andrew Lewman authored 13 years ago

571)             hiddenServiceMirror => "",
Andrew Lewman add a missing comment.

Andrew Lewman authored 13 years ago

572)         },
Andrew Lewman add a new mirror

Andrew Lewman authored 13 years ago

573) 
574)         mirror028 => {
575)             adminContact => "gouki",
576)             orgName => "gouki",
577)             isoCC => "PT",
578)             subRegion => "",
579)             region => "PT",
580)             ipv4 => "True",
581)             ipv6 => "False",
582)             loadBalanced => "No",
583)             httpWebsiteMirror => "http://tor-www.5coluna.com",
584)             httpsWebsiteMirror => "https://tor-www.5coluna.com",
585)             rsyncWebsiteMirror => "",
586)             ftpWebsiteMirror => "",
587)             httpDistMirror => "http://tor-www.5coluna.com/dist/",
588)             httpsDistMirror => "https://tor-www.5coluna.com/dist/",
589)             rsyncDistMirror => "",
Andrew Lewman add the tomyn mirror.

Andrew Lewman authored 13 years ago

590)             hiddenServiceMirror => "",
591)         }
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

592) );
593) 
594) my $count = values %m;
595) print "We have a total of $count mirrors\n";
596) print "Fetching the last updated date for each mirror.\n";
597) 
Andrew Lewman Change mirror script to use...

Andrew Lewman authored 15 years ago

598) my $tortime;
599) $tortime = FetchDate("http://www.torproject.org/");
Jon@svn.torproject.org Some code donations. Thank...

Jon@svn.torproject.org authored 14 years ago

600) # Adjust offical Tor time by out-of-date offset: number of days * seconds per day 
Jon@svn.torproject.org Alter code, permit 48 hours...

Jon@svn.torproject.org authored 14 years ago

601) $tortime -= 1 * 172800; 
Andrew Lewman Change mirror script to use...

Andrew Lewman authored 15 years ago

602) print "The official time for Tor is $tortime. \n";
603) 
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

604) foreach my $server ( keys %m ) {
605) 
606)     print "Attempting to fetch from $m{$server}{'orgName'}\n";
607) 
608)     if ($m{$server}{'httpWebsiteMirror'}) {
609)         print "Attempt to fetch via HTTP.\n";
610)         $m{$server}{"updateDate"} = FetchDate("$m{$server}{'httpWebsiteMirror'}");
611)     } elsif ($m{$server}{'httpsWebsiteMirror'}) {
612)         print "Attempt to fetch via HTTPS.\n";
613)         $m{$server}{"updateDate"} = FetchDate("$m{$server}{'httpsWebsiteMirror'}");
614)     } elsif ($m{$server}{'ftpWebsiteMirror'}) {
615)         print "Attempt to fetch via FTP.\n";
616)         $m{$server}{"updateDate"} = FetchDate("$m{$server}{'ftpWebsiteMirror'}");
617)     } else {
618)         print "We were unable to fetch or store anything. We still have the following: $m{$server}{'updateDate'}\n";
619)     }
620) 
621)     print "We fetched and stored the following: $m{$server}{'updateDate'}\n";
622) 
623)  }
624) 
625) 
626) print "We sorted the following mirrors by their date of last update: \n";
627) foreach my $server ( sort { $m{$b}{'updateDate'} <=> $m{$a}{'updateDate'}} keys %m ) {
628) 
629)      print "\n";
630)      print "Mirror $m{$server}{'orgName'}: \n";
631) 
632)      foreach my $attrib ( sort keys %{$m{$server}} ) {
633)         print "$attrib = $m{$server}{$attrib}";
634)         print "\n";
635)      };
636) }
637) 
638) my $outFile = "include/mirrors-table.wmi";
639) my $html;
640) open(OUT, "> $outFile") or die "Can't open $outFile: $!";
641) 
Andrew Lewman updated mirrors, added new...

Andrew Lewman authored 15 years ago

642) # Here's where we open a file and print some wml include goodness
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

643) # This is storted from last known recent update to unknown update times
644) foreach my $server ( sort { $m{$b}{'updateDate'} <=> $m{$a}{'updateDate'}} keys %m ) {
645) 
Jacob Appelbaum ensure the date is either p...

Jacob Appelbaum authored 15 years ago

646)      my $time;
Andrew Lewman timeout should be 15, fix s...

Andrew Lewman authored 15 years ago

647)      if ( "$m{$server}{'updateDate'}" ne "Unknown") {
Jon@svn.torproject.org Some code donations. Thank...

Jon@svn.torproject.org authored 14 years ago

648) 	  if ( $m{$server}{'updateDate'} > $tortime ) {
Andrew Lewman fix code spacing to avoid t...

Andrew Lewman authored 15 years ago

649) 	    $time = "Up to date";
650) 	  } else { $time = "Out of date"; }
Andrew Lewman revert the last change to u...

Andrew Lewman authored 15 years ago

651)      } else { $time = "Unknown"; }
Jacob Appelbaum Removed dupe mirror entry,...

Jacob Appelbaum authored 15 years ago

652) print OUT <<"END";
653)      \n<tr>\n
654)          <td>$m{$server}{'isoCC'}</td>\n
655)          <td>$m{$server}{'orgName'}</td>\n
656)          <td>$time</td>\n
657) END
658) 
659)      my %prettyNames = (
660)                         httpWebsiteMirror => "http",
661)                         httpsWebsiteMirror => "https",
662)                         ftpWebsiteMirror => "ftp",
663)                         rsyncWebsiteMirror => "rsync",
664)                         httpDistMirror => "http",
665)                         httpsDistMirror => "https",
666)                         rsyncDistMirrors => "rsync", );
667) 
668)      foreach my $precious ( sort keys %prettyNames )
Jacob Appelbaum Add a perl script that auto...

Jacob Appelbaum authored 15 years ago

669)      {
670)         if ($m{$server}{"$precious"}) {
671)             print OUT "    <td><a href=\"" . $m{$server}{$precious} . "\">" .
Jacob Appelbaum Removed dupe mirror entry,...

Jacob Appelbaum authored 15 years ago

672)                       "$prettyNames{$precious}</a></td>\n";