slitaz-dev-tools annotate mirror-tools/mirror-info/index.php @ rev 129

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