slitaz-dev-tools view mirror-tools/mirror-info/index.php @ rev 94

mirror-tools: new style & 2G+ file support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon May 30 13:29:45 2011 +0200 (2011-05-30)
parents 53df75934ea4
children 79eb86e1e0ed
line source
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <head>
5 <title>SliTaz Mirror</title>
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
7 <meta name="description" content="slitaz mirror server" />
8 <meta name="robots" content="index, nofollow" />
9 <meta name="author" content="SliTaz Contributors" />
10 <link rel="shortcut icon" href="/css/favicon.ico" />
11 <link rel="stylesheet" type="text/css" href="/css/slitaz.css" />
12 <style type="text/css">
13 #copy {
14 text-align: center;
15 }
17 #bottom {
18 text-align: center;
19 }
20 </style>
21 </head>
22 <body>
24 <!-- Header -->
25 <div id="header">
26 <div id="logo"></div>
27 <div id="network">
28 <a href="http://www.slitaz.org/">
29 <img src="/css/pics/network.png" alt="network.png" /></a>
30 <a href="http://scn.slitaz.org/">Community</a>
31 <a href="http://doc.slitaz.org/" title="SliTaz Community Documentation">Doc</a>
32 <a href="http://forum.slitaz.org/" title="Slitaz Forum">Forum</a>
33 <a href="http://bugs.slitaz.org/" title="Bug Tracking System">Bugs</a>
34 <a href="http://hg.slitaz.org/" title="SliTaz repositories">Hg</a>
35 </div>
36 <h1><a href="http://<?php echo $_SERVER["HTTP_HOST"]; ?>/">SliTaz
37 <?php $host=preg_replace('/(\w+).*/i','$1',$_SERVER["HTTP_HOST"]); echo $host; ?></a></h1>
38 </div>
40 <!-- Block -->
41 <div id="block">
42 <!-- Navigation -->
43 <div id="block_nav">
44 <h4><img src="/css/pics/development.png" alt="development.png" />Developers Corner</h4>
45 <ul>
46 <li><a href="http://www.slitaz.org/en/devel/">Website devel</a></li>
47 <li><a href="http://scn.slitaz.org/">Community</a></li>
48 <li><a href="http://labs.slitaz.org/">Laboratories</a></li>
49 <li><a href="http://hg.slitaz.org/">Mercurial Repos</a></li>
50 <li><a href="http://cook.slitaz.org/">Build Bot</a></li>
51 <li><a href="http://tank.slitaz.org/">Tank Server</a></li>
52 <li><a href="http://mirror.slitaz.org/info/">Mirror Server</a></li>
53 </ul>
54 </div>
55 <!-- Information/image -->
56 <div id="block_info">
57 <h4>Codename: <?php echo $host; ?></h4>
58 <p>
59 This is the SliTaz GNU/Linux main mirror. The server runs naturally SliTaz
60 (stable) in an lguest virtual machine provided by
61 <a href="http://www.ads-lu.com/">Allied Data Sys. (ADS)</a>.
62 </p>
63 <p>
64 Mirror CPU is a <?php system("sed -e '/^model name/!d;s/.*Intel(R) //;" .
65 "s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //' </proc/cpuinfo |" .
66 " awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" .
67 "if (n == 4) printf \"quad \"; print s }' ")?> -
68 <?php system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ".
69 "n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ".
70 "printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")?> - Located in France next to
71 Roubaix. This page has real time statistics provided by PHP
72 <code>system()</code> Mirror is also monitored by RRDtool which provides
73 <a href="graphs.php">graphical stats</a>.
74 </p>
75 </div>
76 </div>
78 <!-- Content -->
79 <div id="content">
81 <h2><a href="graphs.php"><img
82 style="vertical-align: middle; padding: 0 4px 0 0;"
83 title="Mirror RRDtool graphs" alt="graphs"
84 src="pics/website/monitor.png" /></a>System stats</h2>
86 <h4>Uptime</h4>
88 <pre class="package">
89 <?php
90 system("uptime | sed 's/^\s*//'");
91 ?>
92 </pre>
94 <h4>Disk usage</h4>
96 <pre class="package">
97 <?php
98 system("df -h | sed '/^rootfs/d' | grep '\(^/dev\|Filesystem\)'");
99 ?>
100 </pre>
102 <h4>Network</h4>
103 <pre class="package">
104 <?php
105 system("ifconfig eth0 | awk '{ if (/X packet/ || /X byte/) print }' | sed 's/^\s*//'");
106 ?>
107 </pre>
110 <?php if (isset($_GET["all"])) { ?>
111 <h4>Logins</h4>
112 <pre class="package">
113 <?php
114 system("last");
115 ?>
116 </pre>
118 <h4>Processes</h4>
119 <pre class="package">
120 <?php
121 system("top -n1 -b");
122 ?>
123 </pre>
124 <?php } ?>
126 <a name="vhosts"></a>
127 <h3><a href="http://mirror.slitaz.org/awstats.pl?config=info.mirror.slitaz.org" target="_blank">
128 <img title="Mirror Virtual hosts" alt="vhosts"
129 src="pics/website/vhosts.png" /></a>Virtual hosts</h3>
131 <ul>
132 <li><a href="http://mirror.slitaz.org/">mirror.slitaz.org</a> - SliTaz Mirror.
133 (<a href="http://mirror.slitaz.org/stats" target="_blank">stats</a>)</li>
134 <li><a href="http://scn.slitaz.org/">scn.slitaz.org</a> - SliTaz Community Network.
135 (<a href="http://mirror.slitaz.org/awstats.pl?config=scn.slitaz.org" target="_blank">stats</a>)</li>
136 <li><a href="http://pizza.slitaz.org/">pizza.slitaz.org</a> - SliTaz Flavor builder.
137 (<a href="http://mirror.slitaz.org/awstats.pl?config=pizza.mirror.slitaz.org" target="_blank">stats</a>)</li>
138 <li><a href="http://tiny.slitaz.org/">tiny.slitaz.org</a> - Tiny SliTaz builder.
139 (<a href="http://mirror.slitaz.org/awstats.pl?config=tiny.slitaz.org" target="_blank">stats</a>)</li>
140 <li><a href="https://ajaxterm.slitaz.org/">ajaxterm.slitaz.org</a> - Slitaz Web Console.
141 (<a href="http://mirror.slitaz.org/awstats.pl?config=ajaxterm.slitaz.org" target="_blank">stats</a>)</li>
142 </ul>
144 <a name="replicas"></a>
145 <h3><a href="http://mirror.slitaz.org/awstats.pl?config=replicas.mirror.slitaz.org" target="_blank">
146 <img title="Tank replicas" alt="replicas"
147 src="pics/website/vhosts.png" /></a>Tank replicas</h3>
149 <ul>
150 <li><a href="http://mirror.slitaz.org/www/">www.slitaz.org</a> - SliTaz Website.
151 (<a href="http://www.slitaz.org/" target="_blank">main</a>)</li>
152 <li><a href="http://mirror.slitaz.org/doc/">doc.slitaz.org</a> - Documentation.
153 (<a href="http://doc.slitaz.org/" target="_blank">main</a>)</li>
154 <li><a href="http://mirror.slitaz.org/pkgs/">pkgs.slitaz.org</a> - Packages Web interface.
155 (<a href="http://pkgs.slitaz.org/" target="_blank">main</a>)</li>
156 <li><a href="http://mirror.slitaz.org/hg/">hg.slitaz.org</a> - Mercurial repositories (read only).
157 (<a href="http://hg.slitaz.org/" target="_blank">main</a>
158 <a href="http://hg.tuxfamily.org/mercurialroot/slitaz/" target="_blank">tuxfamily</a>)</li>
159 <li><a href="http://mirror.slitaz.org/webboot/">boot.slitaz.org</a> - gPXE Web boot.
160 (<a href="http://boot.slitaz.org/" target="_blank">main</a>)</li>
161 </ul>
163 <a name="mirrors"></a>
164 <h3><a href="http://mirror.slitaz.org/awstats.pl?config=rsync" target="_blank">
165 <img title="Secondary mirrors" src="pics/website/vhosts.png"
166 alt="mirrors" /></a>Mirrors</h3>
167 Most mirrors are updated using the url: <b>rsync://mirror.slitaz.org/slitaz/</b>
168 (<a href="http://mirror.slitaz.org/awstats.pl?config=rsync">stats</a>)
169 <pre>
170 rsync -azH --delete rsync://mirror.slitaz.org/slitaz/ /local/slitaz/mirror/ </pre>
171 New mirrors should be announced on the
172 <a href="http://www.slitaz.org/en/mailing-list.html">mailing list</a>.
173 <ul>
174 <?php
175 $output_url_file="";
176 $output_url_handler;
177 $mirrors_url_file="/tmp/mirrors";
179 function test_url($link, $proto)
180 {
181 global $output_url_file;
182 global $mirrors_url_file;
183 global $output_url_handler;
185 if ($output_url_file != "") {
186 switch($proto) {
187 case "http" :
188 case "ftp" :
189 $cmd = "busybox wget -s $link/README" ;
190 break;
191 case "rsync" :
192 $cmd = "rsync $link > /dev/null 2>&1" ;
193 break;
194 default :
195 return FALSE;
196 }
197 if (shell_exec("$cmd && echo -n OK") == "OK") {
198 fwrite($output_url_handler,$link."\n");
199 return TRUE;
200 }
201 return FALSE;
202 }
203 return shell_exec("grep -qs ^$link$ $mirrors_url_file && echo -n OK") == "OK";
204 }
206 if (! file_exists($mirrors_url_file)) {
207 $output_url_file = tempnam('/tmp','mkmirrors');
208 $output_url_handler = fopen($output_url_file, "w");
209 fwrite($output_url_handler,"http://mirror.slitaz.org/\n");
210 fwrite($output_url_handler,"rsync://mirror.slitaz.org/\n");
211 }
213 foreach (array(
214 array( "flag" => "ch",
215 "http" => "http://mirror.switch.ch/ftp/mirror/slitaz/",
216 "ftp" => "ftp://mirror.switch.ch/mirror/slitaz/"),
217 array( "flag" => "us",
218 "http" => "http://www.gtlib.gatech.edu/pub/slitaz/",
219 "ftp" => "ftp://ftp.gtlib.gatech.edu/pub/slitaz/",
220 "rsync" => "rsync://www.gtlib.gatech.edu/slitaz/"),
221 array( "flag" => "fr",
222 "http" => "http://download.tuxfamily.org/slitaz/",
223 "ftp" => "ftp://download.tuxfamily.org/slitaz/",
224 "rsync" => "rsync://download.tuxfamily.org/pub/slitaz/"),
225 array( "flag" => "fr",
226 "http" => "http://www.linuxembarque.com/slitaz/mirror/"),
227 array( "flag" => "cn",
228 "http" => "http://mirror.lupaworld.com/slitaz/"),
229 array( "flag" => "br",
230 "http" => "http://slitaz.c3sl.ufpr.br/",
231 "ftp" => "ftp://slitaz.c3sl.ufpr.br/slitaz/",
232 "rsync" => "rsync://slitaz.c3sl.ufpr.br/slitaz/"),
233 array( "flag" => "it",
234 "http" => "http://slitaz.mirror.garr.it/mirrors/slitaz/",
235 "ftp" => "ftp://slitaz.mirror.garr.it/mirrors/slitaz/",
236 "rsync" => "rsync://slitaz.mirror.garr.it/mirrors/slitaz/"),
237 array( "flag" => "si",
238 "http" => "http://mirror.drustvo-dns.si/slitaz/"),
239 array( "flag" => "si",
240 "ftp" => "ftp://ftp.pina.si/slitaz/"),
241 array( "flag" => "us",
242 "http" => "http://distro.ibiblio.org/pub/linux/distributions/slitaz/",
243 "ftp" => "ftp://distro.ibiblio.org/pub/linux/distributions/slitaz/"),
244 array( "flag" => "nl",
245 "http" => "http://ftp.vim.org/ftp/os/Linux/distr/slitaz/",
246 "ftp" => "ftp://ftp.vim.org/mirror/os/Linux/distr/slitaz/"),
247 array( "flag" => "nl",
248 "http" => "http://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/",
249 "ftp" => "ftp://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/"),
250 array( "flag" => "ch",
251 "http" => "http://ftp.ch.xemacs.org/ftp/pool/2/mirror/slitaz/",
252 "ftp" => "ftp://ftp.ch.xemacs.org//pool/2/mirror/slitaz/"),
253 array( "flag" => "us",
254 "http" => "http://mirror.clarkson.edu/slitaz/",
255 "rsync" => "rsync://mirror.clarkson.edu/slitaz/")) as $mirror) {
256 $flag = "pics/website/".$mirror["flag"].".png";
257 $head = TRUE;
258 foreach(array("http", "ftp", "rsync") as $proto) {
259 if (!isset($mirror[$proto])) continue;
260 $link = $mirror[$proto];
261 if (!test_url($link, $proto)) continue;
262 $serveur = parse_url($link, PHP_URL_HOST);
263 if ($head) echo <<<EOT
264 <li><a href="http://en.utrace.de/?query=$serveur">
265 <img title="map" src="$flag" alt="map" /></a>
266 <a href="$link">$link</a>
267 EOT;
268 else echo <<<EOT
269 or <a href="$link">$proto</a>
270 EOT;
271 $head = FALSE;
272 }
273 if ($head) continue;
274 echo " </li>\n";
275 }
277 if ($output_url_file != "") {
278 fclose($output_url_handler);
279 rename($output_url_file, $mirrors_url_file);
280 chmod($mirrors_url_file, 0644);
281 }
283 ?>
284 </ul>
286 <a name="builds"></a>
287 <h3><img title="Daily builds" src="pics/website/cdrom.png" alt="builds"
288 width="25" height="25" />
289 Daily builds</h3>
291 <?php
292 function display_log($file,$anchor,$url)
293 {
294 echo '<a name="'.$anchor.'"></a>';
295 echo "<h4><a href=\"$url\">";
296 system("stat -c '%y %n' ".$file." | sed 's/.000000000//;s|/var/log/\(.*\).log|\\1.iso|'");
297 echo "</a></h4>";
298 echo "<pre>";
299 system("sed 's/.\[[0-9][^mG]*.//g;:a;s/^\(.\{1,68\}\)\(\[ [A-Za-z]* \]\)/\\1 \\2/;ta' < $file");
300 echo "</pre>";
301 }
303 display_log("/var/log/packages-stable.log", "buildstable", "/iso/stable/packages-3.0.iso");
304 display_log("/var/log/packages-cooking.log","buildcooking","/iso/cooking/packages-cooking.iso");
305 ?>
307 <!-- End of content -->
308 </div>
310 <div id="content_bottom">
311 <div class="bottom_left"></div>
312 <div class="bottom_right"></div>
313 </div>
315 <!-- Start of footer and copy notice -->
316 <div id="copy">
317 <p>
318 Last update : <?php echo date('r'); ?>
319 </p>
320 <p>
321 Copyright &copy; <?php echo date('Y'); ?> <a href="http://www.slitaz.org/">SliTaz</a> -
322 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
323 </p>
324 <!-- End of copy -->
325 </div>
327 <!-- Bottom and logo's -->
328 <div id="bottom">
329 <p>
330 <a href="http://validator.w3.org/check?uri=referer"><img
331 src="/css/pics/website/xhtml10.png" alt="Valid XHTML 1.0"
332 title="Code validé XHTML 1.0"
333 style="width: 80px; height: 15px;" /></a>
334 </p>
335 </div>
337 </body>
338 </html>