slitaz-forge rev 602

New style on mirror1
mirror1.slitaz.org/ : mirror1.slitaz.org/info/ : mirror1.slitaz.org/webboot/ : dvd.slitaz.org
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Oct 16 02:08:09 2015 +0300 (2015-10-16)
parents dd8c986dfebf
children d50b1e11ce39
files boot/de/index.php boot/en/index.php boot/fr/index.php boot/images/locale.png boot/images/logo.png boot/images/network.png boot/images/users.png boot/index.cgi boot/index.php boot/pt/index.php boot/ru/index.php boot/slitaz.css boot/static/home.png boot/static/logo.png boot/static/preferences-desktop-locale.png boot/static/qr.png boot/static/qrcode.min.js boot/static/slitaz.min.css dvd/download.php dvd/en/index.html dvd/index.php dvd/mkpkgiso dvd/ru/index.html dvd/static/favicon.ico dvd/static/home.png dvd/static/logo.png dvd/static/qr.png dvd/static/qrcode.min.js dvd/static/slitaz.min.css mirror/info/graphs.php mirror/info/images/development.png mirror/info/images/flags/au.png mirror/info/images/flags/br.png mirror/info/images/flags/ch.png mirror/info/images/flags/cn.png mirror/info/images/flags/de.png mirror/info/images/flags/fr.png mirror/info/images/flags/it.png mirror/info/images/flags/nl.png mirror/info/images/flags/si.png mirror/info/images/flags/us.png mirror/info/images/iso.png mirror/info/images/monitor.png mirror/info/images/server.png mirror/info/index.php mirror/root/README mirror/root/dir-generator.php mirror/root/humans.txt mirror/root/index.php mirror/root/mirrors.html mirror/root/robots.txt mirror/root/static/network-server.png mirror/root/static/preferences-desktop-locale.png mirror/root/static/slitaz.css mirror/root/static/slitaz.min.css
line diff
     1.1 --- a/boot/de/index.php	Sat Oct 10 14:22:49 2015 +0300
     1.2 +++ b/boot/de/index.php	Fri Oct 16 02:08:09 2015 +0300
     1.3 @@ -1,49 +1,39 @@
     1.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     1.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     1.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     1.7 +<!DOCTYPE html>
     1.8 +<html lang="de">
     1.9  <head>
    1.10 -    <title>SliTaz Web Boot (de)</title>
    1.11 -    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    1.12 -    <meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking" />
    1.13 -    <meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS" />
    1.14 -    <meta name="robots" content="index, follow, all" />
    1.15 -    <meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>" />
    1.16 -    <meta name="author" content="Christophe Lincoln"/>
    1.17 -    <link rel="shortcut icon" href="../favicon.ico" />
    1.18 -    <link rel="stylesheet" type="text/css" href="../slitaz.css" />
    1.19 +	<meta charset="UTF-8">
    1.20 +	<title>SliTaz Web Boot</title>
    1.21 +	<meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking">
    1.22 +	<meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS">
    1.23 +	<meta name="robots" content="index, follow, all">
    1.24 +	<meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>">
    1.25 +	<meta name="author" content="Christophe Lincoln">
    1.26 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    1.27 +	<link rel="shortcut icon" href="../favicon.ico">
    1.28 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
    1.29  </head>
    1.30  <body>
    1.31  
    1.32 -<!-- Header -->
    1.33 -<div id="header">
    1.34 -	<div id="logo"></div>
    1.35 -	<div id="network">
    1.36 -		<a href="http://www.slitaz.org/">
    1.37 -			<img src="../images/network.png" alt="network.png" /></a>
    1.38 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
    1.39 +
    1.40 +<header>
    1.41 +	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
    1.42 +	<div class="network">
    1.43 +		<a href="http://www.slitaz.org/" class="home"></a>
    1.44  		<a href="http://scn.slitaz.org/">Community</a>
    1.45  		<a href="http://doc.slitaz.org/">Doc</a>
    1.46  		<a href="http://forum.slitaz.org/">Forum</a>
    1.47  		<a href="http://bugs.slitaz.org">Bugs</a>
    1.48  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
    1.49  	</div>
    1.50 -	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
    1.51 -</div>
    1.52 +</header>
    1.53  
    1.54  <!-- Block -->
    1.55 -<div id="block">
    1.56 -	<!-- Navigation -->
    1.57 -	<div id="block_nav">
    1.58 -		<h4><img src="../images/users.png" alt="users.png" />Community</h4>
    1.59 -		<ul>
    1.60 -			<li><a href="http://scn.slitaz.org/">Community Network</a></li>
    1.61 -			<li><a href="http://pizza.slitaz.org/">LiveCD Online Builder</a></li>
    1.62 -			<li><a href="http://doc.slitaz.org/en:cookbook:start">SliTaz Cookbook</a></li>
    1.63 -			<li><a href="http://doc.slitaz.org/en:handbook:genlivecd">LiveCD flavor howto</a></li>
    1.64 -		</ul>
    1.65 -	</div>
    1.66 +<div class="block"><div>
    1.67 +
    1.68  	<!-- Information/image -->
    1.69 -	<div id="block_info">
    1.70 -		<h4>Web Boot</h4>
    1.71 +	<div class="block_info">
    1.72 +		<header>Web Boot</header>
    1.73  		<p>
    1.74  			Willkommen am Start-Provider gPXE von
    1.75  			<a href="http://www.slitaz.org/de/">SliTaz GNU/Linux</a>,
    1.76 @@ -51,26 +41,37 @@
    1.77  			durch einfache benützung einer CD-ROM, eines USB-Sticks oder
    1.78  			gar einer Start-Floppy, einzusetzen.
    1.79  		</p>
    1.80 -		<div class="button" style="padding-top: 8px;">
    1.81 +		<p>
    1.82  			Quick Download:
    1.83  			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
    1.84 -		</div>
    1.85 +		</p>
    1.86  	</div>
    1.87 -</div>
    1.88 +
    1.89 +	<!-- Navigation -->
    1.90 +	<nav>
    1.91 +		<header>Community</header>
    1.92 +		<ul>
    1.93 +			<li><a href="http://scn.slitaz.org/">Community Network</a></li>
    1.94 +			<li><a href="http://pizza.slitaz.org/">LiveCD Online Builder</a></li>
    1.95 +			<li><a href="http://doc.slitaz.org/en:cookbook:start">SliTaz Cookbook</a></li>
    1.96 +			<li><a href="http://doc.slitaz.org/en:handbook:genlivecd">LiveCD flavor howto</a></li>
    1.97 +		</ul>
    1.98 +	</nav>
    1.99 +</div></div>
   1.100 +
   1.101 +<!-- Content -->
   1.102 +<main>
   1.103  
   1.104  <!-- Languages -->
   1.105 -<div id="lang">
   1.106 -	<a href="http://www.slitaz.org/i18n.php">
   1.107 -		<img src="../images/locale.png" alt="i18n" /></a>
   1.108 -	<a href="../de/">Deutsch</a>
   1.109 +<div class="lang">
   1.110 +	<a href="http://www.slitaz.org/i18n.php" class="locale"></a>
   1.111 +	<b>Deutsch</b>
   1.112  	<a href="../en/">English</a>
   1.113  	<a href="../fr/">Français</a>
   1.114  	<a href="../pt/">Português</a>
   1.115  	<a href="../ru/">Русский</a>
   1.116  </div>
   1.117  
   1.118 -<!-- Content -->
   1.119 -<div id="content">
   1.120  
   1.121  <h2>Introduction und guide</h2>
   1.122  
   1.123 @@ -79,28 +80,54 @@
   1.124  PXE/HTTP geladen. Viel Freude damit! <a href="../en/#guide">Short guide...</a>
   1.125  </p>
   1.126  
   1.127 +<p> <br/> <br/> <br/> <br/> </p>
   1.128 +
   1.129  <!-- End of content -->
   1.130 -</div>
   1.131 +</main>
   1.132  
   1.133 -<!-- Footer -->
   1.134 -<div id="footer">
   1.135 -	Copyright &copy; <span class="year"></span>
   1.136 -	<a href="http://www.slitaz.org/">SliTaz</a> - Network:
   1.137 -	<a href="http://scn.slitaz.org/">Community</a>
   1.138 -	<a href="http://doc.slitaz.org/">Doc</a>
   1.139 -	<a href="http://forum.slitaz.org/">Forum</a>
   1.140 -	<a href="http://pkgs.slitaz.org/">Packages</a>
   1.141 -	<a href="http://bugs.slitaz.org">Bugs</a>
   1.142 -	<a href="http://hg.slitaz.org/">Hg</a>
   1.143 -	<p>
   1.144 +<script>
   1.145 +	function QRCodePNG(str, obj) {
   1.146 +		try {
   1.147 +			obj.height = obj.width += 300;
   1.148 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
   1.149 +		}
   1.150 +		catch (any) {
   1.151 +			var element = document.createElement("script");
   1.152 +			element.src = "/static/qrcode.min.js";
   1.153 +			element.type = "text/javascript";
   1.154 +			element.onload = function() {
   1.155 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
   1.156 +			};
   1.157 +			document.body.appendChild(element);
   1.158 +		}
   1.159 +	}
   1.160 +</script>
   1.161 +
   1.162 +<footer>
   1.163 +	<div>
   1.164 +		Copyright © <span class="year"></span>
   1.165 +		<a href="http://www.slitaz.org/">SliTaz</a>
   1.166 +	</div>
   1.167 +	<div>
   1.168 +		Network:
   1.169 +		<a href="http://scn.slitaz.org/">Community</a> ·
   1.170 +		<a href="http://doc.slitaz.org/">Doc</a> ·
   1.171 +		<a href="http://forum.slitaz.org/">Forum</a> ·
   1.172 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
   1.173 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
   1.174 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
   1.175 +	</div>
   1.176 +	<div>
   1.177  		SliTaz @
   1.178 -		<a href="http://twitter.com/slitaz">Twitter</a>
   1.179 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
   1.180 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
   1.181 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
   1.182 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
   1.183 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
   1.184 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
   1.185 +		<a href="http://de.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
   1.186  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
   1.187 -	</p>
   1.188 -</div>
   1.189 +	</div>
   1.190 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
   1.191 +	onclick="this.src = QRCodePNG(location.href, this)"/>
   1.192 +</footer>
   1.193  
   1.194  </body>
   1.195  </html>
     2.1 --- a/boot/en/index.php	Sat Oct 10 14:22:49 2015 +0300
     2.2 +++ b/boot/en/index.php	Fri Oct 16 02:08:09 2015 +0300
     2.3 @@ -1,39 +1,53 @@
     2.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     2.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     2.7 +<!DOCTYPE html>
     2.8 +<html lang="en">
     2.9  <head>
    2.10 -    <title>SliTaz Web Boot</title>
    2.11 -    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    2.12 -    <meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking" />
    2.13 -    <meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS" />
    2.14 -    <meta name="robots" content="index, follow, all" />
    2.15 -    <meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>" />
    2.16 -    <meta name="author" content="Christophe Lincoln"/>
    2.17 -    <link rel="shortcut icon" href="../favicon.ico" />
    2.18 -    <link rel="stylesheet" type="text/css" href="../slitaz.css" />
    2.19 +	<meta charset="UTF-8">
    2.20 +	<title>SliTaz Web Boot</title>
    2.21 +	<meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking">
    2.22 +	<meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS">
    2.23 +	<meta name="robots" content="index, follow, all">
    2.24 +	<meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>">
    2.25 +	<meta name="author" content="Christophe Lincoln">
    2.26 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    2.27 +	<link rel="shortcut icon" href="../favicon.ico">
    2.28 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
    2.29  </head>
    2.30  <body>
    2.31  
    2.32 -<!-- Header -->
    2.33 -<div id="header">
    2.34 -	<div id="logo"></div>
    2.35 -	<div id="network">
    2.36 -		<a href="http://www.slitaz.org/">
    2.37 -			<img src="../images/network.png" alt="network.png" /></a>
    2.38 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
    2.39 +
    2.40 +<header>
    2.41 +	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
    2.42 +	<div class="network">
    2.43 +		<a href="http://www.slitaz.org/" class="home"></a>
    2.44  		<a href="http://scn.slitaz.org/">Community</a>
    2.45  		<a href="http://doc.slitaz.org/">Doc</a>
    2.46  		<a href="http://forum.slitaz.org/">Forum</a>
    2.47  		<a href="http://bugs.slitaz.org">Bugs</a>
    2.48  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
    2.49  	</div>
    2.50 -	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
    2.51 -</div>
    2.52 +</header>
    2.53  
    2.54  <!-- Block -->
    2.55 -<div id="block">
    2.56 +<div class="block"><div>
    2.57 +
    2.58 +	<!-- Information/image -->
    2.59 +	<div class="block_info">
    2.60 +		<header>Web Boot</header>
    2.61 +		<p>
    2.62 +			Welcome to the <a href="http://www.slitaz.org/en/">SliTaz GNU/Linux</a>
    2.63 +			gPXE boot host; boot.slitaz.org allows you to boot SliTaz from the Web
    2.64 +			using a cdrom, USB media or a floppy disk.
    2.65 +		</p>
    2.66 +		<p>
    2.67 +			Quick Download:
    2.68 +			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
    2.69 +		</p>
    2.70 +	</div>
    2.71 +
    2.72  	<!-- Navigation -->
    2.73 -	<div id="block_nav">
    2.74 -		<h4><img src="../images/users.png" alt="users.png" />Community</h4>
    2.75 +	<nav>
    2.76 +		<header>Community</header>
    2.77  		<ul>
    2.78  			<li><a href="http://scn.slitaz.org/">Community Network</a></li>
    2.79  			<li><a href="http://pizza.slitaz.org/">LiveCD Online Builder</a></li>
    2.80 @@ -41,34 +55,21 @@
    2.81  			<li><a href="http://doc.slitaz.org/en:handbook:genlivecd">LiveCD flavor howto</a></li>
    2.82  		</ul>
    2.83  	</div>
    2.84 -	<!-- Information/image -->
    2.85 -	<div id="block_info">
    2.86 -		<h4>Web Boot</h4>
    2.87 -		<p>
    2.88 -			Welcome to the <a href="http://www.slitaz.org/en/">SliTaz GNU/Linux</a>
    2.89 -			gPXE boot host; boot.slitaz.org allows you to boot SliTaz from the Web
    2.90 -			using a cdrom, USB media or a floppy disk.
    2.91 -		</p>
    2.92 -		<div class="button" style="padding-top: 8px;">
    2.93 -			Quick Download:
    2.94 -			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
    2.95 -		</div>
    2.96 -	</div>
    2.97 -</div>
    2.98 +</div></div>
    2.99 +
   2.100 +<!-- Content -->
   2.101 +<main>
   2.102  
   2.103  <!-- Languages -->
   2.104 -<div id="lang">
   2.105 -	<a href="http://www.slitaz.org/i18n.php">
   2.106 -		<img src="../images/locale.png" alt="i18n" /></a>
   2.107 +<div class="lang">
   2.108 +	<a href="http://www.slitaz.org/i18n.php" class="locale"></a>
   2.109  	<a href="../de/">Deutsch</a>
   2.110 -	<a href="../en/">English</a>
   2.111 +	<b>English</b>
   2.112  	<a href="../fr/">Français</a>
   2.113  	<a href="../pt/">Português</a>
   2.114  	<a href="../ru/">Русский</a>
   2.115  </div>
   2.116  
   2.117 -<!-- Content -->
   2.118 -<div id="content">
   2.119  
   2.120  <h2>Introduction</h2>
   2.121  
   2.122 @@ -79,8 +80,8 @@
   2.123  	RAM from the Web using PXE and HTTP protocols.
   2.124  </p>
   2.125  
   2.126 -<a name="guide"></a>
   2.127 -<h2>Short guide</h2>
   2.128 +
   2.129 +<h2 id="guide">Short guide</h2>
   2.130  <p>
   2.131  To boot from the internet you'll need a working DHCP server, DNS server/cache
   2.132  and a default internet route. This is usually the case if you have a router
   2.133 @@ -92,7 +93,7 @@
   2.134  	<li>SliTaz boot ISO: Download
   2.135  	<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
   2.136  	(<a href="http://mirror.slitaz.org/boot/slitaz-boot.md5">md5</a>)
   2.137 -	and burn the image to a cdrom. Boot from the cdrom device and select
   2.138 +	and burn the image to a CD ROM. Boot from the CD ROM device and select
   2.139  	gPXE. This ISO image also provides Memtest86 to test system memory.
   2.140  	</li>
   2.141  	<li>USB media: Use TazUSB to generate bootable USB media. Install
   2.142 @@ -111,7 +112,7 @@
   2.143  	gPXE entry.</li>
   2.144  	<li>Network boot: if you can modify your DHCP server configuration, declare
   2.145  	the tftp server <i>mirror.slitaz.org</i> and the boot file
   2.146 -	<i>gpxe.pxe</i> :
   2.147 +	<i>gpxe.pxe</i>:
   2.148  	<ul>
   2.149  	<li>for <b>udhcpd</b>
   2.150  	<pre>siaddr mirror.slitaz.org
   2.151 @@ -122,20 +123,24 @@
   2.152  	<li>for <b>dnsmasq</b>
   2.153  	<pre>dhcp-boot=gpxe.pxe,mirror.slitaz.org</pre></li>
   2.154  	</ul>
   2.155 -	</li>	
   2.156 +	</li>
   2.157  </ul>
   2.158  
   2.159 +
   2.160  <h3>Boot time</h3>
   2.161 +
   2.162  <p>
   2.163 -The boot time largely depends on your network connection. With a 1Mb
   2.164 -connection in France, it takes 5 min. If you want, you can report the
   2.165 +The boot time largely depends on your network connection. With a 1 Mb/s
   2.166 +connection in France, it takes 5 min. If you want, you can report the
   2.167  boot time on the Mailing list or the Forum.
   2.168  </p>
   2.169  
   2.170 +
   2.171  <h3>Required configuration</h3>
   2.172 +
   2.173  <p>
   2.174 -The default boot entry needs 160Mb RAM. Two entries are available to
   2.175 -boot with 24Mb:
   2.176 +The default boot entry needs 160 MB RAM. Two entries are available to
   2.177 +boot with 24 MB:
   2.178  </p>
   2.179  <ul>
   2.180  	<li><code>tiny</code> starts in text mode.</li>
   2.181 @@ -143,27 +148,51 @@
   2.182  </ul>
   2.183  
   2.184  <!-- End of content -->
   2.185 -</div>
   2.186 +</main>
   2.187  
   2.188 -<!-- Footer -->
   2.189 -<div id="footer">
   2.190 -	Copyright &copy; <span class="year"></span>
   2.191 -	<a href="http://www.slitaz.org/">SliTaz</a> - Network:
   2.192 -	<a href="http://scn.slitaz.org/">Community</a>
   2.193 -	<a href="http://doc.slitaz.org/">Doc</a>
   2.194 -	<a href="http://forum.slitaz.org/">Forum</a>
   2.195 -	<a href="http://pkgs.slitaz.org/">Packages</a>
   2.196 -	<a href="http://bugs.slitaz.org">Bugs</a>
   2.197 -	<a href="http://hg.slitaz.org/">Hg</a>
   2.198 -	<p>
   2.199 +<script>
   2.200 +	function QRCodePNG(str, obj) {
   2.201 +		try {
   2.202 +			obj.height = obj.width += 300;
   2.203 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
   2.204 +		}
   2.205 +		catch (any) {
   2.206 +			var element = document.createElement("script");
   2.207 +			element.src = "/static/qrcode.min.js";
   2.208 +			element.type = "text/javascript";
   2.209 +			element.onload = function() {
   2.210 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
   2.211 +			};
   2.212 +			document.body.appendChild(element);
   2.213 +		}
   2.214 +	}
   2.215 +</script>
   2.216 +
   2.217 +<footer>
   2.218 +	<div>
   2.219 +		Copyright © <span class="year"></span>
   2.220 +		<a href="http://www.slitaz.org/">SliTaz</a>
   2.221 +	</div>
   2.222 +	<div>
   2.223 +		Network:
   2.224 +		<a href="http://scn.slitaz.org/">Community</a> ·
   2.225 +		<a href="http://doc.slitaz.org/">Doc</a> ·
   2.226 +		<a href="http://forum.slitaz.org/">Forum</a> ·
   2.227 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
   2.228 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
   2.229 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
   2.230 +	</div>
   2.231 +	<div>
   2.232  		SliTaz @
   2.233 -		<a href="http://twitter.com/slitaz">Twitter</a>
   2.234 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
   2.235 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
   2.236 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
   2.237 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
   2.238 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
   2.239 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
   2.240 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
   2.241  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
   2.242 -	</p>
   2.243 -</div>
   2.244 +	</div>
   2.245 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
   2.246 +	onclick="this.src = QRCodePNG(location.href, this)"/>
   2.247 +</footer>
   2.248  
   2.249  </body>
   2.250  </html>
     3.1 --- a/boot/fr/index.php	Sat Oct 10 14:22:49 2015 +0300
     3.2 +++ b/boot/fr/index.php	Fri Oct 16 02:08:09 2015 +0300
     3.3 @@ -1,76 +1,77 @@
     3.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     3.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     3.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     3.7 +<!DOCTYPE html>
     3.8 +<html lang="fr">
     3.9  <head>
    3.10 -    <title>SliTaz Web Boot (fr)</title>
    3.11 -    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    3.12 -    <meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking" />
    3.13 -    <meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS" />
    3.14 -    <meta name="robots" content="index, follow, all" />
    3.15 -    <meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>" />
    3.16 -    <meta name="author" content="Christophe Lincoln"/>
    3.17 -    <link rel="shortcut icon" href="../favicon.ico" />
    3.18 -    <link rel="stylesheet" type="text/css" href="../slitaz.css" />
    3.19 +	<meta charset="UTF-8">
    3.20 +	<title>SliTaz Web Boot</title>
    3.21 +	<meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking">
    3.22 +	<meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS">
    3.23 +	<meta name="robots" content="index, follow, all">
    3.24 +	<meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>">
    3.25 +	<meta name="author" content="Christophe Lincoln">
    3.26 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    3.27 +	<link rel="shortcut icon" href="../favicon.ico">
    3.28 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
    3.29  </head>
    3.30  <body>
    3.31  
    3.32 -<!-- Header -->
    3.33 -<div id="header">
    3.34 -	<div id="logo"></div>
    3.35 -	<div id="network">
    3.36 -		<a href="http://www.slitaz.org/">
    3.37 -			<img src="../images/network.png" alt="network.png" /></a>
    3.38 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
    3.39 +
    3.40 +<header>
    3.41 +	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
    3.42 +	<div class="network">
    3.43 +		<a href="http://www.slitaz.org/" class="home"></a>
    3.44  		<a href="http://scn.slitaz.org/">Community</a>
    3.45  		<a href="http://doc.slitaz.org/">Doc</a>
    3.46  		<a href="http://forum.slitaz.org/">Forum</a>
    3.47  		<a href="http://bugs.slitaz.org">Bugs</a>
    3.48  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
    3.49  	</div>
    3.50 -	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
    3.51 -</div>
    3.52 +</header>
    3.53  
    3.54  <!-- Block -->
    3.55 -<div id="block">
    3.56 +<div class="block"><div>
    3.57 +
    3.58 +	<!-- Information/image -->
    3.59 +	<div class="block_info">
    3.60 +		<header>Démarrage via le réseau</header>
    3.61 +		<p>
    3.62 +			Bienvenue sur l'hôte de démarrage gPXE de
    3.63 +			<a href="http://www.slitaz.org/fr/">SliTaz GNU/Linux</a>,
    3.64 +			boot.slitaz.org vous permet de démarrer SliTaz depuis le
    3.65 +			réseau en utilisant un CD-ROM, une clé USB ou une disquette
    3.66 +			de démarrage.
    3.67 +		</p>
    3.68 +		<p>
    3.69 +			Téléchargement rapide :
    3.70 +			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
    3.71 +		</p>
    3.72 +	</div>
    3.73 +
    3.74  	<!-- Navigation -->
    3.75 -	<div id="block_nav">
    3.76 -		<h4><img src="../images/users.png" alt="users.png" />Community</h4>
    3.77 +	<nav>
    3.78 +		<header>Community</header>
    3.79  		<ul>
    3.80  			<li><a href="http://scn.slitaz.org/">Community Network</a></li>
    3.81  			<li><a href="http://pizza.slitaz.org/">LiveCD Online Builder</a></li>
    3.82  			<li><a href="http://doc.slitaz.org/en:cookbook:start">SliTaz Cookbook</a></li>
    3.83  			<li><a href="http://doc.slitaz.org/en:handbook:genlivecd">LiveCD flavor howto</a></li>
    3.84  		</ul>
    3.85 -	</div>
    3.86 -	<!-- Information/image -->
    3.87 -	<div id="block_info">
    3.88 -		<h4>Démarrage via le réseau</h4>
    3.89 -		<p>
    3.90 -			Bienvenue sur l'hôte de démarrage gPXE de
    3.91 -			<a href="http://www.slitaz.org/fr/">SliTaz GNU/Linux</a>,
    3.92 -			boot.slitaz.org vous permet de démarrer SliTaz depuis le
    3.93 -			réseau en utilisant un cdrom, une clé USB ou une disquette
    3.94 -			de démarrage.
    3.95 -		</p>
    3.96 -		<div class="button" style="padding-top: 8px;">
    3.97 -			Téléchargement rapide:
    3.98 -			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
    3.99 -		</div>
   3.100 -	</div>
   3.101 -</div>
   3.102 +	</nav>
   3.103 +</div></div>
   3.104 +
   3.105 +<!-- Content -->
   3.106 +<main>
   3.107  
   3.108  <!-- Languages -->
   3.109 -<div id="lang">
   3.110 -	<a href="http://www.slitaz.org/i18n.php">
   3.111 -		<img src="../images/locale.png" alt="i18n" /></a>
   3.112 +<div class="lang">
   3.113 +	<a href="http://www.slitaz.org/i18n.php" class="locale"></a>
   3.114  	<a href="../de/">Deutsch</a>
   3.115  	<a href="../en/">English</a>
   3.116 -	<a href="../fr/">Français</a>
   3.117 +	<b>Français</b>
   3.118  	<a href="../pt/">Português</a>
   3.119  	<a href="../ru/">Русский</a>
   3.120  </div>
   3.121  
   3.122 -<!-- Content -->
   3.123 -<div id="content">
   3.124  
   3.125  <h2>Introduction</h2>
   3.126  
   3.127 @@ -80,7 +81,9 @@
   3.128  depuis internet en utilisant les protocoles PXE et HTTP.
   3.129  </p>
   3.130  
   3.131 +
   3.132  <h2>Guide rapide</h2>
   3.133 +
   3.134  <p>
   3.135  Pour démarrer depuis internet vous devez avoir une configuration réseau
   3.136  fonctionnelle (Serveur DHCP, DNS/DNS cache, passerelle par défaut).
   3.137 @@ -92,33 +95,33 @@
   3.138  	<li>La version Cooking de permet de démarrer depuis boot.slitaz.org
   3.139  	en utilisant l'option <code>web</code> au boot, cela permet d'utiliser
   3.140  	le LiveCD standard pour tester la dernière version sans regraver un
   3.141 -	cdrom.</li>
   3.142 +	CD-ROM.</li>
   3.143  
   3.144 -	<li>Image ISO SliTaz boot: Téléchargez le fichier
   3.145 +	<li>Image ISO SliTaz boot : Téléchargez le fichier
   3.146  	<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
   3.147  	(<a href="http://mirror.slitaz.org/boot/slitaz-boot.md5">md5</a>)
   3.148 -	et gravez l'image sur un cdrom vierge. Démarrez depuis le cdrom et
   3.149 +	et gravez l'image sur un CD-ROM vierge. Démarrez depuis le CD-ROM et
   3.150  	choisissez l'option gPXE. Cette image ISO vous permet également de tester
   3.151  	la mémoire système avec Memtest86.</li>
   3.152 -	<li>Média USB: Utilisez TazUSB pour générer un média USB amorçable.
   3.153 +	<li>Média USB : Utilisez TazUSB pour générer un média USB amorçable.
   3.154  	Installez le paquet <code>gpxe</code>, copiez le répertoire /boot/gpxe
   3.155  	dans le répertoire boot du média USB et ajoutez une entrée dans le
   3.156 -	fichier de configuration de Syslinux <code>syslinux.cfg</code> :
   3.157 +	fichier de configuration de Syslinux <code>syslinux.cfg</code> :
   3.158  <pre>
   3.159  label web
   3.160  	kernel /boot/gpxe
   3.161  </pre></li>
   3.162  
   3.163 -	<li>Image de disquette: Téléchargez le fichier
   3.164 +	<li>Image de disquette : Téléchargez le fichier
   3.165  	<a href="http://mirror.slitaz.org/boot/floppy-grub">floppy-grub</a>
   3.166  	(<a href="http://mirror.slitaz.org/boot/floppy-grub.md5">md5</a>)
   3.167  	Transférez l'image sur une disquette vierge en utilisant la commande
   3.168 -	suivant: <code>dd if=floppy-grub of=/dev/fd0</code>. Démarrez sur
   3.169 +	suivant : <code>dd if=floppy-grub of=/dev/fd0</code>. Démarrez sur
   3.170  	la disquette et choisissez l'entrée gPXE.
   3.171  	</li>
   3.172 -	<li> Démarrage réseau: si vous pouvez modifier la configuration du server DHCP,
   3.173 +	<li>Démarrage réseau : si vous pouvez modifier la configuration du server DHCP,
   3.174  	déclarez le serveur tftp <i>mirror.slitaz.org</i> et le fichier de boot
   3.175 -	<i>gpxe.pxe</i> :
   3.176 +	<i>gpxe.pxe</i> :
   3.177  	<ul>
   3.178  	<li>pour <b>udhcpd</b>
   3.179  	<pre>siaddr mirror.slitaz.org
   3.180 @@ -129,21 +132,25 @@
   3.181  	<li>pour <b>dnsmasq</b>
   3.182  	<pre>dhcp-boot=gpxe.pxe,mirror.slitaz.org</pre></li>
   3.183  	</ul>
   3.184 -	</li>	
   3.185 +	</li>
   3.186  </ul>
   3.187  
   3.188 +
   3.189  <h3>Temps de démarrage</h3>
   3.190 +
   3.191  <p>
   3.192 -Le temps de démarrage dépend de votre vitesse de connexion  à internet
   3.193 -et des charges du serveur. En france avec un débit de 1Mo il faut 5 minutes.
   3.194 +Le temps de démarrage dépend de votre vitesse de connexion à internet
   3.195 +et des charges du serveur. En France avec un débit de 1 Mo il faut 5 minutes.
   3.196  Vous pouvez poster vos retours d'expériences sur le Wiki, Forum ou la
   3.197  liste de diffusion.
   3.198  </p>
   3.199  
   3.200 +
   3.201  <h3>Configuration minimum</h3>
   3.202 +
   3.203  <p>
   3.204 -L'entrée par défaut nécessite au moins 160Mo de RAM. Deux autres sont
   3.205 -disponibles pour démarrer avec 24Mo ou plus :
   3.206 +L'entrée par défaut nécessite au moins 160 Mo de RAM. Deux autres sont
   3.207 +disponibles pour démarrer avec 24 Mo ou plus :
   3.208  </p>
   3.209  <ul>
   3.210  	<li><code>tiny</code> démarre en mode texte.</li>
   3.211 @@ -151,27 +158,51 @@
   3.212  </ul>
   3.213  
   3.214  <!-- End of content -->
   3.215 -</div>
   3.216 +</main>
   3.217  
   3.218 -<!-- Footer -->
   3.219 -<div id="footer">
   3.220 -	Copyright &copy; <span class="year"></span>
   3.221 -	<a href="http://www.slitaz.org/">SliTaz</a> - Network:
   3.222 -	<a href="http://scn.slitaz.org/">Community</a>
   3.223 -	<a href="http://doc.slitaz.org/">Doc</a>
   3.224 -	<a href="http://forum.slitaz.org/">Forum</a>
   3.225 -	<a href="http://pkgs.slitaz.org/">Packages</a>
   3.226 -	<a href="http://bugs.slitaz.org">Bugs</a>
   3.227 -	<a href="http://hg.slitaz.org/">Hg</a>
   3.228 -	<p>
   3.229 +<script>
   3.230 +	function QRCodePNG(str, obj) {
   3.231 +		try {
   3.232 +			obj.height = obj.width += 300;
   3.233 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
   3.234 +		}
   3.235 +		catch (any) {
   3.236 +			var element = document.createElement("script");
   3.237 +			element.src = "/static/qrcode.min.js";
   3.238 +			element.type = "text/javascript";
   3.239 +			element.onload = function() {
   3.240 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
   3.241 +			};
   3.242 +			document.body.appendChild(element);
   3.243 +		}
   3.244 +	}
   3.245 +</script>
   3.246 +
   3.247 +<footer>
   3.248 +	<div>
   3.249 +		Copyright © <span class="year"></span>
   3.250 +		<a href="http://www.slitaz.org/">SliTaz</a>
   3.251 +	</div>
   3.252 +	<div>
   3.253 +		Network :
   3.254 +		<a href="http://scn.slitaz.org/">Community</a> ·
   3.255 +		<a href="http://doc.slitaz.org/">Doc</a> ·
   3.256 +		<a href="http://forum.slitaz.org/">Forum</a> ·
   3.257 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
   3.258 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
   3.259 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
   3.260 +	</div>
   3.261 +	<div>
   3.262  		SliTaz @
   3.263 -		<a href="http://twitter.com/slitaz">Twitter</a>
   3.264 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
   3.265 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
   3.266 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
   3.267 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
   3.268 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
   3.269 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
   3.270 +		<a href="http://fr.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
   3.271  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
   3.272 -	</p>
   3.273 -</div>
   3.274 +	</div>
   3.275 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
   3.276 +	onclick="this.src = QRCodePNG(location.href, this)"/>
   3.277 +</footer>
   3.278  
   3.279  </body>
   3.280  </html>
     4.1 Binary file boot/images/locale.png has changed
     5.1 Binary file boot/images/logo.png has changed
     6.1 Binary file boot/images/network.png has changed
     7.1 Binary file boot/images/users.png has changed
     8.1 --- a/boot/index.cgi	Sat Oct 10 14:22:49 2015 +0300
     8.2 +++ b/boot/index.cgi	Fri Oct 16 02:08:09 2015 +0300
     8.3 @@ -3,8 +3,7 @@
     8.4  #
     8.5  
     8.6  IFS=","
     8.7 -for lang in $HTTP_ACCEPT_LANGUAGE
     8.8 -do
     8.9 +for lang in $HTTP_ACCEPT_LANGUAGE; do
    8.10  	lang=${lang%;*} lang=${lang# } lang=${lang%-*}
    8.11  	[ -d "$lang" ] &&  break
    8.12  done
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/boot/index.php	Fri Oct 16 02:08:09 2015 +0300
     9.3 @@ -0,0 +1,11 @@
     9.4 +<?php
     9.5 +foreach (explode(",", $_SERVER["HTTP_ACCEPT_LANGUAGE"]) as $lang) {
     9.6 +	foreach (array(';',' ','-') as $char) {
     9.7 +		if (($n = strpos($lang, $char)) !== false)
     9.8 +			$lang = substr($lang,0,$n);
     9.9 +	}
    9.10 +	if (is_dir($lang)) break;
    9.11 +	$lang = "en"; 
    9.12 +}
    9.13 +header("Location: $lang/");
    9.14 +?>
    10.1 --- a/boot/pt/index.php	Sat Oct 10 14:22:49 2015 +0300
    10.2 +++ b/boot/pt/index.php	Fri Oct 16 02:08:09 2015 +0300
    10.3 @@ -1,75 +1,76 @@
    10.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    10.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    10.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
    10.7 +<!DOCTYPE html>
    10.8 +<html lang="pt">
    10.9  <head>
   10.10 -    <title>SliTaz Web Boot</title>
   10.11 -    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   10.12 -    <meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking" />
   10.13 -    <meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS" />
   10.14 -    <meta name="robots" content="index, follow, all" />
   10.15 -    <meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>" />
   10.16 -    <meta name="author" content="Christophe Lincoln"/>
   10.17 -    <link rel="shortcut icon" href="../favicon.ico" />
   10.18 -    <link rel="stylesheet" type="text/css" href="../slitaz.css" />
   10.19 +	<meta charset="UTF-8">
   10.20 +	<title>SliTaz Web Boot</title>
   10.21 +	<meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking">
   10.22 +	<meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS">
   10.23 +	<meta name="robots" content="index, follow, all">
   10.24 +	<meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>">
   10.25 +	<meta name="author" content="Christophe Lincoln">
   10.26 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
   10.27 +	<link rel="shortcut icon" href="../favicon.ico">
   10.28 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
   10.29  </head>
   10.30  <body>
   10.31  
   10.32 -<!-- Header -->
   10.33 -<div id="header">
   10.34 -	<div id="logo"></div>
   10.35 -	<div id="network">
   10.36 -		<a href="http://www.slitaz.org/">
   10.37 -			<img src="../images/network.png" alt="network.png" /></a>
   10.38 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
   10.39 +
   10.40 +<header>
   10.41 +	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
   10.42 +	<div class="network">
   10.43 +		<a href="http://www.slitaz.org/" class="home"></a>
   10.44  		<a href="http://scn.slitaz.org/">Community</a>
   10.45  		<a href="http://doc.slitaz.org/">Doc</a>
   10.46  		<a href="http://forum.slitaz.org/">Forum</a>
   10.47  		<a href="http://bugs.slitaz.org">Bugs</a>
   10.48  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
   10.49  	</div>
   10.50 -	<h1><a href="http://boot.slitaz.org/">SliTaz Web Boot</a></h1>
   10.51 -</div>
   10.52 +</header>
   10.53  
   10.54  <!-- Block -->
   10.55 -<div id="block">
   10.56 +<div class="block"><div>
   10.57 +
   10.58 +	<!-- Information/image -->
   10.59 +	<div class="block_info">
   10.60 +		<header>Web Boot</header>
   10.61 +		<p>
   10.62 +			Bem vindo ao servidor de boot via rede do <a
   10.63 +			href="http://www.slitaz.org/en/">SliTaz GNU/Linux</a>;
   10.64 +			boot.slitaz.org permite a você inicializar o  SliTaz
   10.65 +			a partir da web usando um cdrom, mídia USB ou disquete.
   10.66 +		</p>
   10.67 +		<p>
   10.68 +			Link para Download:
   10.69 +			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
   10.70 +		</p>
   10.71 +	</div>
   10.72 +
   10.73  	<!-- Navigation -->
   10.74 -	<div id="block_nav">
   10.75 -		<h4><img src="../images/users.png" alt="users.png" />Community</h4>
   10.76 +	<nav>
   10.77 +		<header>Community</header>
   10.78  		<ul>
   10.79  			<li><a href="http://scn.slitaz.org/">Community Network</a></li>
   10.80  			<li><a href="http://pizza.slitaz.org/">LiveCD Online Builder</a></li>
   10.81  			<li><a href="http://doc.slitaz.org/pt:cookbook:start">SliTaz Cookbook</a></li>
   10.82  			<li><a href="http://doc.slitaz.org/pt:handbook:genlivecd">LiveCD flavor howto</a></li>
   10.83  		</ul>
   10.84 -	</div>
   10.85 -	<!-- Information/image -->
   10.86 -	<div id="block_info">
   10.87 -		<h4>Web Boot</h4>
   10.88 -		<p>
   10.89 -			Bem vindo ao servidor de boot via rede do <a
   10.90 -			href="http://www.slitaz.org/en/">SliTaz GNU/Linux</a>;
   10.91 -			boot.slitaz.org permite a você inicializar o  SliTaz
   10.92 -			a partir da web usando um cdrom, mídia USB ou disquete.
   10.93 -		</p>
   10.94 -		<div class="button" style="padding-top: 8px;">
   10.95 -			Link para Download:
   10.96 -			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
   10.97 -		</div>
   10.98 -	</div>
   10.99 -</div>
  10.100 +	</nav>
  10.101 +</div></div>
  10.102 +
  10.103 +<!-- Content -->
  10.104 +<main>
  10.105  
  10.106  <!-- Languages -->
  10.107 -<div id="lang">
  10.108 -	<a href="http://www.slitaz.org/i18n.php">
  10.109 -		<img src="../images/locale.png" alt="i18n" /></a>
  10.110 +<div class="lang">
  10.111 +	<a href="http://www.slitaz.org/i18n.php" class="locale"></a>
  10.112  	<a href="../de/">Deutsch</a>
  10.113  	<a href="../en/">English</a>
  10.114  	<a href="../fr/">Français</a>
  10.115 -	<a href="../pt/">Português</a>
  10.116 +	<b>Português</b>
  10.117  	<a href="../ru/">Русский</a>
  10.118  </div>
  10.119  
  10.120 -<!-- Content -->
  10.121 -<div id="content">
  10.122  
  10.123  <h2>Introdução</h2>
  10.124  
  10.125 @@ -81,8 +82,9 @@
  10.126  	os protocolos PXE e HTTP.
  10.127  </p>
  10.128  
  10.129 -<a name="guide"></a>
  10.130 -<h2>Guia Rápido</h2>
  10.131 +
  10.132 +<h2 id="guide">Guia Rápido</h2>
  10.133 +
  10.134  <p>
  10.135  Para inicializar a partir da internet você necessidade de um servidor DHCP,
  10.136  servidor DNS e uma rota para internet. Você já possui tudo isto caso use
  10.137 @@ -94,7 +96,7 @@
  10.138  	<li>SliTaz boot ISO: Baixe
  10.139  	<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
  10.140  	(<a href="http://mirror.slitaz.org/boot/slitaz-boot.md5">md5</a>)
  10.141 -	e grave a imagem em um cdrom. Inicialize pelo dispositivo de cdrom
  10.142 +	e grave a imagem em um CD ROM. Inicialize pelo dispositivo de CD ROM
  10.143  	e selecione gPXE. Esta imagem ISO também fornece o Memtest86 para
  10.144  	testar a memória do sistema.
  10.145  	</li>
  10.146 @@ -114,14 +116,18 @@
  10.147  	e selecione a entrada gPXE.</li>
  10.148  </ul>
  10.149  
  10.150 +
  10.151  <h3>Tempo de boot</h3>
  10.152 +
  10.153  <p>
  10.154  O tempo de boot depende de sua conexão de rede. Com uma conexão de 1MB
  10.155  na França, o boot leva 5 minutos. Caso deseje, você pode reportar o seu
  10.156  tempo de boot na lista de discussão ou no fórum.
  10.157  </p>
  10.158  
  10.159 +
  10.160  <h3>Configuração requerida</h3>
  10.161 +
  10.162  <p>
  10.163  A entrada padrão de boot necessidade de 160MB de memória RAM. Duas entradas
  10.164  estão disponíveis para boot com 24MB:
  10.165 @@ -132,27 +138,51 @@
  10.166  </ul>
  10.167  
  10.168  <!-- End of content -->
  10.169 -</div>
  10.170 +</main>
  10.171  
  10.172 -<!-- Footer -->
  10.173 -<div id="footer">
  10.174 -	Copyright &copy; <span class="year"></span>
  10.175 -	<a href="http://www.slitaz.org/">SliTaz</a> - Network:
  10.176 -	<a href="http://scn.slitaz.org/">Community</a>
  10.177 -	<a href="http://doc.slitaz.org/">Doc</a>
  10.178 -	<a href="http://forum.slitaz.org/">Forum</a>
  10.179 -	<a href="http://pkgs.slitaz.org/">Packages</a>
  10.180 -	<a href="http://bugs.slitaz.org">Bugs</a>
  10.181 -	<a href="http://hg.slitaz.org/">Hg</a>
  10.182 -	<p>
  10.183 +<script>
  10.184 +	function QRCodePNG(str, obj) {
  10.185 +		try {
  10.186 +			obj.height = obj.width += 300;
  10.187 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
  10.188 +		}
  10.189 +		catch (any) {
  10.190 +			var element = document.createElement("script");
  10.191 +			element.src = "/static/qrcode.min.js";
  10.192 +			element.type = "text/javascript";
  10.193 +			element.onload = function() {
  10.194 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  10.195 +			};
  10.196 +			document.body.appendChild(element);
  10.197 +		}
  10.198 +	}
  10.199 +</script>
  10.200 +
  10.201 +<footer>
  10.202 +	<div>
  10.203 +		Copyright © <span class="year"></span>
  10.204 +		<a href="http://www.slitaz.org/">SliTaz</a>
  10.205 +	</div>
  10.206 +	<div>
  10.207 +		Network:
  10.208 +		<a href="http://scn.slitaz.org/">Community</a> ·
  10.209 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  10.210 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  10.211 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  10.212 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
  10.213 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  10.214 +	</div>
  10.215 +	<div>
  10.216  		SliTaz @
  10.217 -		<a href="http://twitter.com/slitaz">Twitter</a>
  10.218 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
  10.219 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
  10.220 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
  10.221 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  10.222 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  10.223 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  10.224 +		<a href="http://pt.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  10.225  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  10.226 -	</p>
  10.227 -</div>
  10.228 +	</div>
  10.229 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  10.230 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  10.231 +</footer>
  10.232  
  10.233  </body>
  10.234  </html>
    11.1 --- a/boot/ru/index.php	Sat Oct 10 14:22:49 2015 +0300
    11.2 +++ b/boot/ru/index.php	Fri Oct 16 02:08:09 2015 +0300
    11.3 @@ -1,39 +1,51 @@
    11.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    11.5 -	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    11.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
    11.7 +<!DOCTYPE html>
    11.8 +<html lang="ru">
    11.9  <head>
   11.10 -	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
   11.11 +	<meta charset="UTF-8">
   11.12  	<title>SliTaz Web Boot</title>
   11.13 -	<meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking" />
   11.14 -	<meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS" />
   11.15 -	<meta name="robots" content="index, follow, all" />
   11.16 -	<meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>" />
   11.17 -	<meta name="author" content="Christophe Lincoln"/>
   11.18 -	<link rel="shortcut icon" href="../favicon.ico" />
   11.19 -	<link rel="stylesheet" type="text/css" href="../slitaz.css" />
   11.20 +	<meta name="description" content="slitaz gPXE boot online your OS web-boot slitaz-cooking">
   11.21 +	<meta name="keywords" lang="en" content="slitaz, boot, pxe, web OS">
   11.22 +	<meta name="robots" content="index, follow, all">
   11.23 +	<meta name="modified" content="<?php echo (date( "Y-m-d H:i:s", getlastmod())); ?>">
   11.24 +	<meta name="author" content="Christophe Lincoln">
   11.25 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
   11.26 +	<link rel="shortcut icon" href="../favicon.ico">
   11.27 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
   11.28  </head>
   11.29  <body>
   11.30  
   11.31 -<!-- Header -->
   11.32 -<div id="header">
   11.33 -	<div id="logo"></div>
   11.34 -	<div id="network">
   11.35 -		<a href="http://www.slitaz.org/">
   11.36 -			<img src="../images/network.png" alt="[ Home ]" /></a>
   11.37 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
   11.38 +
   11.39 +<header>
   11.40 +	<h1><a href="http://boot.slitaz.org/">Веб-загрузка SliTaz</a></h1>
   11.41 +	<div class="network">
   11.42 +		<a href="http://www.slitaz.org/" class="home"></a>
   11.43  		<a href="http://scn.slitaz.org/">Сообщество</a>
   11.44  		<a href="http://doc.slitaz.org/">Документация</a>
   11.45  		<a href="http://forum.slitaz.org/">Форум</a>
   11.46  		<a href="http://bugs.slitaz.org">Баг-трекер</a>
   11.47  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
   11.48  	</div>
   11.49 -	<h1><a href="http://boot.slitaz.org/">Веб-загрузка SliTaz</a></h1>
   11.50 -</div>
   11.51 +</header>
   11.52  
   11.53  <!-- Block -->
   11.54 -<div id="block">
   11.55 +<div class="block"><div>
   11.56 +
   11.57 +	<!-- Information/image -->
   11.58 +	<div class="block_info">
   11.59 +		<header>Веб-загрузка</header>
   11.60 +		<p>Добро пожаловать на хост загрузки <a href="http://www.slitaz.org/"
   11.61 +			>SliTaz GNU/Linux</a>; boot.slitaz.org позволяет вам запустить
   11.62 +			SliTaz из интернета, используя CD-ROM, USB-флешку или дискету.</p>
   11.63 +		<p>
   11.64 +			Быстрая загрузка:
   11.65 +			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
   11.66 +		</p>
   11.67 +	</div>
   11.68 +
   11.69  	<!-- Navigation -->
   11.70 -	<div id="block_nav">
   11.71 -		<h4><img src="../images/users.png" alt="*" />Сообщество</h4>
   11.72 +	<nav>
   11.73 +		<header>Сообщество</header>
   11.74  		<ul>
   11.75  			<li><a href="http://scn.slitaz.org/">Сеть сообщества</a></li>
   11.76  			<li><a href="http://pizza.slitaz.org/">Сборка LiveCD онлайн</a></li>
   11.77 @@ -41,33 +53,22 @@
   11.78  				Cookbook</a></li>
   11.79  			<li><a href="http://doc.slitaz.org/en:handbook:genlivecd">LiveCD flavor howto</a></li>
   11.80  		</ul>
   11.81 -	</div>
   11.82 -	<!-- Information/image -->
   11.83 -	<div id="block_info">
   11.84 -		<h4>Веб-загрузка</h4>
   11.85 -		<p>Добро пожаловать на хост загрузки <a href="http://www.slitaz.org/"
   11.86 -			>SliTaz GNU/Linux</a>; boot.slitaz.org позволяет вам запустить
   11.87 -			SliTaz из интернета, используя CD-ROM, USB-флешку или дискету.</p>
   11.88 -		<div class="button" style="padding-top: 8px;">
   11.89 -			Быстрая загрузка:
   11.90 -			<a href="http://mirror.slitaz.org/boot/slitaz-boot.iso">slitaz-boot.iso</a>
   11.91 -		</div>
   11.92 -	</div>
   11.93 -</div>
   11.94 +	</nav>
   11.95 +</div></div>
   11.96 +
   11.97 +<!-- Content -->
   11.98 +<main>
   11.99  
  11.100  <!-- Languages -->
  11.101 -<div id="lang">
  11.102 -	<a href="http://www.slitaz.org/i18n.php">
  11.103 -		<img src="../images/locale.png" alt="i18n" /></a>
  11.104 +<div class="lang">
  11.105 +	<a href="http://www.slitaz.org/i18n.php" class="locale"></a>
  11.106  	<a href="../de/">Deutsch</a>
  11.107  	<a href="../en/">English</a>
  11.108  	<a href="../fr/">Français</a>
  11.109  	<a href="../pt/">Português</a>
  11.110 -	<a href="../ru/">Русский</a>
  11.111 +	<b>Русский</b>
  11.112  </div>
  11.113  
  11.114 -<!-- Content -->
  11.115 -<div id="content">
  11.116  
  11.117  <h2>Введение</h2>
  11.118  
  11.119 @@ -127,27 +128,51 @@
  11.120  </ul>
  11.121  
  11.122  <!-- End of content -->
  11.123 -</div>
  11.124 +</main>
  11.125  
  11.126 -<!-- Footer -->
  11.127 -<div id="footer">
  11.128 -	Copyright © <span class="year"></span>
  11.129 -	<a href="http://www.slitaz.org/">SliTaz</a> — Сеть:
  11.130 -	<a href="http://scn.slitaz.org/">Сообщество</a>
  11.131 -	<a href="http://doc.slitaz.org/">Документация</a>
  11.132 -	<a href="http://forum.slitaz.org/">Форум</a>
  11.133 -	<a href="http://pkgs.slitaz.org/">Пакеты</a>
  11.134 -	<a href="http://bugs.slitaz.org">Баг-трекер</a>
  11.135 -	<a href="http://hg.slitaz.org/">Hg</a>
  11.136 -	<p>
  11.137 +<script>
  11.138 +	function QRCodePNG(str, obj) {
  11.139 +		try {
  11.140 +			obj.height = obj.width += 300;
  11.141 +			return QRCode.generatePNG(str, {ecclevel: 'H'});
  11.142 +		}
  11.143 +		catch (any) {
  11.144 +			var element = document.createElement("script");
  11.145 +			element.src = "/static/qrcode.min.js";
  11.146 +			element.type = "text/javascript";
  11.147 +			element.onload = function() {
  11.148 +				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  11.149 +			};
  11.150 +			document.body.appendChild(element);
  11.151 +		}
  11.152 +	}
  11.153 +</script>
  11.154 +
  11.155 +<footer>
  11.156 +	<div>
  11.157 +		Copyright © <span class="year"></span>
  11.158 +		<a href="http://www.slitaz.org/">SliTaz</a>
  11.159 +	</div>
  11.160 +	<div>
  11.161 +		Сеть:
  11.162 +		<a href="http://scn.slitaz.org/">Сообщество</a> ·
  11.163 +		<a href="http://doc.slitaz.org/">Документация</a> ·
  11.164 +		<a href="http://forum.slitaz.org/">Форум</a> ·
  11.165 +		<a href="http://pkgs.slitaz.org/">Пакеты</a> ·
  11.166 +		<a href="http://bugs.slitaz.org">Баг-трекер</a> ·
  11.167 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  11.168 +	</div>
  11.169 +	<div>
  11.170  		SliTaz @
  11.171 -		<a href="http://twitter.com/slitaz">Twitter</a>
  11.172 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
  11.173 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
  11.174 -		<a href="http://ru.wikipedia.org/wiki/SliTaz">Википедия</a>
  11.175 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  11.176 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  11.177 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  11.178 +		<a href="http://ru.wikipedia.org/wiki/SliTaz">Википедия</a> ·
  11.179  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  11.180 -	</p>
  11.181 -</div>
  11.182 +	</div>
  11.183 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  11.184 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  11.185 +</footer>
  11.186  
  11.187  </body>
  11.188  </html>
    12.1 --- a/boot/slitaz.css	Sat Oct 10 14:22:49 2015 +0300
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,299 +0,0 @@
    12.4 -/*
    12.5 -	CSS style for SliTaz Network - (C) 2015 SliTaz GNU/Linux
    12.6 -*/
    12.7 -
    12.8 -html {
    12.9 -	min-height:  102%;
   12.10 -}
   12.11 -
   12.12 -body {
   12.13 -	background: #ffffff;
   12.14 -	color: black;
   12.15 -	font: 13px sans-serif, vernada, arial;
   12.16 -	margin: 0;
   12.17 -	min-width: 780px;
   12.18 -	height: 100%;
   12.19 -}
   12.20 -
   12.21 -a { text-decoration: underline; color: #215090; }
   12.22 -a:hover { text-decoration: none; color: blue; }
   12.23 -img { border: 0pt none; vertical-align: middle; }
   12.24 -h2 { color: #444; }
   12.25 -h3 { color: #666; font-size: 140%; }
   12.26 -h4 { color: #888; font-size: 120%; }
   12.27 -pre { 
   12.28 -	background-color: #f8f8f8; 
   12.29 -	border: 1px solid #ddd; 
   12.30 -	padding: 10px;
   12.31 -}
   12.32 -
   12.33 -/* Header */
   12.34 -
   12.35 -#header { 
   12.36 -	height: 40px; 
   12.37 -	background: #351a0a;
   12.38 -}
   12.39 -
   12.40 -#header h1 {
   12.41 -	margin: 0;
   12.42 -	padding: 8px 0 0 42px;
   12.43 -	width: 250px;
   12.44 -}
   12.45 -
   12.46 -#header h1 a { 
   12.47 -	color: white; 
   12.48 -	text-decoration: none;
   12.49 -	font-size: 20px;
   12.50 -	font-style: italic;
   12.51 -}
   12.52 -
   12.53 -#header h1 a:hover, #network a:hover { 
   12.54 -	color: #d66018;
   12.55 -}
   12.56 -
   12.57 -/* Logo */
   12.58 -
   12.59 -#logo {
   12.60 -	background: url(images/logo.png) no-repeat left;
   12.61 -	position: absolute;
   12.62 -	float: left;
   12.63 -	left: 0px;
   12.64 -	top: 0px;
   12.65 -	width: 40px;
   12.66 -	height: 40px;
   12.67 -}
   12.68 -
   12.69 -/* SliTaz Network */
   12.70 -
   12.71 -#network { 
   12.72 -	float: right; 
   12.73 -	padding: 10px 5px 0; 
   12.74 -	font-size: 12px;
   12.75 -}
   12.76 -
   12.77 -#network a { padding: 0 6px; }
   12.78 -
   12.79 -/* Block */
   12.80 -
   12.81 -#block { 
   12.82 -	min-height: 174px; 
   12.83 -	background: #d66018; 
   12.84 -	padding: 26px 10% 0px;
   12.85 -	text-align: center;
   12.86 -	color: #333;
   12.87 -	border-bottom: 1px solid #f5f5f5;
   12.88 -}
   12.89 -
   12.90 -#block_info {
   12.91 -	text-align: justify; 
   12.92 -	width: 48%;
   12.93 -	padding: 10px 10px 0 0;
   12.94 -}
   12.95 -
   12.96 -#block a, #network a { 
   12.97 -	color: #fff; 
   12.98 -	font-weight: bold;
   12.99 -	text-decoration: none;
  12.100 -}
  12.101 -
  12.102 -#block h4 {
  12.103 -	color: #351a0a;
  12.104 -	margin: 0px;
  12.105 -	font-weight: bold;
  12.106 -	font-size: 110%;
  12.107 -}
  12.108 -
  12.109 -#block_info p { margin: 6px 0; padding: 0 12px 0 0; }
  12.110 -#block_info a { font-weight: normal; }
  12.111 -#block ul { list-style-type: square; }
  12.112 -#block a:hover { color: #351a0a; }
  12.113 -
  12.114 -/* Navigation */
  12.115 -
  12.116 -#block_nav {
  12.117 -	background: #cc5b17;
  12.118 -	padding: 10px 10px 40px;
  12.119 -	text-align: justify;
  12.120 -	width: 48%;
  12.121 -	float: right;
  12.122 -}
  12.123 -
  12.124 -#block_nav ul { 
  12.125 -	list-style-type: none; 
  12.126 -	margin: 6px 0; 
  12.127 -	padding: 0;
  12.128 -}
  12.129 -
  12.130 -#block_nav h4 img { 
  12.131 -	margin: 0 4px 0 0; 
  12.132 -	padding: 0;
  12.133 -}
  12.134 -
  12.135 -/* Languages */
  12.136 -
  12.137 -#lang {
  12.138 -	float: right;
  12.139 -	padding: 6px;
  12.140 -	font-size: 11px;
  12.141 -}
  12.142 -
  12.143 -#lang a {
  12.144 -	text-decoration: none;
  12.145 -	padding: 0 2px;
  12.146 -}
  12.147 -
  12.148 -#lang a:hover {
  12.149 -	text-decoration: underline;
  12.150 -}
  12.151 -
  12.152 -/* Content */
  12.153 -
  12.154 -#content {
  12.155 -	padding: 30px 80px;
  12.156 -	text-align: justify;
  12.157 -}
  12.158 -
  12.159 -.news li {
  12.160 -	list-style-type: square;
  12.161 -	border-bottom: 1px dotted #BEBEBE;
  12.162 -	margin-left: -25px;
  12.163 -	padding: 4px 0px 4px 0px;
  12.164 -}
  12.165 -
  12.166 -.news a, .feed-grid a { text-decoration: none; }
  12.167 -.news p a { text-decoration: underline; }
  12.168 -.news p a:hover { text-decoration: none; }
  12.169 -#twitter { margin: 20px 0; }
  12.170 -#gallery { text-align: center; }
  12.171 -
  12.172 -/* Classes */
  12.173 -
  12.174 -.right_box { width: 48%; float: right; }
  12.175 -.left_box { width: 48%; float: left; }
  12.176 -
  12.177 -.box {
  12.178 -	margin: 20px 60px;
  12.179 -	padding: 12px;
  12.180 -	background: #efefef;
  12.181 -	border: 1px solid #ddd;
  12.182 -}
  12.183 -
  12.184 -.searchbox { 
  12.185 -	margin: 20px 80px; 
  12.186 -	padding: 12px; 
  12.187 -	background: #f8f8f8;
  12.188 -	text-align: center;
  12.189 -	border: 1px solid #ddd;
  12.190 -}
  12.191 -
  12.192 -/* Activity Box */
  12.193 -
  12.194 -.activity { 
  12.195 -	margin: 0 0 20px; 
  12.196 -	background: #eaeaea; 
  12.197 -	padding: 5px 2px 0; 
  12.198 -	border: 1px solid #ddd; 
  12.199 -}
  12.200 -.activity div { padding: 5px 10px; background: #fff; margin-top: 5px; }
  12.201 -.activity p { margin: 0; padding: 5px 10px; font-weight: bold; }
  12.202 -.activity a { text-decoration: none; }
  12.203 -.activity ul { list-style-type: none; 
  12.204 -	margin: 4px 0; padding: 0 4px; line-height: 150%; }
  12.205 -.activity_more { text-align: right;  }
  12.206 -.activity_more a { font-weight: normal; color: #000; padding: 0 4px; }
  12.207 -.activity_more a:hover { text-decoration: underline; }
  12.208 -
  12.209 -.activity span, .news span { 
  12.210 -	color: #666; 
  12.211 -	font-size: 11px; 
  12.212 -	font-weight: normal;
  12.213 -}
  12.214 -
  12.215 -/* Button */
  12.216 -
  12.217 -.button a { 
  12.218 -	background-color: #b64b22;
  12.219 -	color: #ffffff;
  12.220 -	margin-right: 6px;
  12.221 -	padding: 6px 10px;
  12.222 -	font-size: 12px;
  12.223 -	text-decoration: none;
  12.224 -	font-weight: bold;
  12.225 -}
  12.226 -.button a:hover, input[type=submit]:hover { 
  12.227 -	background-color: #a3431f;
  12.228 -	color: #ffffff;
  12.229 -}
  12.230 -
  12.231 -/* Round corner */
  12.232 -
  12.233 -#block_nav, pre, .box, .searchbox, .button a, #twitter, .activity,
  12.234 -.activity div {
  12.235 -	-moz-border-radius: 4px;
  12.236 -	-webkit-border-radius: 4px;
  12.237 -	border-radius: 4px;
  12.238 -}
  12.239 -
  12.240 -/* Transition */
  12.241 -
  12.242 -.box {	
  12.243 -	-webkit-transition-property: background-color;
  12.244 -	-webkit-transition-duration: 2s;
  12.245 -	-moz-transition-property: background-color;
  12.246 -	-moz-transition-duration: 2s;
  12.247 -	transition-property: background-color;
  12.248 -	transition-duration: 2s;
  12.249 -}
  12.250 -
  12.251 -/* Form */
  12.252 -
  12.253 -input[type=submit] {
  12.254 -	border: 1px solid #b64b22;
  12.255 -	background-color: #b64b22;
  12.256 -	color: white;
  12.257 -	font-weight: bold;
  12.258 -	cursor: pointer;
  12.259 -	padding: 4px 10px;
  12.260 -	font-size: 14px;
  12.261 -	margin-left: -5px;
  12.262 -	-webkit-border-top-right-radius: 4px;
  12.263 -	-webkit-border-bottom-right-radius: 4px;
  12.264 -	-moz-border-radius-topright: 4px;
  12.265 -	-moz-border-radius-bottomright: 4px;
  12.266 -	border-top-right-radius: 4px;
  12.267 -	border-bottom-right-radius: 4px;
  12.268 -}
  12.269 -
  12.270 -input[type=submit]:hover { background-color: #a3431f; }
  12.271 -
  12.272 -input[type=text] {
  12.273 -	border: 1px solid #333333;
  12.274 -	padding: 4px;
  12.275 -	height: 17px;
  12.276 -	width: 100%;
  12.277 -	-webkit-border-top-left-radius: 4px;
  12.278 -	-webkit-border-bottom-left-radius: 4px;
  12.279 -	-moz-border-radius-topleft: 4px;
  12.280 -	-moz-border-radius-bottomleft: 4px;
  12.281 -	border-top-left-radius: 4px;
  12.282 -	border-bottom-left-radius: 4px;
  12.283 -}
  12.284 -
  12.285 -/* Footer */
  12.286 -
  12.287 -#footer {
  12.288 -	background: #f1f1f1;
  12.289 -	text-align: center;
  12.290 -	border-top: 1px solid #ddd;
  12.291 -	padding: 40px;
  12.292 -	color: #666;
  12.293 -	clear: both;
  12.294 -	margin-bottom: -2%;
  12.295 -}
  12.296 -
  12.297 -#footer a { color: #666; padding: 0 2px; }
  12.298 -
  12.299 -.year:after {
  12.300 -	/* content: "2007-2015"; */
  12.301 -	content: "2015";
  12.302 -}
    13.1 Binary file boot/static/home.png has changed
    14.1 Binary file boot/static/logo.png has changed
    15.1 Binary file boot/static/preferences-desktop-locale.png has changed
    16.1 Binary file boot/static/qr.png has changed
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/boot/static/qrcode.min.js	Fri Oct 16 02:08:09 2015 +0300
    17.3 @@ -0,0 +1,1 @@
    17.4 +var QRCode=(function(){var V=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]];var l=0;var o=1,U=2,R=4,y=8;var G=/^\d*$/;var E=/^[A-Za-z0-9 $%*+\-./:]*$/;var t=/^[A-Z0-9 $%*+\-./:]*$/;var h=1,g=0,c=3,n=2;var B=[],Q=[-1];for(var P=0,H=1;P<255;++P){B.push(H);Q[H]=P;H=(H*2)^(H>=128?285:0)}var m=[[]];for(var P=0;P<30;++P){var D=m[P],F=[];for(var O=0;O<=P;++O){var T=(O<P?B[D[O]]:0);var S=B[(P+(D[O-1]||0))%255];F.push(Q[T^S])}m.push(F)}var q={};for(var P=0;P<45;++P){q["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(P)]=P}var J=[function(b,a){return(b+a)%2==0},function(b,a){return b%2==0},function(b,a){return a%3==0},function(b,a){return(b+a)%3==0},function(b,a){return(((b/2)|0)+((a/3)|0))%2==0},function(b,a){return(b*a)%2+(b*a)%3==0},function(b,a){return((b*a)%2+(b*a)%3)%2==0},function(b,a){return((b+a)%2+(b*a)%3)%2==0}];var f=function(a){return a>6};var x=function(a){return 4*a+17};var u=function(a){var b=V[a];var i=16*a*a+128*a+64;if(f(a)){i-=36}if(b[2].length){i-=25*b[2].length*b[2].length-10*b[2].length-55}return i};var p=function(a,b){var j=u(a)&~7;var i=V[a];j-=8*i[0][b]*i[1][b];return j};var A=function(a,b){switch(b){case o:return(a<10?10:a<27?12:14);case U:return(a<10?9:a<27?11:13);case R:return(a<10?8:16);case y:return(a<10?8:a<27?10:12)}};var z=function(a,j,b){var i=p(a,b)-4-A(a,j);switch(j){case o:return((i/10)|0)*3+(i%10<4?0:i%10<7?1:2);case U:return((i/11)|0)*2+(i%11<6?0:1);case R:return(i/8)|0;case y:return(i/13)|0}};var s=function(W,j){switch(W){case o:if(!j.match(G)){return null}return j;case U:if(!j.match(E)){return null}return j.toUpperCase();case R:if(typeof j==="string"){var v=[];for(var a=0;a<j.length;++a){var b=j.charCodeAt(a);if(b<128){v.push(b)}else{if(b<2048){v.push(192|(b>>6),128|(b&63))}else{if(b<65536){v.push(224|(b>>12),128|((b>>6)&63),128|(b&63))}else{v.push(240|(b>>18),128|((b>>12)&63),128|((b>>6)&63),128|(b&63))}}}}return v}else{return j}}};var k=function(aa,Y,X,Z){var b=[];var ac=0,v=8;var a=X.length;var ab=function(i,ad){if(ad>=v){b.push(ac|(i>>(ad-=v)));while(ad>=8){b.push((i>>(ad-=8))&255)}ac=0;v=8}if(ad>0){ac|=(i&((1<<ad)-1))<<(v-=ad)}};var j=A(aa,Y);ab(Y,4);ab(a,j);switch(Y){case o:for(var W=2;W<a;W+=3){ab(parseInt(X.substring(W-2,W+1),10),10)}ab(parseInt(X.substring(W-2),10),[0,4,7][a%3]);break;case U:for(var W=1;W<a;W+=2){ab(q[X.charAt(W-1)]*45+q[X.charAt(W)],11)}if(a%2==1){ab(q[X.charAt(W-1)],6)}break;case R:for(var W=0;W<a;++W){ab(X[W],8)}break}ab(l,4);if(v<8){b.push(ac)}while(b.length+1<Z){b.push(236,17)}if(b.length<Z){b.push(236)}return b};var C=function(Z,a){var b=Z.slice(0);var aa=Z.length,X=a.length;for(var W=0;W<X;++W){b.push(0)}for(var W=0;W<aa;){var Y=Q[b[W++]];if(Y>=0){for(var v=0;v<X;++v){b[W+v]^=B[(Y+a[v])%255]}}}return b.slice(aa)};var N=function(a,Y,b){var ae=[];var ab=(a.length/Y)|0,ac=0;var aa=Y-a.length%Y;for(var W=0;W<aa;++W){ae.push(ac);ac+=ab}for(var W=aa;W<Y;++W){ae.push(ac);ac+=ab+1}ae.push(ac);var Z=[];for(var W=0;W<Y;++W){Z.push(C(a.slice(ae[W],ae[W+1]),b))}var ad=[];var X=(a.length/Y)|0;for(var W=0;W<X;++W){for(var v=0;v<Y;++v){ad.push(a[ae[v]+W])}}for(var v=aa;v<Y;++v){ad.push(a[ae[v+1]-1])}for(var W=0;W<b.length;++W){for(var v=0;v<Y;++v){ad.push(Z[v][W])}}return ad};var M=function(W,X,a,v){var b=W<<v;for(var j=X-1;j>=0;--j){if((b>>(v+j))&1){b^=a<<j}}return(W<<v)|b};var I=function(af){var ah=V[af],X=x(af);var ag=[],W=[];for(var ad=0;ad<X;++ad){ag.push([]);W.push([])}var ab=function(an,v,al,ai,am){for(var ak=0;ak<al;++ak){for(var aj=0;aj<ai;++aj){ag[an+ak][v+aj]=(am[ak]>>aj)&1;W[an+ak][v+aj]=1}}};ab(0,0,9,9,[127,65,93,93,93,65,383,0,64]);ab(X-8,0,8,9,[256,127,65,93,93,93,65,127]);ab(0,X-8,9,8,[254,130,186,186,186,130,254,0,0]);for(var ad=9;ad<X-8;++ad){ag[6][ad]=ag[ad][6]=~ad&1;W[6][ad]=W[ad][6]=1}var b=ah[2],Y=b.length;for(var ad=0;ad<Y;++ad){var ae=(ad==0||ad==Y-1?1:0),Z=(ad==0?Y-1:Y);for(var ac=ae;ac<Z;++ac){ab(b[ad],b[ac],5,5,[31,17,21,17,31])}}if(f(af)){var a=M(af,6,7973,12);var aa=0;for(var ad=0;ad<6;++ad){for(var ac=0;ac<3;++ac){ag[ad][(X-11)+ac]=ag[(X-11)+ac][ad]=(a>>aa++)&1;W[ad][(X-11)+ac]=W[(X-11)+ac][ad]=1}}}return{matrix:ag,reserved:W}};var L=function(ab,b,a){var v=ab.length;var X=0,W=-1;for(var Z=v-1;Z>=0;Z-=2){if(Z==6){--Z}var aa=(W<0?v-1:0);for(var Y=0;Y<v;++Y){for(var ac=Z;ac>Z-2;--ac){if(!b[aa][ac]){ab[aa][ac]=(a[X>>3]>>(~X&7))&1;++X}}aa+=W}W=-W}return ab};var K=function(v,a,b){var X=J[b];var Z=v.length;for(var Y=0;Y<Z;++Y){for(var W=0;W<Z;++W){if(!a[Y][W]){v[Y][W]^=X(Y,W)}}}return v};var e=function(Z,v,b,aa){var W=Z.length;var j=M((b<<3)|aa,5,1335,10)^21522;for(var X=0;X<15;++X){var a=[0,1,2,3,4,5,7,8,W-7,W-6,W-5,W-4,W-3,W-2,W-1][X];var Y=[W-1,W-2,W-3,W-4,W-5,W-6,W-7,W-8,7,5,4,3,2,1,0][X];Z[a][8]=Z[8][Y]=(j>>X)&1}return Z};var w=function(ad){var Z=3;var ai=3;var af=40;var ag=10;var a=function(j){var al=0;for(var aj=0;aj<j.length;++aj){if(j[aj]>=5){al+=Z+(j[aj]-5)}}for(var aj=5;aj<j.length;aj+=2){var ak=j[aj];if(j[aj-1]==ak&&j[aj-2]==3*ak&&j[aj-3]==ak&&j[aj-4]==ak&&(j[aj-5]>=4*ak||j[aj+1]>=4*ak)){al+=af}}return al};var W=ad.length;var Y=0,X=0;for(var ac=0;ac<W;++ac){var ah=ad[ac];var v;v=[0];for(var ab=0;ab<W;){var aa;for(aa=0;ab<W&&ah[ab];++aa){++ab}v.push(aa);for(aa=0;ab<W&&!ah[ab];++aa){++ab}v.push(aa)}Y+=a(v);v=[0];for(var ab=0;ab<W;){var aa;for(aa=0;ab<W&&ad[ab][ac];++aa){++ab}v.push(aa);for(aa=0;ab<W&&!ad[ab][ac];++aa){++ab}v.push(aa)}Y+=a(v);var ae=ad[ac+1]||[];X+=ah[0];for(var ab=1;ab<W;++ab){var b=ah[ab];X+=b;if(ah[ab-1]==b&&ae[ab]===b&&ae[ab-1]===b){Y+=ai}}}Y+=ag*((Math.abs(X/W/W-0.5)/0.05)|0);return Y};var d=function(X,aa,Z,a,ad){var ac=V[aa];var i=k(aa,Z,X,p(aa,a)>>3);i=N(i,ac[1][a],m[ac[0][a]]);var ae=I(aa);var ab=ae.matrix,b=ae.reserved;L(ab,b,i);if(ad<0){K(ab,b,0);e(ab,b,a,0);var W=0,Y=w(ab);K(ab,b,0);for(ad=1;ad<8;++ad){K(ab,b,ad);e(ab,b,a,ad);var j=w(ab);if(Y>j){Y=j;W=ad}K(ab,b,ad)}ad=W}K(ab,b,ad);e(ab,b,a,ad);return ab};var r={generate:function(X,v){var W={numeric:o,alphanumeric:U,octet:R};var j={L:h,M:g,Q:c,H:n};v=v||{};var a=v.version||-1;var i=j[(v.ecclevel||"L").toUpperCase()];var Y=v.mode?W[v.mode.toLowerCase()]:-1;var b="mask" in v?v.mask:-1;if(Y<0){if(typeof X==="string"){if(X.match(G)){Y=o}else{if(X.match(t)){Y=U}else{Y=R}}}else{Y=R}}else{if(!(Y==o||Y==U||Y==R)){throw"invalid or unsupported mode"}}X=s(Y,X);if(X===null){throw"invalid data format"}if(i<0||i>3){throw"invalid ECC level"}if(a<0){for(a=1;a<=40;++a){if(X.length<=z(a,Y,i)){break}}if(a>40){throw"too large data"}}else{if(a<1||a>40){throw"invalid version"}}if(b!=-1&&(b<0||b>8)){throw"invalid mask"}return d(X,a,Y,i,b)},generatePNG:function(Z,ad){ad=ad||{};var ab=r.generate(Z,ad);var aa=Math.max(ad.modulesize||5,0.5);var W=Math.max(ad.margin||4,0);var v=ab.length;var ac=aa*(v+2*W);var b=document.createElement("canvas"),a;b.width=b.height=ac;a=b.getContext("2d");if(!a){throw"canvas support is needed for PNG output"}a.fillStyle="#fff";a.fillRect(0,0,ac,ac);a.fillStyle="#000";for(var Y=0;Y<v;++Y){for(var X=0;X<v;++X){if(ab[Y][X]){a.fillRect(aa*(W+X),aa*(W+Y),aa,aa)}}}return b.toDataURL()}};return r})();
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/boot/static/slitaz.min.css	Fri Oct 16 02:08:09 2015 +0300
    18.3 @@ -0,0 +1,1 @@
    18.4 +html{min-height:102%}body{height:100%;margin:0;box-sizing:border-box;color:#222;background:#FFF;font:13px Ubuntu,"Droid Sans","DejaVu Sans",FreeSans,"Liberation Sans",sans-serif;-moz-hyphens:auto;-epub-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}code,pre,samp,kbd{color:#000;background-color:rgba(0,0,0,.05)}a{text-decoration:none;color:#215090}a:hover{text-decoration:underline}img{border:0 none;vertical-align:middle}.large{overflow-x:auto}h2{color:#444;font-size:22px;font-weight:300;margin:18px auto 6px;border-bottom:1px solid #CCC}h3{color:#666;font-size:19px;font-weight:300;margin:12px auto 0;line-height:1}pre{background-color:#f8f8f8;border:1px solid #DDD;padding:10px;white-space:pre-wrap;overflow-x:auto;line-height:1}.hard{white-space:pre;resize:both}.scroll{max-height:40ex}body>header{display:block;background:#222;text-align:justify;line-height:0}h1{display:inline-block;margin:auto 0;line-height:20px;white-space:nowrap;vertical-align:middle}h1::before{display:inline-block;content:url(logo.png);vertical-align:middle}h1 a{color:#FFF;font-size:20px;font-style:italic}body>header::before,body>header::after,.block>div::before,.block>div::after{display:inline-block;width:100%;height:0;visibility:hidden;overflow:hidden;content:''}.network{display:inline-block;text-align:left;vertical-align:middle;font-size:12px;line-height:normal}.network a{display:inline-block;padding:0 6px;vertical-align:middle;color:#FFF}.home::before{content:url(home.png)}.block{padding:6px;background:#CCC;border-bottom:1px solid #AAA}.block>div{max-width:700px;margin:0 auto;text-align:justify;line-height:0}.block_info{padding:6px 12px 0 0;line-height:normal;width:60%}.block_info input{width:100%}.block header{font-weight:400;font-size:18px;line-height:18px}.block_info p{margin:7px 0;padding:0;text-align:justify}nav{background:#666;color:#FFF;padding:6px;line-height:normal}nav a{white-space:nowrap;color:#FFF}nav header img{margin:0 4px 0 0;padding:0}nav,.block_info{display:inline-block;vertical-align:top}.lang{margin:0;text-align:right;padding:6px;font-size:11px}.lang a{padding:0 2px}main{max-width:700px;margin:6px auto;padding:0 6px;text-align:justify;line-height:1.5rem}p,ul,ol,li,h2,h3,pre,table{max-width:700px}p,ul,ol,li,pre,table{margin:6px auto}p,ul,ol{display:block}ul,ol,dd{padding:0 2ex 0 4ex}ul ul,ol ol,ul ol,ol ul{margin:0}.br::before{content:url(BR.png)}.ch::before{content:url(CH.png)}.de::before{content:url(DE.png)}.fr::before{content:url(FR.png)}.it::before{content:url(IT.png)}.pl::before{content:url(PL.png)}.us::before{content:url(US.png)}.mirrors{padding:6px;text-align:center;background:#f1f1f1;border-bottom:1px solid #DDD}.mirrors a,.mirrors a::before{display:inline-block;padding:0 3px}.mirrors a::before{vertical-align:-4px}table{background-color:#f8f8f8;border:1px solid #DDD;width:100%;margin-bottom:20px;padding:6px;border-collapse:collapse;line-height:1}caption{caption-side:bottom;text-align:left;padding:6px 0}thead tr{background-color:#DDD}td{text-align:left}th{padding:4px 1px}tbody tr:nth-child(odd){background-color:#FFF}tbody tr:nth-child(even){background-color:#EEE}.list td:nth-child(1){vertical-align:middle}.list td:nth-child(1)::before{display:inline-block;vertical-align:middle;padding-right:3px}.list th:nth-child(3),.list td:nth-child(3){text-align:right}.news li{list-style-type:square;border-bottom:1px dotted #bebebe;margin-left:-25px;padding:4px 0}.twitter{margin:20px 0}.gallery{text-align:center}.sponsor{font-size:90%;background-color:#fbfbfb;border:2px solid #DDD;width:200px;height:160px;float:right;text-align:center;margin:10px 0 20px 20px}.right_box{width:48%;float:right}.left_box{width:48%;float:left}.box{margin:20px 60px;padding:12px;background:#efefef;border:1px solid #DDD}.searchbox{margin:20px 80px;padding:12px;background:#f8f8f8;text-align:center;border:1px solid #DDD}.activity{margin:0 0 20px;background:#efefef;padding:5px 2px 0;border:1px solid #DDD}.activity div{padding:5px 10px;background:#FFF;margin-top:5px}.activity p{margin:0;padding:5px 10px;font-weight:700}.activity ul{list-style-type:none;margin:4px 0;padding:0 4px;line-height:150%}.activity_more{text-align:right}.activity_more a{font-weight:400;color:#000;padding:0 4px}.activity span,.news span{color:#666;font-size:11px;font-weight:400}nav,pre,textarea,select,.box,.searchbox,.activity,.activity div,.twitter,.sponsor{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}body>footer{background:#f1f1f1;text-align:center;border-top:1px solid #DDD;padding:6px;color:#666;clear:both}body>footer div{margin:12px}.year:after{content:"2015"}.x-bzip::before{content:url(application-x-bzip.png)}.x-gzip::before{content:url(application-x-gzip.png)}.plain::before{content:url(text-plain.png)}.x-bittorrent::before{content:url(application-x-bittorrent.png)}.octet-stream::before{content:url(application-octet-stream.png)}.jpeg::before{content:url(image-jpeg.png)}.png::before{content:url(image-png.png)}.javascript::before{content:url(text-x-javascript.png)}.css::before{content:url(text-css.png)}.dir::before{content:url(folder.png)}.up::before{content:url(go-up.png)}.zip::before{content:url(application-zip.png)}.iso::before{content:url(application-x-cd-image.png)}.krn::before{content:url(application-x-executable.png)}.exe::before{content:url(application-x-ms-dos-executable.png)}.rme::before{content:url(text-x-readme.png)}.log::before{content:url(text-x-changelog.png)}.pkg::before{content:url(package-x-generic.png)}.server::before{content:url(network-server.png)}.locale::before{content:url(preferences-desktop-locale.png)}.touch td,.touch th{padding:6px}.touch .network a,.touch nav a,.touch .mirrors a,.touch footer a{display:inline-block;padding:6px}@media(max-width:510px){.block_info,nav{display:block;width:inherit;max-width:100%}.block_info{padding:6px}}
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/dvd/download.php	Fri Oct 16 02:08:09 2015 +0300
    19.3 @@ -0,0 +1,48 @@
    19.4 +<?php
    19.5 +
    19.6 +$options = array(
    19.7 +		"boot"		=>	"--boot",
    19.8 +		"webboot"	=>	"--webboot",
    19.9 +		"website"	=>	"--website",
   19.10 +		"wok"		=>	"--wok", // TOFIX --wok-stable
   19.11 +		"filter"	=>	"--filter",
   19.12 +		"sources"	=>	"--sources",
   19.13 +		"loram_detect"	=>	"--loram-detect",
   19.14 +		"auto_install"	=>	"--auto-install",
   19.15 +		
   19.16 +		"packages"	=>	"--packages",
   19.17 +		"rsync"		=>	"--rsync",
   19.18 +		"doc"		=>	"--doc",
   19.19 +		"tiny"		=>	"--tiny",
   19.20 +		"pxe"		=>	"--pxe",
   19.21 +		"tools"		=>	"--tools",
   19.22 +		"hg"		=>	"--hg",
   19.23 +		"nonfree"	=>	"--nonfree",
   19.24 +		"huge"		=>	"--huge"
   19.25 +	);
   19.26 +$size = $_POST['size'];
   19.27 +$cmdline = "set -- ".$_POST['version'];
   19.28 +foreach ($options as $var => $arg)
   19.29 +	if (isset($_POST[$var]) && $_POST[$var] == 'on')
   19.30 +		$cmdline .= " ".$arg;
   19.31 +$name = "genDVDimage.sh";
   19.32 +$script =<<<EOT
   19.33 +#!/bin/sh
   19.34 +
   19.35 +if [ "\$(basename \$0)" == "$name" -a "\$1" == "" ]; then
   19.36 +
   19.37 +	# Default arguments by the web tool http://dvd.slitaz.org/
   19.38 +	# Expected size: $size KB
   19.39 +	$cmdline
   19.40 +fi
   19.41 +
   19.42 +
   19.43 +EOT;
   19.44 +$script .= file_get_contents("mkpkgiso");
   19.45 +
   19.46 +header("Content-Type: application/octet-stream");
   19.47 +header("Content-Length: ".strlen($script));
   19.48 +header("Content-Disposition: attachment; filename=".$name);
   19.49 +echo $script;
   19.50 +
   19.51 +?>
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/dvd/en/index.html	Fri Oct 16 02:08:09 2015 +0300
    20.3 @@ -0,0 +1,387 @@
    20.4 +<!DOCTYPE html>
    20.5 +<html lang="en">
    20.6 +<head>
    20.7 +	<meta charset="UTF-8">
    20.8 +	<title>SliTaz DVD/USB Key builder</title>
    20.9 +	<meta name="description" content="SliTaz DVD and USB key generator">
   20.10 +	<meta name="robots" content="index, nofollow">
   20.11 +	<meta name="author" content="SliTaz Contributors">
   20.12 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
   20.13 +	<link rel="shortcut icon" href="/static/favicon.ico">
   20.14 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
   20.15 +	<style type="text/css">
   20.16 +th:nth-child(2),th:nth-child(3),th:nth-child(4),th:nth-child(5),th:nth-child(6),th:nth-child(7),th:nth-child(8),
   20.17 +td:nth-child(2),td:nth-child(3),td:nth-child(4),td:nth-child(5),td:nth-child(6),td:nth-child(7),td:nth-child(8) { text-align: right; }
   20.18 +	</style>
   20.19 +</head>
   20.20 +<body>
   20.21 +
   20.22 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
   20.23 +
   20.24 +<header>
   20.25 +	<h1><a href="http://www.slitaz.org/">SliTaz DVD &amp; USB key builder</a></h1>
   20.26 +	<div class="network">
   20.27 +		<a href="http://www.slitaz.org/" class="home"></a>
   20.28 +		<a href="http://scn.slitaz.org/">Community</a>
   20.29 +		<a href="http://doc.slitaz.org/" title="SliTaz Community Documentation">Doc</a>
   20.30 +		<a href="http://forum.slitaz.org/" title="Slitaz Forum">Forum</a>
   20.31 +		<a href="http://bugs.slitaz.org/" title="Bug Tracking System">Bugs</a>
   20.32 +		<a href="http://hg.slitaz.org/" title="SliTaz repositories">Hg</a>
   20.33 +	</div>
   20.34 +</header>
   20.35 +
   20.36 +<!-- Block -->
   20.37 +<div class="block"><div>
   20.38 +
   20.39 +	<!-- Information/image -->
   20.40 +	<div class="block_info">
   20.41 +		<header>DVD and USB key generator</header>
   20.42 +		<p>
   20.43 +			This tool will create a shell script. You should run this script
   20.44 +			on your own SliTaz to build the DVD iso image. You can put this image on
   20.45 +			a DVD with <code>wodim</code> or on an USB key with <code>tazusb geniso2usb</code>.
   20.46 +		</p>
   20.47 +		<p>
   20.48 +			GUI tools are also available: <code>burnbox</code> and <code>tazusbbox</code>.
   20.49 +		</p>
   20.50 +	</div>
   20.51 +
   20.52 +	<!-- Navigation -->
   20.53 +	<nav>
   20.54 +		<header>Developers Corner</header>
   20.55 +		<ul>
   20.56 +			<li><a href="http://www.slitaz.org/en/devel/">Website devel</a></li>
   20.57 +			<li><a href="http://cook.slitaz.org/">Build Bot</a></li>
   20.58 +			<li><a href="http://pkgs.slitaz.org/">packages database</a></li>
   20.59 +		</ul>
   20.60 +		<p><strong>Online tools:</strong></p>
   20.61 +		<ul>
   20.62 +			<li><a href="http://pizza.slitaz.org/">Live Builder</a></li>
   20.63 +			<li><a href="http://boot.slitaz.org/">Web Boot</a></li>
   20.64 +			<li><a href="http://mirror.slitaz.org/floppies/builder/">Floppies Builder</a></li>
   20.65 +			<!-- li><a href="http://mirror.slitaz.org/packages/convert/">Package Converter</a></li -->
   20.66 +		</ul>
   20.67 +	</nav>
   20.68 +</div></div>
   20.69 +
   20.70 +<!-- Content, from http://en.wikipedia.org/wiki/Miscellaneous_Symbols_Unicode_block -->
   20.71 +<main>
   20.72 +
   20.73 +<!-- Languages -->
   20.74 +<div class="lang">
   20.75 +	<b>English</b>
   20.76 +	<a href="../ru/index.html">Русский</a>
   20.77 +</div>
   20.78 +
   20.79 +<form method="post" enctype="multipart/form-data" action="../download.php">
   20.80 +<input type="hidden" name="rsync" value="on" />
   20.81 +<input type="hidden" name="filter" value="on" />
   20.82 +<input type="hidden" id="size" name="size" value="0" />
   20.83 +
   20.84 +<table>
   20.85 +	<thead>
   20.86 +		<tr>
   20.87 +			<th>Features</th>
   20.88 +			<!-- th><label><input type="radio" name="version" value="4.0"/>stable 4.0</label></th -->
   20.89 +			<th><label><input type="radio" name="version" value="cooking"/>cooking</label></th>
   20.90 +			<th><label><input type="radio" name="version" value="4.0" checked="checked"/>4.0</label></th>
   20.91 +			<th><label><input type="radio" name="version" value="3.0"/>3.0</label></th>
   20.92 +			<th><label><input type="radio" name="version" value="2.0"/>2.0</label></th>
   20.93 +			<th><label><input type="radio" name="version" value="1.0"/>1.0</label></th>
   20.94 +			<!-- th><label><input type="radio" name="version" value="all"/>all</label></th -->
   20.95 +		</tr>
   20.96 +	</thead>
   20.97 +	<tbody>
   20.98 +		<tr>
   20.99 +			<td><label><input type="checkbox" checked="checked" disabled="disabled" name="boot"/>bootable on SliTaz</label></td>
  20.100 +			<!-- td id="boot_stable">29 MB</td -->
  20.101 +			<td id="boot_cooking">35 MB</td>
  20.102 +			<td id="boot_4.0">35 MB</td>
  20.103 +			<td id="boot_3.0">29 MB</td>
  20.104 +			<td id="boot_2.0">28 MB</td>
  20.105 +			<td id="boot_1.0">24 MB</td>
  20.106 +			<!-- td id="boot_all">139 MB</td -->
  20.107 +		</tr>
  20.108 +		<tr>
  20.109 +			<td><label><input type="checkbox" checked="checked" name="webboot"/>bootable on Internet &#9786;</label></td>
  20.110 +			<!-- td id="webboot_stable">196 KB</td -->
  20.111 +			<td id="webboot_cooking">196 KB</td>
  20.112 +			<td id="webboot_4.0">196 KB</td>
  20.113 +			<td id="webboot_3.0">196 KB</td>
  20.114 +			<td id="webboot_2.0">196 KB</td>
  20.115 +			<td id="webboot_1.0">196 KB</td>
  20.116 +			<!-- td id="webboot_all">196 KB</td -->
  20.117 +		</tr>
  20.118 +		<tr>
  20.119 +			<td><label><input type="checkbox" checked="checked" name="website"/>with the SliTaz website</label></td>
  20.120 +			<!-- td id="website_stable">23 MB</td -->
  20.121 +			<td id="website_cooking">23 MB</td>
  20.122 +			<td id="website_4.0">23 MB</td>
  20.123 +			<td id="website_3.0">23 MB</td>
  20.124 +			<td id="website_2.0">23 MB</td>
  20.125 +			<td id="website_1.0">23 MB</td>
  20.126 +			<!-- td id="website_all">23 MB</td -->
  20.127 +		</tr>
  20.128 +		<tr>
  20.129 +			<td><label><input type="checkbox" name="doc"/>with the SliTaz doc website</label></td>
  20.130 +			<!-- td id="doc_stable">85 MB</td -->
  20.131 +			<td id="doc_cooking">85 MB</td>
  20.132 +			<td id="doc_4.0">85 MB</td>
  20.133 +			<td id="doc_3.0">85 MB</td>
  20.134 +			<td id="doc_2.0">85 MB</td>
  20.135 +			<td id="doc_1.0">85 MB</td>
  20.136 +			<!-- td id="doc_all">85 MB</td -->
  20.137 +		</tr>
  20.138 +		<tr>
  20.139 +			<td><label><input type="checkbox" name="tiny"/>with the Tiny SliTaz website</label></td>
  20.140 +			<!-- td id="tiny_stable">15 MB</td -->
  20.141 +			<td id="tiny_cooking">15 MB</td>
  20.142 +			<td id="tiny_4.0">15 MB</td>
  20.143 +			<td id="tiny_3.0">15 MB</td>
  20.144 +			<td id="tiny_2.0">15 MB</td>
  20.145 +			<td id="tiny_1.0">15 MB</td>
  20.146 +			<!-- td id="tiny_all">15 MB</td -->
  20.147 +		</tr>
  20.148 +		<tr>
  20.149 +			<td><label><input type="checkbox" name="pxe"/>with the SliTaz PXE website</label></td>
  20.150 +			<!-- td id="pxe_stable">112 MB</td -->
  20.151 +			<td id="pxe_cooking">112 MB</td>
  20.152 +			<td id="pxe_4.0">112 MB</td>
  20.153 +			<td id="pxe_3.0">112 MB</td>
  20.154 +			<td id="pxe_2.0">82 MB</td>
  20.155 +			<td id="pxe_1.0">25 MB</td>
  20.156 +			<!-- td id="pxe_all">444 MB</td -->
  20.157 +		</tr>
  20.158 +		<tr>
  20.159 +			<td><label><input type="checkbox" name="tools"/>with online tools (pkgs, pizza, convert, floppy, dvd)</label></td>
  20.160 +			<!-- td id="tools_stable">1 MB</td -->
  20.161 +			<td id="tools_cooking">1 MB</td>
  20.162 +			<td id="tools_4.0">1 MB</td>
  20.163 +			<td id="tools_3.0">1 MB</td>
  20.164 +			<td id="tools_2.0">1 MB</td>
  20.165 +			<td id="tools_1.0">1 MB</td>
  20.166 +			<!-- td id="tools_all">1 MB</td -->
  20.167 +		</tr>
  20.168 +		<tr>
  20.169 +			<td><label><input type="checkbox" checked="checked" name="wok"/>with the SliTaz wok (rules to build any package)</label></td>
  20.170 +			<!-- td id="wok_stable">87 MB</td -->
  20.171 +			<td id="wok_cooking">87 MB</td>
  20.172 +			<td id="wok_4.0">87 MB</td>
  20.173 +			<td id="wok_3.0">87 MB</td>
  20.174 +			<td id="wok_2.0">87 MB</td>
  20.175 +			<td id="wok_1.0">87 MB</td>
  20.176 +			<!-- td id="wok_all">87 MB</td -->
  20.177 +		</tr>
  20.178 +		<tr>
  20.179 +			<td><label><input type="checkbox" name="hg"/>with all Mercurial repositories</label></td>
  20.180 +			<!-- td id="hg_stable">250 MB</td -->
  20.181 +			<td id="hg_cooking">250 MB</td>
  20.182 +			<td id="hg_4.0">250 MB</td>
  20.183 +			<td id="hg_3.0">250 MB</td>
  20.184 +			<td id="hg_2.0">250 MB</td>
  20.185 +			<td id="hg_1.0">250 MB</td>
  20.186 +			<!-- td id="hg_all">250 MB</td -->
  20.187 +		</tr>
  20.188 +		<tr>
  20.189 +			<td><label><input type="checkbox" checked="checked" name="packages"/>with all packages &amp; flavors files</label></td>
  20.190 +			<!-- td id="packages_stable">2.6 GB</td -->
  20.191 +			<td id="packages_cooking">2.6 GB</td>
  20.192 +			<td id="packages_4.0">2.6 GB</td>
  20.193 +			<td id="packages_3.0">1.4 GB</td>
  20.194 +			<td id="packages_2.0">910 MB</td>
  20.195 +			<td id="packages_1.0">230 MB</td>
  20.196 +			<!-- td id="packages_all">5.1 GB</td -->
  20.197 +		</tr>
  20.198 +		<tr>
  20.199 +			<td><label><input type="checkbox" name="nonfree"/>with non-free &#9888; packages (from get-* scripts) <sup>1</sup></label></td>
  20.200 +			<!-- td id="nonfree_stable">500 MB</td -->
  20.201 +			<td id="xnonfree_cooking">not yet</td>
  20.202 +			<td id="xnonfree_4.0">not yet</td>
  20.203 +			<td id="xnonfree_3.0">not yet</td>
  20.204 +			<td id="nonfree_2.0">200 MB</td>
  20.205 +			<td id="nonfree_1.0">50 MB</td>
  20.206 +			<!-- td id="nonfree_all">500 MB</td -->
  20.207 +		</tr>
  20.208 +		<tr>
  20.209 +			<td><label><input type="checkbox" name="huge"/>with free but huge packages (from get-* scripts) <sup>2</sup></label></td>
  20.210 +			<!-- td id="huge_stable">500 MB</td -->
  20.211 +			<td id="xhuge_cooking">not yet</td>
  20.212 +			<td id="xhuge_4.0">not yet</td>
  20.213 +			<td id="xhuge_3.0">not yet</td>
  20.214 +			<td id="huge_2.0">500 MB</td>
  20.215 +			<td id="xhuge_1.0">none</td>
  20.216 +			<!-- td id="huge_all">900 MB</td -->
  20.217 +		</tr>
  20.218 +		<tr>
  20.219 +			<td><label><input type="checkbox" name="sources"/>with all sources files <sup>3</sup></label></td>
  20.220 +			<!-- td id="sources_stable">5.0 GB</td -->
  20.221 +			<td id="sources_cooking">5.0 GB</td>
  20.222 +			<td id="sources_4.0">5.0 GB</td>
  20.223 +			<td id="sources_3.0">2.4 GB</td>
  20.224 +			<td id="sources_2.0">1.5 GB</td>
  20.225 +			<td id="sources_1.0">650 MB</td>
  20.226 +			<!-- td id="sources_all">9.6 GB</td -->
  20.227 +		</tr>
  20.228 +		<tr>
  20.229 +			<td><label><input type="checkbox" checked="checked" name="loram_detect"/>with loram &#9842; autodetection</label></td>
  20.230 +			<!-- td id="loram_detect_stable">129 MB</td -->
  20.231 +			<td id="loram_detect_cooking">129 MB</td>
  20.232 +			<td id="loram_detect_4.0">132 MB</td>
  20.233 +			<td id="loram_detect_3.0">132 MB</td>
  20.234 +			<td id="loram_detect_2.0">99 MB</td>
  20.235 +			<td id="loram_detect_1.0">82 MB</td>
  20.236 +			<!-- td id="loram_detect_all">570 MB</td -->
  20.237 +		</tr>
  20.238 +		<tr>
  20.239 +			<td><label><input type="checkbox" checked="checked" name="auto_install"/>with auto activation on boot (standalone mode)</label></td>
  20.240 +			<!-- td id="auto_install_stable">2 KB</td -->
  20.241 +			<td id="auto_install_cooking">2 KB</td>
  20.242 +			<td id="auto_install_4.0">2 KB</td>
  20.243 +			<td id="auto_install_3.0">2 KB</td>
  20.244 +			<td id="auto_install_2.0">2 KB</td>
  20.245 +			<td id="auto_install_1.0">2 KB</td>
  20.246 +			<!-- td id="auto_install_all">2 KB</td -->
  20.247 +		</tr>
  20.248 +	</tbody>
  20.249 +</table>
  20.250 +
  20.251 +<hr>
  20.252 +
  20.253 +<p><input name="download" value="Download" type="submit"/>
  20.254 +the script to build the ISO image.
  20.255 +<span id="result"></span>
  20.256 +</form>
  20.257 +
  20.258 +<script>
  20.259 +document.documentElement.className += (("ontouchstart" in document.documentElement) ? ' touch' : ' no-touch');
  20.260 +
  20.261 +function toKb(size) {
  20.262 +	var divisor = 1, result = 0;
  20.263 +	for (var i = 0; i < size.length; i++) {
  20.264 +		switch (size.charAt(i)) {
  20.265 +		case '.' : divisor = 10; continue;
  20.266 +		case 'K' : return result/divisor;
  20.267 +		case 'M' : return (1024*result)/divisor;
  20.268 +		case 'G' : return (1024*1024*result)/divisor;
  20.269 +		case 'T' : return (1024*1024*1024*result)/divisor;
  20.270 +		}
  20.271 +		if (size.charAt(i) >= '0' && size.charAt(i) <= '9') {
  20.272 +			result *= 10
  20.273 +			result += parseInt(size.charAt(i) - '0')
  20.274 +		}
  20.275 +	}
  20.276 +	return result/divisor
  20.277 +}
  20.278 +
  20.279 +function toHuman(size) {
  20.280 +	var i;
  20.281 +	for (size *= 10, i = 0; size > 10000; size /= 1024, i++);
  20.282 +	if (size >= 100) size = parseInt(size / 10)
  20.283 +	else size = parseInt(size / 10) + "." + parseInt(size % 10)
  20.284 +	return size + " " + "KMGT".charAt(i) + "B"
  20.285 +}
  20.286 +
  20.287 +function update_size() {
  20.288 +	var total = 1024; // padding
  20.289 +	for (var i = 0; i < document.getElementsByTagName("td").length; i++) {
  20.290 +		var obj = document.getElementsByTagName("td")[i]
  20.291 +		var reg = new RegExp("^[0-9\.]* [KMGT]B$")
  20.292 +		if (!reg.test(obj.innerHTML)) continue
  20.293 +		obj.style.fontWeight="normal"
  20.294 +		obj.style.textDecoration="none"
  20.295 +		obj.style.backgroundColor="inherit"
  20.296 +	}
  20.297 +	for (var i = 0; i < document.forms[0].elements.length; i++) {
  20.298 +		var obj = document.forms[0].elements[i]
  20.299 +		if (obj.checked == false) continue
  20.300 +		var version = document.forms[0].version
  20.301 +		for (j = 0; j < version.length; j++) {
  20.302 +			if (version[j].checked) {
  20.303 +				version = version[j].value
  20.304 +				break
  20.305 +			}
  20.306 +		}
  20.307 +		var size = document.getElementById(obj.name + "_" + version)
  20.308 +		if (size == null) continue
  20.309 +		size.style.fontWeight="bold"
  20.310 +		//size.style.textDecoration="underline"
  20.311 +		size.style.backgroundColor="#ccc"
  20.312 +		total += parseInt(toKb(size.innerHTML))
  20.313 +	}
  20.314 +	var size = document.getElementById("size")
  20.315 +	size.value = total
  20.316 +	var result=document.getElementById("result")
  20.317 +	result.innerHTML="Expected size: <u><b>"+toHuman(total)+"</b></u>"+
  20.318 +		" (&#10004; needs "+toHuman(2*total)+" free space)."
  20.319 +}
  20.320 +
  20.321 +function QRCodePNG(str, obj) {
  20.322 +	try {
  20.323 +		obj.height = obj.width += 200;
  20.324 +		return QRCode.generatePNG(str, {ecclevel: 'H'});
  20.325 +	}
  20.326 +	catch (any) {
  20.327 +		var element = document.createElement("script");
  20.328 +		element.src = "/static/qrcode.min.js";
  20.329 +		element.type = "text/javascript";
  20.330 +		element.onload = function() {
  20.331 +			obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  20.332 +		};
  20.333 +		document.body.appendChild(element);
  20.334 +	}
  20.335 +}
  20.336 +
  20.337 +update_size()
  20.338 +window.onchange = update_size
  20.339 +</script>
  20.340 +
  20.341 +<p>
  20.342 +<sup>1</sup> SliTaz can't and doesn't want to provide non free software.
  20.343 +Many people want to use software such as <b>Opera</b>, <b>Skype &#9742;</b> or <b>flash-plugin</b>.
  20.344 +SliTaz provides some <b>get-*</b> scripts to let you install them.
  20.345 +The DVD creation tool will launch this script, repackage the software and 
  20.346 +store it in the package directory.
  20.347 +</p>
  20.348 +
  20.349 +<p>
  20.350 +<sup>2</sup> Some software such as <b>OpenOffice</b> or <b>LibreOffice</b> are
  20.351 +so huge that they don't compile on a SliTaz build bot.
  20.352 +The DVD creation tool will use <b>get-*</b> scripts (see above) to store these
  20.353 +packages in the package directory. The scripts download pre-built binaries for
  20.354 +another Linux distribution.
  20.355 +</p>
  20.356 +
  20.357 +<p>
  20.358 +<sup>3</sup> Original source files. Install <b>SliTaz wok</b> to get the SliTaz
  20.359 +patches.
  20.360 +</p>
  20.361 +<!-- End of content -->
  20.362 +</main>
  20.363 +
  20.364 +<footer>
  20.365 +	<div>
  20.366 +		Copyright © <span class="year"></span>
  20.367 +		<a href="http://www.slitaz.org/">SliTaz</a>
  20.368 +	</div>
  20.369 +	<div>
  20.370 +		Network:
  20.371 +		<a href="http://scn.slitaz.org/">Community</a> ·
  20.372 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  20.373 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  20.374 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  20.375 +		<a href="http://bugs.slitaz.org/">Bugs</a> ·
  20.376 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  20.377 +	</div>
  20.378 +	<div>
  20.379 +		SliTaz @
  20.380 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  20.381 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  20.382 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  20.383 +		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  20.384 +	</div>
  20.385 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  20.386 +	onclick="this.src=QRCodePNG(location.href, this)"/>
  20.387 +</footer>
  20.388 +
  20.389 +</body>
  20.390 +</html>
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/dvd/index.php	Fri Oct 16 02:08:09 2015 +0300
    21.3 @@ -0,0 +1,28 @@
    21.4 +<?php
    21.5 +if (false) {
    21.6 +?>
    21.7 +<html><body>
    21.8 +<script type="text/javascript">
    21.9 +<!--
   21.10 +var lang=["fr","pt","ru"]
   21.11 +for (var l in lang)
   21.12 +	if(navigator.language.indexOf(lang[l])>-1)
   21.13 +		document.URL=lang[l]+"/index.html";
   21.14 +document.URL="en/index.html";
   21.15 +//-->
   21.16 +</script>
   21.17 +</body></html>
   21.18 +<?php
   21.19 +}
   21.20 +else {
   21.21 +foreach (explode(",", $_SERVER["HTTP_ACCEPT_LANGUAGE"]) as $lang) {
   21.22 +	foreach (array(';',' ','-') as $char) {
   21.23 +		if (($n = strpos($lang, $char)) !== false)
   21.24 +			$lang = substr($lang,0,$n);
   21.25 +	}
   21.26 +	if (is_dir($lang)) break;
   21.27 +	$lang = "en"; 
   21.28 +}
   21.29 +header("Location: $lang/index.html");
   21.30 +}
   21.31 +?>
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/dvd/mkpkgiso	Fri Oct 16 02:08:09 2015 +0300
    22.3 @@ -0,0 +1,431 @@
    22.4 +#!/bin/sh
    22.5 +# mkpkgiso, build packages ISO image.
    22.6 +# (C) 2007-TODAY SliTaz - GNU General Public License v3.
    22.7 +#
    22.8 +# Authors : Eric Joseph-Alexandre <erjo@slitaz.org>
    22.9 +#	    Pascal Bellard <pascal.bellard@slitaz.org>
   22.10 +
   22.11 +VERSION=0.9
   22.12 +
   22.13 +PKG_VER=$1
   22.14 +ROOT=/home/slitaz/iso
   22.15 +REPOS=/var/www/slitaz/mirror/packages/$PKG_VER
   22.16 +SOURCES=/var/www/slitaz/mirror/sources/packages
   22.17 +IFMEM_C32=/var/www/slitaz/mirror/pxe/ifmem.c32
   22.18 +ISO_DIR=/var/www/slitaz/mirror/iso/$PKG_VER
   22.19 +
   22.20 +[ -s /etc/slitaz/mkpkgiso.conf ] && . /etc/slitaz/mkpkgiso.conf
   22.21 +[ -s ./mkpkgiso.conf ] && . ./mkpkgiso.conf
   22.22 +
   22.23 +SORT_DIR=${ROOT}/_iso.$$
   22.24 +TEMP_DIR=${ROOT}/_iso.$$
   22.25 +SORT_FILE=${ROOT}/_sort.$$
   22.26 +shift
   22.27 +OPTIONS=$@
   22.28 +PKG_DIR=$TEMP_DIR/packages/$PKG_VER
   22.29 +SRC_DIR=$TEMP_DIR/src
   22.30 +LOG=$PWD/$(basename $0).log
   22.31 +
   22.32 +#
   22.33 +VOLUME_ID="packages-${PKG_VER}"
   22.34 +PUBLISHER="SliTaz http://www.slitaz.org/"
   22.35 +IMAGE="packages-${PKG_VER}.iso"
   22.36 +case " $@ " in
   22.37 +*\ --sources\ *)
   22.38 +	IMAGE="sources-${PKG_VER}.iso" ;;
   22.39 +esac
   22.40 +OUTPUT="$ROOT/$IMAGE"
   22.41 +
   22.42 +# Check command line option.
   22.43 +if [ -z $PKG_VER ]; then
   22.44 +	cat <<EOT
   22.45 +Usage: $(basename $0) <Version> 
   22.46 +	[--boot [--auto-install] [--loram-detect]]|--webboot] [--filter]
   22.47 +	[--wok] [--wok-stable] [--website] [--sources] [--dry-run]
   22.48 +       $(basename $0) update-hg <dir>
   22.49 +Example:
   22.50 +$(basename $0) cooking --boot --auto-install --loram-detect --filter --wok --website --sources
   22.51 +EOT
   22.52 +	exit 1
   22.53 +fi
   22.54 +
   22.55 +# Update hg repos
   22.56 +if [ "$PKG_VER" == "update-hg" ]; then
   22.57 +	for i in $1/* ; do
   22.58 +		grep -qs '\[paths]' $i/.hg/hgrc || continue
   22.59 +		cd $i
   22.60 +		hg pull
   22.61 +		hg update
   22.62 +		cd - > /dev/null
   22.63 +	done
   22.64 +	exit 1
   22.65 +fi
   22.66 +
   22.67 +# Check if we provide a valide version
   22.68 +if [ ! -d $REPOS ]; then
   22.69 +	echo "Boooh! $PKG_VER is not a valid version."
   22.70 +	exit 1
   22.71 +fi
   22.72 +
   22.73 +# Status function.
   22.74 +status()
   22.75 +{
   22.76 +	local CHECK=$?
   22.77 +	echo -en "\\033[70G[ "
   22.78 +	if [ $CHECK = 0 ]; then
   22.79 +		echo -en "\\033[1;33mOK"
   22.80 +	else
   22.81 +		echo -en "\\033[1;31mFailed"
   22.82 +	fi
   22.83 +	echo -e "\\033[0;39m ]"
   22.84 +}
   22.85 +
   22.86 +need()
   22.87 +{
   22.88 +	found=1
   22.89 +	for i in $@ ; do
   22.90 +		[ -s $i ] && continue
   22.91 +		echo "Missing: $i "
   22.92 +		found=0
   22.93 +	done
   22.94 +	[ $found -ne 0 ] && return
   22.95 +	status
   22.96 +	rm -rf $TEMP_DIR $SORT_FILE
   22.97 +	exit 1
   22.98 +}
   22.99 +
  22.100 +# Create temp directory
  22.101 +mkdir -p $TEMP_DIR/packages/$PKG_VER
  22.102 +which genisoimage > /dev/null || need /usr/bin/genisoimage
  22.103 +
  22.104 +# Prepare evrything for ISO
  22.105 +
  22.106 +echo ""
  22.107 +echo "Building ISO for packages  $PKG_VER"
  22.108 +echo "==============================================================================="
  22.109 +echo -n "Creating working dir $(basename $TEMP_DIR)"
  22.110 +status 
  22.111 +echo -n "Creating symlink"
  22.112 +status
  22.113 +
  22.114 +# Link every packages to temp dir
  22.115 +cd $PKG_DIR
  22.116 +for i in $REPOS/*
  22.117 +do
  22.118 +	ln -s $i >> $LOG 2>&1
  22.119 +done
  22.120 +
  22.121 +echo -n "Creating install script"
  22.122 +# Create install script as suggested by Pascal.
  22.123 +cat >$TEMP_DIR/install.sh<<EOF
  22.124 +#!/bin/sh
  22.125 +#
  22.126 +
  22.127 +DIR=\$(cd \$(busybox dirname \$0); pwd)
  22.128 +
  22.129 +# Handle --auto-install case
  22.130 +if [ "\$DIR" == "/etc/init.d" ]; then
  22.131 +  DIR=/cdrom
  22.132 +  if [ ! -f /cdrom/install.sh ]; then
  22.133 +    mkdir /cdrom 2> /dev/null
  22.134 +    mount --bind /mnt /cdrom
  22.135 +  fi
  22.136 +  # Handle loram on hybrid hard disk / usb key case
  22.137 +  if [ ! -d /usr/bin ]; then
  22.138 +    echo ""
  22.139 +    if [ -d /.usr.rw ]; then
  22.140 +      echo -n "Mounting /usr read-write... "
  22.141 +      usr=.usr.ro
  22.142 +    else
  22.143 +      echo -n "Mounting /usr read-only... "
  22.144 +      usr=usr
  22.145 +    fi
  22.146 +    FS=\$DIR/usr.cromfs
  22.147 +    if [ -f \$FS ]; then
  22.148 +      /bin/cromfs-driver \$FS /\$usr -o ro,dev,suid,allow_other
  22.149 +    elif [ -f \$DIR/usr.sqfs ]; then
  22.150 +      FS=\$DIR/usr.sqfs
  22.151 +      mount -o loop,ro -t squashfs \$FS /\$usr
  22.152 +    elif [ -L /\$usr ]; then
  22.153 +      FS=\$DIR/usr
  22.154 +    fi
  22.155 +    status
  22.156 +    if [ -d /.usr.rw ]; then
  22.157 +      if [ -x /bin/funionfs ]; then
  22.158 +        /bin/funionfs -o dirs=/.usr.ro=RO:/.usr.rw -o allow_other -o suid,dev NONE /usr
  22.159 +      else
  22.160 +        /bin/mount -t aufs -o br:/.usr.rw:/.usr.ro none /usr
  22.161 +      fi
  22.162 +    fi
  22.163 +  fi
  22.164 +fi
  22.165 +
  22.166 +[ -d /var/cache/tazpkg ] || mkdir -p /var/cache/tazpkg
  22.167 +ls -d \$DIR/packages/* > /var/lib/tazpkg/mirror
  22.168 +ln -fs \$DIR/packages/*/*.tazpkg /var/cache/tazpkg/
  22.169 +ln -fs \$DIR/packages/*/packages.* /var/lib/tazpkg
  22.170 +echo ""
  22.171 +echo "=> all $PKG_VER packages are available for tazpkg/tazpkgbox"
  22.172 +EOF
  22.173 +[ -e files.list.lzma ] && cat >>$TEMP_DIR/install.sh<<EOF
  22.174 +ln -fs \$DIR/packages/*/files.list.lzma /var/lib/tazpkg
  22.175 +EOF
  22.176 +
  22.177 +status
  22.178 +cat > $SORT_FILE <<EOT
  22.179 +$SORT_DIR/install.sh -4000
  22.180 +$SORT_DIR/README -4000
  22.181 +$SORT_DIR/index.html -4000
  22.182 +$SORT_DIR/md5sum -4000
  22.183 +$SORT_DIR/style.css -4000
  22.184 +$SORT_DIR/images/header.png -4000
  22.185 +$SORT_DIR/boot/bzImage 2
  22.186 +$SORT_DIR/boot/rootfs.gz 1
  22.187 +$SORT_DIR/packages -9000
  22.188 +EOT
  22.189 +( cd $ROOT; ls $SORT_DIR/packages/*/packages* $SORT_DIR/packages/*/files.list.lzma ) | \
  22.190 +		awk '{ printf "%s -7000\n",$0 }' >> $SORT_FILE
  22.191 +chmod 755  $TEMP_DIR/install.sh
  22.192 +
  22.193 +case " $OPTIONS " in
  22.194 +*\ --filter\ *)
  22.195 +	SIZE=0
  22.196 +	for i in *.tazpkg; do
  22.197 +		while read f; do
  22.198 +			case "$i" in
  22.199 +			$f*) continue 2;;
  22.200 +			esac
  22.201 +		done < packages.list
  22.202 +		echo -n "Filtering out $i ($(du -hs $(readlink $i) | awk '{ print $1 }'))..."
  22.203 +		SIZE=$(( $SIZE + $(stat -c %s $(readlink $i)) ))
  22.204 +		rm $i
  22.205 +		status
  22.206 +	done
  22.207 +	UNIT=" bytes"
  22.208 +	if [ $SIZE -gt 10240 ]; then
  22.209 +		SIZE=$(( $SIZE / 1024 ))
  22.210 +		UNIT="K"
  22.211 +	fi
  22.212 +	if [ $SIZE -gt 10240 ]; then
  22.213 +		SIZE=$(( $SIZE / 1024 ))
  22.214 +		UNIT="M"
  22.215 +	fi
  22.216 +	echo "$SIZE$UNIT removed.";;
  22.217 +esac
  22.218 +
  22.219 +# Copy hg subtree
  22.220 +get_from_hg()
  22.221 +{
  22.222 +echo -n "Adding $2"
  22.223 +if [ -s /home/slitaz/$1/.hg/hgrc ]; then
  22.224 +	cp -a /home/slitaz/$1 $TEMP_DIR
  22.225 +else
  22.226 +	wget -q -O - http://hg.slitaz.org/$1/archive/tip.tar.bz2 | tar xjf - -C $TEMP_DIR
  22.227 +	mv $TEMP_DIR/$1-* $TEMP_DIR/$1
  22.228 +fi
  22.229 +status
  22.230 +echo "$(du -hs $TEMP_DIR/$1 | awk '{ print $1 }') used by $2."
  22.231 +}
  22.232 +
  22.233 +for i in $OPTIONS ; do
  22.234 +case "$i" in
  22.235 +--wok)
  22.236 +	cat >>$TEMP_DIR/install.sh<<EOF
  22.237 +mkdir -p /home/slitaz
  22.238 +ln -s \$DIR/wok /home/slitaz
  22.239 +echo "=> Wok (cooking) is in /home/slitaz/wok"
  22.240 +EOF
  22.241 +	if get_from_hg wok "wok (cooking)"; then
  22.242 +		echo "$SORT_DIR/wok -8000" >> $SORT_FILE
  22.243 +	fi;;
  22.244 +--wok-stable)
  22.245 +	cat >>$TEMP_DIR/install.sh<<EOF
  22.246 +mkdir -p /home/slitaz
  22.247 +ln -s \$DIR/wok /home/slitaz
  22.248 +echo "=> Wok (stable) is in /home/slitaz/wok"
  22.249 +EOF
  22.250 +	if get_from_hg wok-stable "wok (stable)"; then
  22.251 +		mv $TEMP_DIR/wok-stable $TEMP_DIR/wok
  22.252 +		echo "$SORT_DIR/wok -8000" >> $SORT_FILE
  22.253 +	fi;;
  22.254 +--website)
  22.255 +	if get_from_hg website "web site"; then
  22.256 +		echo "$SORT_DIR/website -6000" >> $SORT_FILE
  22.257 +		cat >>$TEMP_DIR/install.sh<<EOF
  22.258 +echo "=> slitaz web site installed in file://\$DIR/website/index.html"
  22.259 +EOF
  22.260 +	fi;;
  22.261 +--sources)
  22.262 +	echo -n "Removing previous ISO..."
  22.263 +	rm -f $OUTPUT
  22.264 +	status
  22.265 +	cat >>$TEMP_DIR/install.sh<<EOF
  22.266 +mkdir -p /home/slitaz
  22.267 +ln -s \$DIR/src /home/slitaz
  22.268 +echo "=> sources are in /home/slitaz/src"
  22.269 +EOF
  22.270 +	mkdir -p $SRC_DIR
  22.271 +	cd $SRC_DIR
  22.272 +	for i in $SOURCES/*/*
  22.273 +	do
  22.274 +		case "$i" in
  22.275 +		*/md5sum) continue;;
  22.276 +		esac
  22.277 +		ln -s $i >> $LOG 2>&1
  22.278 +	done
  22.279 +	find * -not -type d | grep -v md5sum | xargs md5sum > md5sum
  22.280 +	echo "$(du -hs $SOURCES | awk '{ print $1 }') used by sources." ;;
  22.281 +esac
  22.282 +done
  22.283 +
  22.284 +# Extract boot package function
  22.285 +extract_boot()
  22.286 +{
  22.287 +f=$(ls $REPOS/$1-[0-9]*.tazpkg 2> /dev/null)
  22.288 +[ -f "$f" ] || return 1
  22.289 +[ -d $TEMP_DIR/boot ] || mkdir $TEMP_DIR/boot
  22.290 +( cd $TEMP_DIR/boot ; cpio -i fs.cpio.gz < $f 2> /dev/null ) 
  22.291 +( cd $TEMP_DIR/boot ; zcat fs.cpio.gz | cpio -id 2> /dev/null )
  22.292 +mv $TEMP_DIR/boot/fs/boot/* $TEMP_DIR/boot
  22.293 +rm -rf $TEMP_DIR/boot/fs.cpio.gz $TEMP_DIR/boot/fs
  22.294 +return 0
  22.295 +}
  22.296 +
  22.297 +# Gen boot part
  22.298 +BOOT_OPT=""
  22.299 +iso=$ISO_DIR/slitaz-$PKG_VER.iso
  22.300 +for i in slitaz-loram-cdrom-sqfs slitaz-$PKG_VER-loram-cdrom ; do
  22.301 +	isoloram=$ISO_DIR/flavors/$i.iso
  22.302 +	[ -s $isoloram ] && break
  22.303 +done
  22.304 +case " $OPTIONS " in
  22.305 +*\ --boot\ *)
  22.306 +	echo -n "Creating boot tree"
  22.307 +	need $iso
  22.308 +	which isoinfo > /dev/null || need /usr/bin/isoinfo
  22.309 +	isoinfo -R -l -i $iso | awk '/^Directory/ { path=$4 } /^-/ { print path$12  }' | while read file; do
  22.310 +		[ "$(basename $file)" == ".." ] && continue
  22.311 +		[ "$file" = "/boot/isolinux/boot.cat" ] && continue
  22.312 +		[ -d "$(dirname $TEMP_DIR/$file)" ] ||
  22.313 +			mkdir -p "$(dirname $TEMP_DIR/$file)"
  22.314 +		isoinfo -R -x "$file" -i $iso > "$TEMP_DIR/$file"
  22.315 +	done
  22.316 +	if [ -f "$(echo $TEMP_DIR/boot/vmlinuz*)" ]; then
  22.317 +		rm -f $TEMP_DIR/boot/bzImage
  22.318 +		ln $TEMP_DIR/boot/vmlinuz* $TEMP_DIR/boot/bzImage
  22.319 +	fi
  22.320 +	status
  22.321 +	BOOT_OPT="-sort $SORT_FILE -b boot/isolinux/isolinux.bin \
  22.322 +-c boot/isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table"
  22.323 +	case " $OPTIONS " in
  22.324 +	*\ --auto-install\ *)
  22.325 +		echo -n "Enabling auto install"
  22.326 +		sed -i "s/rw root/rw config=LABEL=packages-$PKG_VER,install.sh root/" \
  22.327 +			$TEMP_DIR/boot/isolinux/*.cfg
  22.328 +		status
  22.329 +		;;
  22.330 +	esac
  22.331 +	case " $OPTIONS " in
  22.332 +	*\ --loram-detect\ *)
  22.333 +		echo -n "Enabling loram autodetection"
  22.334 +		need $IFMEM_C32 $isoloram
  22.335 +		which isoinfo > /dev/null || need /usr/bin/isoinfo
  22.336 +		cp $IFMEM_C32 "$TEMP_DIR/boot/isolinux"
  22.337 +		isoinfo -R -x "/usr.sqfs" -i $isoloram \
  22.338 +			> "$TEMP_DIR/usr.sqfs" 2> /dev/null
  22.339 +		if [ -s "$TEMP_DIR/usr.sqfs" ]; then
  22.340 +			echo "$SORT_DIR/usr.sqfs -5000" >> $SORT_FILE
  22.341 +		else
  22.342 +			rm -f "$TEMP_DIR/usr.sqfs"
  22.343 +			isoinfo -R -x "/rootfs.gz" -i $isoloram \
  22.344 +				> "$TEMP_DIR/rootfs.gz" 2> /dev/null
  22.345 +			echo "$SORT_DIR/rootfs.gz -5000" >> $SORT_FILE
  22.346 +		fi
  22.347 +		isoinfo -R -x "/boot/rootfs.gz" -i $isoloram > \
  22.348 +			"$TEMP_DIR/boot/loram.gz"
  22.349 +		cat >> $TEMP_DIR/boot/isolinux/common.cfg <<EOT
  22.350 +label noram
  22.351 +        config noram.cfg
  22.352 +EOT
  22.353 +		cat >> $TEMP_DIR/boot/isolinux/noram.cfg <<EOT
  22.354 +display isolinux.msg
  22.355 +say Not enough RAM to boot slitaz.
  22.356 +default reboot
  22.357 +label reboot
  22.358 +        com32 reboot.c32
  22.359 +
  22.360 +implicit 0
  22.361 +prompt 1
  22.362 +timeout 80
  22.363 +F1 help.txt
  22.364 +F2 options.txt
  22.365 +F3 isolinux.msg
  22.366 +F4 display.txt
  22.367 +F5 enhelp.txt
  22.368 +F6 enopts.txt
  22.369 +EOT
  22.370 +		sed -i -e 's|kernel /boot/bzImage|kernel /boot/isolinux/ifmem.c32\n\tappend 160768 core 29696 loram noram\n|' \
  22.371 +			-e "s|\\(.*/\\)rootfs\\(.gz .*\\)\$|label core\\n\\tkernel /boot/bzImage\\n\\1rootfs\\2\\n\\nlabel loram\\n\\tkernel /boot/bzImage\\n\\1loram\\2 loram=LABEL=packages-$PKG_VER,|" \
  22.372 +			$TEMP_DIR/boot/isolinux/*.cfg
  22.373 +		status
  22.374 +		;;
  22.375 +	esac
  22.376 +	echo "$SORT_DIR/boot 0" >> $SORT_FILE
  22.377 +	;;
  22.378 +*\ --webboot\ *)
  22.379 +	if extract_boot gpxe; then
  22.380 +	echo -n "Creating web boot tree"
  22.381 +	which isoinfo > /dev/null || need /usr/bin/isoinfo
  22.382 +	mkdir $TEMP_DIR/boot/isolinux/
  22.383 +	isoinfo -R -x "/boot/isolinux/isolinux.bin" -i $iso > \
  22.384 +		$TEMP_DIR/boot/isolinux/isolinux.bin
  22.385 +	mv $TEMP_DIR/boot/gpxe $TEMP_DIR/boot/isolinux
  22.386 +	echo "$SORT_DIR/boot 0" >> $SORT_FILE
  22.387 +	cat > $TEMP_DIR/boot/isolinux/isolinux.cfg <<EOT
  22.388 +default gpxe
  22.389 +append http://mirror.slitaz.org/pxe/pxelinux.0
  22.390 +EOT
  22.391 +	status
  22.392 +	BOOT_OPT="-sort $SORT_FILE -b boot/isolinux/isolinux.bin \
  22.393 +-c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table"
  22.394 +	fi
  22.395 +	;;
  22.396 +esac
  22.397 +
  22.398 +if [ -n "$BOOT_OPT" ]; then
  22.399 +	echo "$(du -chs $TEMP_DIR/boot $TEMP_DIR/usr.sqfs 2> /dev/null | \
  22.400 +		    awk 'END { print $1 }') used by boot."
  22.401 +fi
  22.402 +
  22.403 +case " $OPTIONS " in
  22.404 +*\ --dry-run\ *)
  22.405 +	echo "Please check and remove $TEMP_DIR and $SORT_FILE"
  22.406 +	exit
  22.407 +	;;
  22.408 +esac
  22.409 +# Gen ISO
  22.410 +echo -n "Generating iso image"
  22.411 +genisoimage -R -J -f -V $VOLUME_ID \
  22.412 + -P "$PUBLISHER" -md5-list $REPOS/packages.md5 \
  22.413 + -quiet -o $OUTPUT $BOOT_OPT $TEMP_DIR
  22.414 +status 
  22.415 +
  22.416 +echo "$(du -hs $OUTPUT | awk '{ print $1 }') used by iso image."
  22.417 +
  22.418 +cd ${ROOT}
  22.419 +echo -n "Creating hybrid DVD/CDROM"
  22.420 +which isohybrid > /dev/null && isohybrid $IMAGE 2> /dev/null
  22.421 +status
  22.422 +
  22.423 +echo -n "Calculating md5sum"
  22.424 +md5sum $IMAGE > $(basename $IMAGE .iso).md5
  22.425 +status
  22.426 +
  22.427 +echo -n "Moving file to mirror"
  22.428 +mv $IMAGE $ISO_DIR
  22.429 +mv $(basename $IMAGE .iso).md5 $ISO_DIR
  22.430 +status
  22.431 +
  22.432 +# Cleaning temp files
  22.433 +rm -rf $TEMP_DIR $SORT_FILE
  22.434 +
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/dvd/ru/index.html	Fri Oct 16 02:08:09 2015 +0300
    23.3 @@ -0,0 +1,377 @@
    23.4 +<!DOCTYPE html>
    23.5 +<html lang="ru">
    23.6 +<head>
    23.7 +	<meta charset="UTF-8">
    23.8 +	<title>Создание DVD/USB SliTaz</title>
    23.9 +	<meta name="description" content="SliTaz DVD and USB key generator">
   23.10 +	<meta name="robots" content="index, nofollow">
   23.11 +	<meta name="author" content="SliTaz Contributors">
   23.12 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
   23.13 +	<link rel="shortcut icon" href="/static/favicon.ico">
   23.14 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
   23.15 +	<style type="text/css">
   23.16 +th:nth-child(2),th:nth-child(3),th:nth-child(4),th:nth-child(5),th:nth-child(6),th:nth-child(7),th:nth-child(8),
   23.17 +td:nth-child(2),td:nth-child(3),td:nth-child(4),td:nth-child(5),td:nth-child(6),td:nth-child(7),td:nth-child(8) { text-align: right; }
   23.18 +	</style>
   23.19 +</head>
   23.20 +<body>
   23.21 +
   23.22 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
   23.23 +
   23.24 +<header>
   23.25 +	<h1><a href="http://www.slitaz.org/">Создание DVD и USB SliTaz</a></h1>
   23.26 +	<div class="network">
   23.27 +		<a href="http://www.slitaz.org/" class="home"></a>
   23.28 +		<a href="http://scn.slitaz.org/">Сообщество</a>
   23.29 +		<a href="http://doc.slitaz.org/">Документация</a>
   23.30 +		<a href="http://forum.slitaz.org/">Форум</a>
   23.31 +		<a href="http://bugs.slitaz.org/">Баг-трекер</a>
   23.32 +		<a href="http://hg.slitaz.org/?sort=lastchanges">Hg</a>
   23.33 +	</div>
   23.34 +</header>
   23.35 +
   23.36 +<!-- Block -->
   23.37 +<div class="block"><div>
   23.38 +
   23.39 +	<!-- Information/image -->
   23.40 +	<div class="block_info">
   23.41 +		<header>Генератор DVD и USB-флеш</header>
   23.42 +		<p>Этот онлайн-инструмент создаст скрипт. Вы должны будете запустить этот скрипт
   23.43 +			на вашем SliTaz, чтобы создать ISO-образ DVD. Вы сможете записать этот образ на
   23.44 +			DVD при помощи <code>wodim</code> или на USB-флеш при помощи <code>tazusb geniso2usb</code>.
   23.45 +		</p>
   23.46 +		<p>Также доступны инструменты с GUI: <code>burnbox</code> и <code>tazusbbox</code>.</p>
   23.47 +	</div>
   23.48 +
   23.49 +	<!-- Navigation -->
   23.50 +	<nav>
   23.51 +		<header>Уголок разработчика</header>
   23.52 +		<ul>
   23.53 +			<li><a href="http://www.slitaz.org/ru/devel/">Сайт разработчика</a></li>
   23.54 +			<li><a href="http://cook.slitaz.org/">Сборочный бот</a></li>
   23.55 +			<li><a href="http://pkgs.slitaz.org/">База данных пакетов</a></li>
   23.56 +		</ul>
   23.57 +		<p><strong>Онлайн-инструменты:</strong></p>
   23.58 +		<ul>
   23.59 +			<li><a href="http://pizza.slitaz.org/">Создание Live CD</a></li>
   23.60 +			<li><a href="http://boot.slitaz.org/">Веб-загрузка</a></li>
   23.61 +			<li><a href="http://mirror.slitaz.org/floppies/builder/">Дискеты</a></li>
   23.62 +			<!-- li><a href="http://mirror.slitaz.org/packages/convert/">Конвертор пакетов</a></li -->
   23.63 +		</ul>
   23.64 +	</nav>
   23.65 +</div></div>
   23.66 +
   23.67 +<!-- Content, from http://en.wikipedia.org/wiki/Miscellaneous_Symbols_Unicode_block -->
   23.68 +<main>
   23.69 +
   23.70 +<!-- Languages -->
   23.71 +<div class="lang">
   23.72 +	<a href="../en/index.html">English</a>
   23.73 +	<b>Русский</b>
   23.74 +</div>
   23.75 +
   23.76 +<form method="post" enctype="multipart/form-data" action="../download.php">
   23.77 +<input type="hidden" name="rsync" value="on" />
   23.78 +<input type="hidden" name="filter" value="on" />
   23.79 +<input type="hidden" id="size" name="size" value="0" />
   23.80 +
   23.81 +<table>
   23.82 +	<thead>
   23.83 +		<tr>
   23.84 +			<th>Свойства</th>
   23.85 +			<!-- th><label><input type="radio" name="version" value="4.0"/>stable 4.0</label></th -->
   23.86 +			<th><label><input type="radio" name="version" value="cooking"/>cooking</label></th>
   23.87 +			<th><label><input type="radio" name="version" value="4.0" checked="checked"/>4.0</label></th>
   23.88 +			<th><label><input type="radio" name="version" value="3.0"/>3.0</label></th>
   23.89 +			<th><label><input type="radio" name="version" value="2.0"/>2.0</label></th>
   23.90 +			<th><label><input type="radio" name="version" value="1.0"/>1.0</label></th>
   23.91 +			<!-- th><label><input type="radio" name="version" value="all"/>all</label></th -->
   23.92 +		</tr>
   23.93 +	</thead>
   23.94 +	<tbody>
   23.95 +		<tr>
   23.96 +			<td><label><input type="checkbox" checked="checked" disabled="disabled" name="boot"/>загрузочный диск SliTaz</label></td>
   23.97 +			<!-- td id="boot_stable">29 МБ</td -->
   23.98 +			<td id="boot_cooking">35 МБ</td>
   23.99 +			<td id="boot_4.0">35 МБ</td>
  23.100 +			<td id="boot_3.0">29 МБ</td>
  23.101 +			<td id="boot_2.0">28 МБ</td>
  23.102 +			<td id="boot_1.0">24 МБ</td>
  23.103 +			<!-- td id="boot_all">139 МБ</td -->
  23.104 +		</tr>
  23.105 +		<tr>
  23.106 +			<td><label><input type="checkbox" checked="checked" name="webboot"/>загружаться через интернет &#9786;</label></td>
  23.107 +			<!-- td id="webboot_stable">196 КБ</td -->
  23.108 +			<td id="webboot_cooking">196 КБ</td>
  23.109 +			<td id="webboot_4.0">196 КБ</td>
  23.110 +			<td id="webboot_3.0">196 КБ</td>
  23.111 +			<td id="webboot_2.0">196 КБ</td>
  23.112 +			<td id="webboot_1.0">196 КБ</td>
  23.113 +			<!-- td id="webboot_all">196 КБ</td -->
  23.114 +		</tr>
  23.115 +		<tr>
  23.116 +			<td><label><input type="checkbox" checked="checked" name="website"/>сайт SliTaz</label></td>
  23.117 +			<!-- td id="website_stable">23 МБ</td -->
  23.118 +			<td id="website_cooking">23 МБ</td>
  23.119 +			<td id="website_4.0">23 МБ</td>
  23.120 +			<td id="website_3.0">23 МБ</td>
  23.121 +			<td id="website_2.0">23 МБ</td>
  23.122 +			<td id="website_1.0">23 МБ</td>
  23.123 +			<!-- td id="website_all">23 МБ</td -->
  23.124 +		</tr>
  23.125 +		<tr>
  23.126 +			<td><label><input type="checkbox" name="doc"/>сайт документации SliTaz</label></td>
  23.127 +			<!-- td id="doc_stable">85 МБ</td -->
  23.128 +			<td id="doc_cooking">85 МБ</td>
  23.129 +			<td id="doc_4.0">85 МБ</td>
  23.130 +			<td id="doc_3.0">85 МБ</td>
  23.131 +			<td id="doc_2.0">85 МБ</td>
  23.132 +			<td id="doc_1.0">85 МБ</td>
  23.133 +			<!-- td id="doc_all">85 МБ</td -->
  23.134 +		</tr>
  23.135 +		<tr>
  23.136 +			<td><label><input type="checkbox" name="tiny"/>сайт Tiny SliTaz</label></td>
  23.137 +			<!-- td id="tiny_stable">15 МБ</td -->
  23.138 +			<td id="tiny_cooking">15 МБ</td>
  23.139 +			<td id="tiny_4.0">15 МБ</td>
  23.140 +			<td id="tiny_3.0">15 МБ</td>
  23.141 +			<td id="tiny_2.0">15 МБ</td>
  23.142 +			<td id="tiny_1.0">15 МБ</td>
  23.143 +			<!-- td id="tiny_all">15 МБ</td -->
  23.144 +		</tr>
  23.145 +		<tr>
  23.146 +			<td><label><input type="checkbox" name="pxe"/>сайт SliTaz PXE</label></td>
  23.147 +			<!-- td id="pxe_stable">112 МБ</td -->
  23.148 +			<td id="pxe_cooking">112 МБ</td>
  23.149 +			<td id="pxe_4.0">112 МБ</td>
  23.150 +			<td id="pxe_3.0">112 МБ</td>
  23.151 +			<td id="pxe_2.0">82 МБ</td>
  23.152 +			<td id="pxe_1.0">25 МБ</td>
  23.153 +			<!-- td id="pxe_all">444 МБ</td -->
  23.154 +		</tr>
  23.155 +		<tr>
  23.156 +			<td><label><input type="checkbox" name="tools"/>онлайн-инструменты (pkgs, pizza, convert, floppy, dvd)</label></td>
  23.157 +			<!-- td id="tools_stable">1 МБ</td -->
  23.158 +			<td id="tools_cooking">1 МБ</td>
  23.159 +			<td id="tools_4.0">1 МБ</td>
  23.160 +			<td id="tools_3.0">1 МБ</td>
  23.161 +			<td id="tools_2.0">1 МБ</td>
  23.162 +			<td id="tools_1.0">1 МБ</td>
  23.163 +			<!-- td id="tools_all">1 МБ</td -->
  23.164 +		</tr>
  23.165 +		<tr>
  23.166 +			<td><label><input type="checkbox" checked="checked" name="wok"/>wok SliTaz (правила создания пакетов)</label></td>
  23.167 +			<!-- td id="wok_stable">87 МБ</td -->
  23.168 +			<td id="wok_cooking">87 МБ</td>
  23.169 +			<td id="wok_4.0">87 МБ</td>
  23.170 +			<td id="wok_3.0">87 МБ</td>
  23.171 +			<td id="wok_2.0">87 МБ</td>
  23.172 +			<td id="wok_1.0">87 МБ</td>
  23.173 +			<!-- td id="wok_all">87 МБ</td -->
  23.174 +		</tr>
  23.175 +		<tr>
  23.176 +			<td><label><input type="checkbox" name="hg"/>все репозитории Mercurial</label></td>
  23.177 +			<!-- td id="hg_stable">250 МБ</td -->
  23.178 +			<td id="hg_cooking">250 МБ</td>
  23.179 +			<td id="hg_4.0">250 МБ</td>
  23.180 +			<td id="hg_3.0">250 МБ</td>
  23.181 +			<td id="hg_2.0">250 МБ</td>
  23.182 +			<td id="hg_1.0">250 МБ</td>
  23.183 +			<!-- td id="hg_all">250 МБ</td -->
  23.184 +		</tr>
  23.185 +		<tr>
  23.186 +			<td><label><input type="checkbox" checked="checked" name="packages"/>все пакеты и файлы редакций</label></td>
  23.187 +			<!-- td id="packages_stable">2.6 ГБ</td -->
  23.188 +			<td id="packages_cooking">2.6 ГБ</td>
  23.189 +			<td id="packages_4.0">2.6 ГБ</td>
  23.190 +			<td id="packages_3.0">1.4 ГБ</td>
  23.191 +			<td id="packages_2.0">910 МБ</td>
  23.192 +			<td id="packages_1.0">230 МБ</td>
  23.193 +			<!-- td id="packages_all">5.1 ГБ</td -->
  23.194 +		</tr>
  23.195 +		<tr>
  23.196 +			<td><label><input type="checkbox" name="nonfree"/>несвободные &#9888; пакеты (из скриптов get-*) ¹</label></td>
  23.197 +			<!-- td id="nonfree_stable">500 МБ</td -->
  23.198 +			<td id="xnonfree_cooking">еще нет</td>
  23.199 +			<td id="xnonfree_4.0">еще нет</td>
  23.200 +			<td id="xnonfree_3.0">еще нет</td>
  23.201 +			<td id="nonfree_2.0">200 МБ</td>
  23.202 +			<td id="nonfree_1.0">50 МБ</td>
  23.203 +			<!-- td id="nonfree_all">500 МБ</td -->
  23.204 +		</tr>
  23.205 +		<tr>
  23.206 +			<td><label><input type="checkbox" name="huge"/>огромные свободные пакеты (из скриптов get-*) ²</label></td>
  23.207 +			<!-- td id="huge_stable">500 МБ</td -->
  23.208 +			<td id="xhuge_cooking">еще нет</td>
  23.209 +			<td id="xhuge_4.0">еще нет</td>
  23.210 +			<td id="xhuge_3.0">еще нет</td>
  23.211 +			<td id="huge_2.0">500 МБ</td>
  23.212 +			<td id="xhuge_1.0">нет</td>
  23.213 +			<!-- td id="huge_all">900 МБ</td -->
  23.214 +		</tr>
  23.215 +		<tr>
  23.216 +			<td><label><input type="checkbox" name="sources"/>файлы исходников ³</label></td>
  23.217 +			<!-- td id="sources_stable">5.0 ГБ</td -->
  23.218 +			<td id="sources_cooking">5.0 ГБ</td>
  23.219 +			<td id="sources_4.0">5.0 ГБ</td>
  23.220 +			<td id="sources_3.0">2.4 ГБ</td>
  23.221 +			<td id="sources_2.0">1.5 ГБ</td>
  23.222 +			<td id="sources_1.0">650 МБ</td>
  23.223 +			<!-- td id="sources_all">9.6 ГБ</td -->
  23.224 +		</tr>
  23.225 +		<tr>
  23.226 +			<td><label><input type="checkbox" checked="checked" name="loram_detect"/>автоопределение loram &#9842;</label></td>
  23.227 +			<!-- td id="loram_detect_stable">129 МБ</td -->
  23.228 +			<td id="loram_detect_cooking">129 МБ</td>
  23.229 +			<td id="loram_detect_4.0">132 МБ</td>
  23.230 +			<td id="loram_detect_3.0">132 МБ</td>
  23.231 +			<td id="loram_detect_2.0">99 МБ</td>
  23.232 +			<td id="loram_detect_1.0">82 МБ</td>
  23.233 +			<!-- td id="loram_detect_all">570 МБ</td -->
  23.234 +		</tr>
  23.235 +		<tr>
  23.236 +			<td><label><input type="checkbox" checked="checked" name="auto_install"/>авто-активация при загрузке (автономный режим)</label></td>
  23.237 +			<!-- td id="auto_install_stable">2 КБ</td -->
  23.238 +			<td id="auto_install_cooking">2 КБ</td>
  23.239 +			<td id="auto_install_4.0">2 КБ</td>
  23.240 +			<td id="auto_install_3.0">2 КБ</td>
  23.241 +			<td id="auto_install_2.0">2 КБ</td>
  23.242 +			<td id="auto_install_1.0">2 КБ</td>
  23.243 +			<!-- td id="auto_install_all">2 КБ</td -->
  23.244 +		</tr>
  23.245 +	</tbody>
  23.246 +</table>
  23.247 +
  23.248 +<hr>
  23.249 +
  23.250 +<p><input name="download" value="Загрузить" type="submit"/>
  23.251 +скрипт, создающий образ ISO.</p>
  23.252 +<p><span id="result"></span></p>
  23.253 +</form>
  23.254 +
  23.255 +<script>
  23.256 +function toKb(size) {
  23.257 +	var divisor = 1, result = 0;
  23.258 +	for (var i = 0; i < size.length; i++) {
  23.259 +		switch (size.charAt(i)) {
  23.260 +		case '.' : divisor = 10; continue;
  23.261 +		case 'К' : return result/divisor;
  23.262 +		case 'М' : return (1024*result)/divisor;
  23.263 +		case 'Г' : return (1024*1024*result)/divisor;
  23.264 +		case 'Т' : return (1024*1024*1024*result)/divisor;
  23.265 +		}
  23.266 +		if (size.charAt(i) >= '0' && size.charAt(i) <= '9') {
  23.267 +			result *= 10
  23.268 +			result += parseInt(size.charAt(i) - '0')
  23.269 +		}
  23.270 +	}
  23.271 +	return result/divisor
  23.272 +}
  23.273 +
  23.274 +function toHuman(size) {
  23.275 +	var i;
  23.276 +	for (size *= 10, i = 0; size > 10000; size /= 1024, i++);
  23.277 +	if (size >= 100) size = parseInt(size / 10)
  23.278 +	else size = parseInt(size / 10) + "." + parseInt(size % 10)
  23.279 +	return size + " " + "КМГТ".charAt(i) + "Б"
  23.280 +}
  23.281 +
  23.282 +function update_size() {
  23.283 +	var total = 1024; // padding
  23.284 +	for (var i = 0; i < document.getElementsByTagName("td").length; i++) {
  23.285 +		var obj = document.getElementsByTagName("td")[i]
  23.286 +		var reg = new RegExp("^[0-9\.]* [КМГТ]Б$")
  23.287 +		if (!reg.test(obj.innerHTML)) continue
  23.288 +		obj.style.fontWeight="normal"
  23.289 +		obj.style.textDecoration="none"
  23.290 +		obj.style.backgroundColor="inherit"
  23.291 +	}
  23.292 +	for (var i = 0; i < document.forms[0].elements.length; i++) {
  23.293 +		var obj = document.forms[0].elements[i]
  23.294 +		if (obj.checked == false) continue
  23.295 +		var version = document.forms[0].version
  23.296 +		for (j = 0; j < version.length; j++) {
  23.297 +			if (version[j].checked) {
  23.298 +				version = version[j].value
  23.299 +				break
  23.300 +			}
  23.301 +		}
  23.302 +		var size = document.getElementById(obj.name + "_" + version)
  23.303 +		if (size == null) continue
  23.304 +		size.style.fontWeight="bold"
  23.305 +		//size.style.textDecoration="underline"
  23.306 +		size.style.backgroundColor="#ccc"
  23.307 +		total += parseInt(toKb(size.innerHTML))
  23.308 +	}
  23.309 +	var size = document.getElementById("size")
  23.310 +	size.value = total
  23.311 +	var result=document.getElementById("result")
  23.312 +	result.innerHTML="Ожидаемый размер: <b>"+toHuman(total)+"</b>"+
  23.313 +		" (&#10004; требуется "+toHuman(2*total)+" свободного места)."
  23.314 +}
  23.315 +
  23.316 +function QRCodePNG(str, obj) {
  23.317 +	try {
  23.318 +		obj.height = obj.width += 200;
  23.319 +		return QRCode.generatePNG(str, {ecclevel: 'H'});
  23.320 +	}
  23.321 +	catch (any) {
  23.322 +		var element = document.createElement("script");
  23.323 +		element.src = "/static/qrcode.min.js";
  23.324 +		element.type = "text/javascript";
  23.325 +		element.onload = function() {
  23.326 +			obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  23.327 +		};
  23.328 +		document.body.appendChild(element);
  23.329 +	}
  23.330 +}
  23.331 +
  23.332 +update_size()
  23.333 +window.onchange = update_size
  23.334 +</script>
  23.335 +
  23.336 +<p>¹ SliTaz не предоставляет несвободное программное обеспечение. Многим людям
  23.337 +нужны такие программы как <b>Opera</b>, <b>Skype &#9742;</b> или
  23.338 +<b>flash-plugin</b>. SliTaz предлагает скрипты (<b>get-*</b>), при помощи
  23.339 +которых вы сможете установить эти несвободные программы. Инструмент создания DVD
  23.340 +запустит эти скрипты, упакует программы и сохранит пакеты в папке с другими
  23.341 +пакетами.</p>
  23.342 +
  23.343 +<p>² Некоторые программы, такие как <b>OpenOffice</b> или <b>LibreOffice</b>
  23.344 +настолько огромны, что не компилируются и не собираются на сборочном боте
  23.345 +SliTaz. Инструмент создания DVD запустит скрипты <b>get-*</b> (см. выше) и
  23.346 +сохранит эти пакеты в папке с другими пакетами. Скрипты загружают готовые
  23.347 +пакеты, созданные для других дистрибутивов Linux.</p>
  23.348 +
  23.349 +<p>³ Оригинальные исходники. Установите <b>wok SliTaz</b>, чтобы получить патчи
  23.350 +проекта SliTaz.</p>
  23.351 +<!-- End of content -->
  23.352 +</main>
  23.353 +
  23.354 +<footer>
  23.355 +	<div>
  23.356 +		Copyright © <span class="year"></span>
  23.357 +		<a href="http://www.slitaz.org/">SliTaz</a>
  23.358 +	</div>
  23.359 +	<div>
  23.360 +		Сеть:
  23.361 +		<a href="http://scn.slitaz.org/">Сообщество</a> ·
  23.362 +		<a href="http://doc.slitaz.org/">Документация</a> ·
  23.363 +		<a href="http://forum.slitaz.org/">Форум</a> ·
  23.364 +		<a href="http://pkgs.slitaz.org/">Пакеты</a> ·
  23.365 +		<a href="http://bugs.slitaz.org/">Баг-трекер</a> ·
  23.366 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  23.367 +	</div>
  23.368 +	<div>
  23.369 +		SliTaz @
  23.370 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  23.371 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  23.372 +		<a href="http://ru.wikipedia.org/wiki/SliTaz">Википедия</a> ·
  23.373 +		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  23.374 +	</div>
  23.375 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  23.376 +	onclick="this.src=QRCodePNG(location.href, this)"/>
  23.377 +</footer>
  23.378 +
  23.379 +</body>
  23.380 +</html>
    24.1 Binary file dvd/static/favicon.ico has changed
    25.1 Binary file dvd/static/home.png has changed
    26.1 Binary file dvd/static/logo.png has changed
    27.1 Binary file dvd/static/qr.png has changed
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/dvd/static/qrcode.min.js	Fri Oct 16 02:08:09 2015 +0300
    28.3 @@ -0,0 +1,1 @@
    28.4 +var QRCode=(function(){var V=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]];var l=0;var o=1,U=2,R=4,y=8;var G=/^\d*$/;var E=/^[A-Za-z0-9 $%*+\-./:]*$/;var t=/^[A-Z0-9 $%*+\-./:]*$/;var h=1,g=0,c=3,n=2;var B=[],Q=[-1];for(var P=0,H=1;P<255;++P){B.push(H);Q[H]=P;H=(H*2)^(H>=128?285:0)}var m=[[]];for(var P=0;P<30;++P){var D=m[P],F=[];for(var O=0;O<=P;++O){var T=(O<P?B[D[O]]:0);var S=B[(P+(D[O-1]||0))%255];F.push(Q[T^S])}m.push(F)}var q={};for(var P=0;P<45;++P){q["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(P)]=P}var J=[function(b,a){return(b+a)%2==0},function(b,a){return b%2==0},function(b,a){return a%3==0},function(b,a){return(b+a)%3==0},function(b,a){return(((b/2)|0)+((a/3)|0))%2==0},function(b,a){return(b*a)%2+(b*a)%3==0},function(b,a){return((b*a)%2+(b*a)%3)%2==0},function(b,a){return((b+a)%2+(b*a)%3)%2==0}];var f=function(a){return a>6};var x=function(a){return 4*a+17};var u=function(a){var b=V[a];var i=16*a*a+128*a+64;if(f(a)){i-=36}if(b[2].length){i-=25*b[2].length*b[2].length-10*b[2].length-55}return i};var p=function(a,b){var j=u(a)&~7;var i=V[a];j-=8*i[0][b]*i[1][b];return j};var A=function(a,b){switch(b){case o:return(a<10?10:a<27?12:14);case U:return(a<10?9:a<27?11:13);case R:return(a<10?8:16);case y:return(a<10?8:a<27?10:12)}};var z=function(a,j,b){var i=p(a,b)-4-A(a,j);switch(j){case o:return((i/10)|0)*3+(i%10<4?0:i%10<7?1:2);case U:return((i/11)|0)*2+(i%11<6?0:1);case R:return(i/8)|0;case y:return(i/13)|0}};var s=function(W,j){switch(W){case o:if(!j.match(G)){return null}return j;case U:if(!j.match(E)){return null}return j.toUpperCase();case R:if(typeof j==="string"){var v=[];for(var a=0;a<j.length;++a){var b=j.charCodeAt(a);if(b<128){v.push(b)}else{if(b<2048){v.push(192|(b>>6),128|(b&63))}else{if(b<65536){v.push(224|(b>>12),128|((b>>6)&63),128|(b&63))}else{v.push(240|(b>>18),128|((b>>12)&63),128|((b>>6)&63),128|(b&63))}}}}return v}else{return j}}};var k=function(aa,Y,X,Z){var b=[];var ac=0,v=8;var a=X.length;var ab=function(i,ad){if(ad>=v){b.push(ac|(i>>(ad-=v)));while(ad>=8){b.push((i>>(ad-=8))&255)}ac=0;v=8}if(ad>0){ac|=(i&((1<<ad)-1))<<(v-=ad)}};var j=A(aa,Y);ab(Y,4);ab(a,j);switch(Y){case o:for(var W=2;W<a;W+=3){ab(parseInt(X.substring(W-2,W+1),10),10)}ab(parseInt(X.substring(W-2),10),[0,4,7][a%3]);break;case U:for(var W=1;W<a;W+=2){ab(q[X.charAt(W-1)]*45+q[X.charAt(W)],11)}if(a%2==1){ab(q[X.charAt(W-1)],6)}break;case R:for(var W=0;W<a;++W){ab(X[W],8)}break}ab(l,4);if(v<8){b.push(ac)}while(b.length+1<Z){b.push(236,17)}if(b.length<Z){b.push(236)}return b};var C=function(Z,a){var b=Z.slice(0);var aa=Z.length,X=a.length;for(var W=0;W<X;++W){b.push(0)}for(var W=0;W<aa;){var Y=Q[b[W++]];if(Y>=0){for(var v=0;v<X;++v){b[W+v]^=B[(Y+a[v])%255]}}}return b.slice(aa)};var N=function(a,Y,b){var ae=[];var ab=(a.length/Y)|0,ac=0;var aa=Y-a.length%Y;for(var W=0;W<aa;++W){ae.push(ac);ac+=ab}for(var W=aa;W<Y;++W){ae.push(ac);ac+=ab+1}ae.push(ac);var Z=[];for(var W=0;W<Y;++W){Z.push(C(a.slice(ae[W],ae[W+1]),b))}var ad=[];var X=(a.length/Y)|0;for(var W=0;W<X;++W){for(var v=0;v<Y;++v){ad.push(a[ae[v]+W])}}for(var v=aa;v<Y;++v){ad.push(a[ae[v+1]-1])}for(var W=0;W<b.length;++W){for(var v=0;v<Y;++v){ad.push(Z[v][W])}}return ad};var M=function(W,X,a,v){var b=W<<v;for(var j=X-1;j>=0;--j){if((b>>(v+j))&1){b^=a<<j}}return(W<<v)|b};var I=function(af){var ah=V[af],X=x(af);var ag=[],W=[];for(var ad=0;ad<X;++ad){ag.push([]);W.push([])}var ab=function(an,v,al,ai,am){for(var ak=0;ak<al;++ak){for(var aj=0;aj<ai;++aj){ag[an+ak][v+aj]=(am[ak]>>aj)&1;W[an+ak][v+aj]=1}}};ab(0,0,9,9,[127,65,93,93,93,65,383,0,64]);ab(X-8,0,8,9,[256,127,65,93,93,93,65,127]);ab(0,X-8,9,8,[254,130,186,186,186,130,254,0,0]);for(var ad=9;ad<X-8;++ad){ag[6][ad]=ag[ad][6]=~ad&1;W[6][ad]=W[ad][6]=1}var b=ah[2],Y=b.length;for(var ad=0;ad<Y;++ad){var ae=(ad==0||ad==Y-1?1:0),Z=(ad==0?Y-1:Y);for(var ac=ae;ac<Z;++ac){ab(b[ad],b[ac],5,5,[31,17,21,17,31])}}if(f(af)){var a=M(af,6,7973,12);var aa=0;for(var ad=0;ad<6;++ad){for(var ac=0;ac<3;++ac){ag[ad][(X-11)+ac]=ag[(X-11)+ac][ad]=(a>>aa++)&1;W[ad][(X-11)+ac]=W[(X-11)+ac][ad]=1}}}return{matrix:ag,reserved:W}};var L=function(ab,b,a){var v=ab.length;var X=0,W=-1;for(var Z=v-1;Z>=0;Z-=2){if(Z==6){--Z}var aa=(W<0?v-1:0);for(var Y=0;Y<v;++Y){for(var ac=Z;ac>Z-2;--ac){if(!b[aa][ac]){ab[aa][ac]=(a[X>>3]>>(~X&7))&1;++X}}aa+=W}W=-W}return ab};var K=function(v,a,b){var X=J[b];var Z=v.length;for(var Y=0;Y<Z;++Y){for(var W=0;W<Z;++W){if(!a[Y][W]){v[Y][W]^=X(Y,W)}}}return v};var e=function(Z,v,b,aa){var W=Z.length;var j=M((b<<3)|aa,5,1335,10)^21522;for(var X=0;X<15;++X){var a=[0,1,2,3,4,5,7,8,W-7,W-6,W-5,W-4,W-3,W-2,W-1][X];var Y=[W-1,W-2,W-3,W-4,W-5,W-6,W-7,W-8,7,5,4,3,2,1,0][X];Z[a][8]=Z[8][Y]=(j>>X)&1}return Z};var w=function(ad){var Z=3;var ai=3;var af=40;var ag=10;var a=function(j){var al=0;for(var aj=0;aj<j.length;++aj){if(j[aj]>=5){al+=Z+(j[aj]-5)}}for(var aj=5;aj<j.length;aj+=2){var ak=j[aj];if(j[aj-1]==ak&&j[aj-2]==3*ak&&j[aj-3]==ak&&j[aj-4]==ak&&(j[aj-5]>=4*ak||j[aj+1]>=4*ak)){al+=af}}return al};var W=ad.length;var Y=0,X=0;for(var ac=0;ac<W;++ac){var ah=ad[ac];var v;v=[0];for(var ab=0;ab<W;){var aa;for(aa=0;ab<W&&ah[ab];++aa){++ab}v.push(aa);for(aa=0;ab<W&&!ah[ab];++aa){++ab}v.push(aa)}Y+=a(v);v=[0];for(var ab=0;ab<W;){var aa;for(aa=0;ab<W&&ad[ab][ac];++aa){++ab}v.push(aa);for(aa=0;ab<W&&!ad[ab][ac];++aa){++ab}v.push(aa)}Y+=a(v);var ae=ad[ac+1]||[];X+=ah[0];for(var ab=1;ab<W;++ab){var b=ah[ab];X+=b;if(ah[ab-1]==b&&ae[ab]===b&&ae[ab-1]===b){Y+=ai}}}Y+=ag*((Math.abs(X/W/W-0.5)/0.05)|0);return Y};var d=function(X,aa,Z,a,ad){var ac=V[aa];var i=k(aa,Z,X,p(aa,a)>>3);i=N(i,ac[1][a],m[ac[0][a]]);var ae=I(aa);var ab=ae.matrix,b=ae.reserved;L(ab,b,i);if(ad<0){K(ab,b,0);e(ab,b,a,0);var W=0,Y=w(ab);K(ab,b,0);for(ad=1;ad<8;++ad){K(ab,b,ad);e(ab,b,a,ad);var j=w(ab);if(Y>j){Y=j;W=ad}K(ab,b,ad)}ad=W}K(ab,b,ad);e(ab,b,a,ad);return ab};var r={generate:function(X,v){var W={numeric:o,alphanumeric:U,octet:R};var j={L:h,M:g,Q:c,H:n};v=v||{};var a=v.version||-1;var i=j[(v.ecclevel||"L").toUpperCase()];var Y=v.mode?W[v.mode.toLowerCase()]:-1;var b="mask" in v?v.mask:-1;if(Y<0){if(typeof X==="string"){if(X.match(G)){Y=o}else{if(X.match(t)){Y=U}else{Y=R}}}else{Y=R}}else{if(!(Y==o||Y==U||Y==R)){throw"invalid or unsupported mode"}}X=s(Y,X);if(X===null){throw"invalid data format"}if(i<0||i>3){throw"invalid ECC level"}if(a<0){for(a=1;a<=40;++a){if(X.length<=z(a,Y,i)){break}}if(a>40){throw"too large data"}}else{if(a<1||a>40){throw"invalid version"}}if(b!=-1&&(b<0||b>8)){throw"invalid mask"}return d(X,a,Y,i,b)},generatePNG:function(Z,ad){ad=ad||{};var ab=r.generate(Z,ad);var aa=Math.max(ad.modulesize||5,0.5);var W=Math.max(ad.margin||4,0);var v=ab.length;var ac=aa*(v+2*W);var b=document.createElement("canvas"),a;b.width=b.height=ac;a=b.getContext("2d");if(!a){throw"canvas support is needed for PNG output"}a.fillStyle="#fff";a.fillRect(0,0,ac,ac);a.fillStyle="#000";for(var Y=0;Y<v;++Y){for(var X=0;X<v;++X){if(ab[Y][X]){a.fillRect(aa*(W+X),aa*(W+Y),aa,aa)}}}return b.toDataURL()}};return r})();
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/dvd/static/slitaz.min.css	Fri Oct 16 02:08:09 2015 +0300
    29.3 @@ -0,0 +1,1 @@
    29.4 +html{min-height:102%}body{height:100%;margin:0;box-sizing:border-box;color:#222;background:#FFF;font:13px Ubuntu,"Droid Sans","DejaVu Sans",FreeSans,"Liberation Sans",sans-serif;-moz-hyphens:auto;-epub-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}code,pre,samp,kbd{color:#000;background-color:rgba(0,0,0,.05)}a{text-decoration:none;color:#215090}a:hover{text-decoration:underline}img{border:0 none;vertical-align:middle}.large{overflow-x:auto}h2{color:#444;font-size:22px;font-weight:300;margin:18px auto 6px;border-bottom:1px solid #CCC}h3{color:#666;font-size:19px;font-weight:300;margin:12px auto 0;line-height:1}pre{background-color:#f8f8f8;border:1px solid #DDD;padding:10px;white-space:pre-wrap;overflow-x:auto;line-height:1}.hard{white-space:pre;resize:both}.scroll{max-height:40ex}body>header{display:block;background:#222;text-align:justify;line-height:0}h1{display:inline-block;margin:auto 0;line-height:20px;white-space:nowrap;vertical-align:middle}h1::before{display:inline-block;content:url(logo.png);vertical-align:middle}h1 a{color:#FFF;font-size:20px;font-style:italic}body>header::before,body>header::after,.block>div::before,.block>div::after{display:inline-block;width:100%;height:0;visibility:hidden;overflow:hidden;content:''}.network{display:inline-block;text-align:left;vertical-align:middle;font-size:12px;line-height:normal}.network a{display:inline-block;padding:0 6px;vertical-align:middle;color:#FFF}.home::before{content:url(home.png)}.block{padding:6px;background:#CCC;border-bottom:1px solid #AAA}.block>div{max-width:700px;margin:0 auto;text-align:justify;line-height:0}.block_info{padding:6px 12px 0 0;line-height:normal;width:60%}.block_info input{width:100%}.block header{font-weight:400;font-size:18px;line-height:18px}.block_info p{margin:7px 0;padding:0;text-align:justify}nav{background:#666;color:#FFF;padding:6px;line-height:normal}nav a{white-space:nowrap;color:#FFF}nav header img{margin:0 4px 0 0;padding:0}nav,.block_info{display:inline-block;vertical-align:top}.lang{margin:0;text-align:right;padding:6px;font-size:11px}.lang a{padding:0 2px}main{max-width:700px;margin:6px auto;padding:0 6px;text-align:justify;line-height:1.5rem}p,ul,ol,li,h2,h3,pre,table{max-width:700px}p,ul,ol,li,pre,table{margin:6px auto}p,ul,ol{display:block}ul,ol,dd{padding:0 2ex 0 4ex}ul ul,ol ol,ul ol,ol ul{margin:0}.br::before{content:url(BR.png)}.ch::before{content:url(CH.png)}.de::before{content:url(DE.png)}.fr::before{content:url(FR.png)}.it::before{content:url(IT.png)}.pl::before{content:url(PL.png)}.us::before{content:url(US.png)}.mirrors{padding:6px;text-align:center;background:#f1f1f1;border-bottom:1px solid #DDD}.mirrors a,.mirrors a::before{display:inline-block;padding:0 3px}.mirrors a::before{vertical-align:-4px}table{background-color:#f8f8f8;border:1px solid #DDD;width:100%;margin-bottom:20px;padding:6px;border-collapse:collapse;line-height:1}caption{caption-side:bottom;text-align:left;padding:6px 0}thead tr{background-color:#DDD}td{text-align:left}th{padding:4px 1px}tbody tr:nth-child(odd){background-color:#FFF}tbody tr:nth-child(even){background-color:#EEE}.list td:nth-child(1){vertical-align:middle}.list td:nth-child(1)::before{display:inline-block;vertical-align:middle;padding-right:3px}.list th:nth-child(3),.list td:nth-child(3){text-align:right}.news li{list-style-type:square;border-bottom:1px dotted #bebebe;margin-left:-25px;padding:4px 0}.twitter{margin:20px 0}.gallery{text-align:center}.sponsor{font-size:90%;background-color:#fbfbfb;border:2px solid #DDD;width:200px;height:160px;float:right;text-align:center;margin:10px 0 20px 20px}.right_box{width:48%;float:right}.left_box{width:48%;float:left}.box{margin:20px 60px;padding:12px;background:#efefef;border:1px solid #DDD}.searchbox{margin:20px 80px;padding:12px;background:#f8f8f8;text-align:center;border:1px solid #DDD}.activity{margin:0 0 20px;background:#efefef;padding:5px 2px 0;border:1px solid #DDD}.activity div{padding:5px 10px;background:#FFF;margin-top:5px}.activity p{margin:0;padding:5px 10px;font-weight:700}.activity ul{list-style-type:none;margin:4px 0;padding:0 4px;line-height:150%}.activity_more{text-align:right}.activity_more a{font-weight:400;color:#000;padding:0 4px}.activity span,.news span{color:#666;font-size:11px;font-weight:400}nav,pre,textarea,select,.box,.searchbox,.activity,.activity div,.twitter,.sponsor{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}body>footer{background:#f1f1f1;text-align:center;border-top:1px solid #DDD;padding:6px;color:#666;clear:both}body>footer div{margin:12px}.year:after{content:"2015"}.x-bzip::before{content:url(application-x-bzip.png)}.x-gzip::before{content:url(application-x-gzip.png)}.plain::before{content:url(text-plain.png)}.x-bittorrent::before{content:url(application-x-bittorrent.png)}.octet-stream::before{content:url(application-octet-stream.png)}.jpeg::before{content:url(image-jpeg.png)}.png::before{content:url(image-png.png)}.javascript::before{content:url(text-x-javascript.png)}.css::before{content:url(text-css.png)}.dir::before{content:url(folder.png)}.up::before{content:url(go-up.png)}.zip::before{content:url(application-zip.png)}.iso::before{content:url(application-x-cd-image.png)}.krn::before{content:url(application-x-executable.png)}.exe::before{content:url(application-x-ms-dos-executable.png)}.rme::before{content:url(text-x-readme.png)}.log::before{content:url(text-x-changelog.png)}.pkg::before{content:url(package-x-generic.png)}.server::before{content:url(network-server.png)}.locale::before{content:url(preferences-desktop-locale.png)}.touch td,.touch th{padding:6px}.touch .network a,.touch nav a,.touch .mirrors a,.touch footer a{display:inline-block;padding:6px}@media(max-width:510px){.block_info,nav{display:block;width:inherit;max-width:100%}.block_info{padding:6px}}
    30.1 --- a/mirror/info/graphs.php	Sat Oct 10 14:22:49 2015 +0300
    30.2 +++ b/mirror/info/graphs.php	Fri Oct 16 02:08:09 2015 +0300
    30.3 @@ -1,115 +1,115 @@
    30.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    30.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    30.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    30.7 +<!DOCTYPE html>
    30.8 +<html lang="en">
    30.9  <head>
   30.10 +	<meta charset="UTF-8">
   30.11  	<title>Mirror RRD stats</title>
   30.12 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   30.13 -	<meta name="description" content="slitaz mirror rrdtool graphs" />
   30.14 -	<meta name="robots" content="noindex" />
   30.15 -	<meta name="author" content="SliTaz Contributors" />
   30.16 -	<link rel="shortcut icon" href="/static/favicon.ico" />
   30.17 -	<link rel="stylesheet" type="text/css" href="/static/slitaz.css" />
   30.18 -	<style type="text/css">
   30.19 -#copy {
   30.20 -	text-align: center;
   30.21 -}
   30.22 -
   30.23 -#bottom {
   30.24 -	text-align: center;
   30.25 -}
   30.26 -	</style>
   30.27 +	<meta name="description" content="slitaz mirror rrdtool graphs">
   30.28 +	<meta name="robots" content="noindex">
   30.29 +	<meta name="author" content="SliTaz Contributors">
   30.30 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
   30.31 +	<link rel="shortcut icon" href="/static/favicon.ico">
   30.32 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
   30.33  </head>
   30.34  <body>
   30.35  
   30.36 -<!-- Header -->
   30.37 -<div id="header">
   30.38 -	<div id="logo"></div>
   30.39 -	<div id="network">
   30.40 -		<a href="http://www.slitaz.org/">
   30.41 -			<img src="/static/home.png" alt=" [ Home ] " /></a>
   30.42 +<script>
   30.43 +	document.documentElement.className += (("ontouchstart" in document.documentElement) ? ' touch' : ' no-touch');
   30.44 +</script>
   30.45 +
   30.46 +<header>
   30.47 +	<h1><a href="http://<?php echo $_SERVER["HTTP_HOST"]; ?>/">SliTaz <?php
   30.48 +	$host=preg_replace('/(\w+).*/i','$1',$_SERVER["HTTP_HOST"]); echo $host; ?></a></h1>
   30.49 +	<div class="network">
   30.50 +		<a href="http://www.slitaz.org/" class="home"></a>
   30.51  		<a href="http://scn.slitaz.org/">Community</a>
   30.52  		<a href="http://doc.slitaz.org/">Doc</a>
   30.53  		<a href="http://forum.slitaz.org/">Forum</a>
   30.54  		<a href="http://slitaz.pro/">Pro</a>
   30.55  		<a href="http://slitaz.spreadshirt.net/">Shop</a>
   30.56 -		<a href="http://bugs.slitaz.org">Bugs</a>
   30.57 +		<a href="http://bugs.slitaz.org/">Bugs</a>
   30.58  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
   30.59  		<a href="http://cook.slitaz.org/">Cook</a>
   30.60  	</div>
   30.61 -	<h1><a href="http://<?php echo $_SERVER["HTTP_HOST"]; ?>/">SliTaz 
   30.62 -	<?php $host=preg_replace('/(\w+).*/i','$1',$_SERVER["HTTP_HOST"]); echo $host; ?></a></h1>
   30.63 -</div>
   30.64 +</header>
   30.65  
   30.66  <!-- Block -->
   30.67 -<div id="block">
   30.68 -	<!-- Navigation -->
   30.69 -	<div id="block_nav">
   30.70 -		<h4><img src="images/server.png" alt="[ Server ]" />Project servers</h4>
   30.71 -		<ul>
   30.72 -			<li><a href="http://tank.slitaz.org/">Tank server</a></li>
   30.73 -			<li><a href="http://pangolin.slitaz.org/">Pangolin server</a></li>
   30.74 -		</ul>
   30.75 -	</div>
   30.76 +<div class="block"><div>
   30.77 +
   30.78  	<!-- Information/image -->
   30.79 -	<div id="block_info">
   30.80 -	<h4>Codename: <?php echo $host; ?></h4>
   30.81 +	<div class="block_info">
   30.82 +		<header>Codename: <?php echo $host; ?></header>
   30.83  		<p>
   30.84  			This is the SliTaz GNU/Linux main mirror. The server runs naturally SliTaz 
   30.85  			(stable) in an UML virtual machine provided by 
   30.86  			<a href="http://www.ads-lu.com/">Allied Data Sys. (ADS)</a>.
   30.87  		</p>
   30.88  		<p>
   30.89 -			Mirror CPU is a <?php system("( sed '/cpuinfo=/!d;" .
   30.90 -			"s/.*cpuinfo=\\([^ ]*\).*/: \\1/;s/_/ /g' /proc/cmdline ; grep '^model name' /proc/cpuinfo) | sed -e 's/.*Intel(R) //;" .
   30.91 -			"s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //;q' |" .
   30.92 -			" awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" .
   30.93 -			"if (n == 4) printf \"quad \"; print s }' ")?> -
   30.94 -			<?php system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ".
   30.95 -			"n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ".
   30.96 -			"printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")?> - Located in France next to 
   30.97 +			Mirror CPU is a <?php
   30.98 +system("( sed '/cpuinfo=/!d;" .
   30.99 +	"s/.*cpuinfo=\\([^ ]*\).*/: \\1/;s/_/ /g' /proc/cmdline ; grep '^model name' /proc/cpuinfo) | sed -e 's/.*Intel(R) //;" .
  30.100 +	"s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //;q' |" .
  30.101 +	" awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" .
  30.102 +	"if (n == 4) printf \"quad \"; print s }' ")
  30.103 +			?> - <?php
  30.104 +system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ".
  30.105 +	"n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ".
  30.106 +	"printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")
  30.107 +			?> - Located in France next to 
  30.108  			Roubaix. This page has real time statistics provided by PHP 
  30.109 -			<code>system()</code> Mirror is also monitored by RRDtool which provides 
  30.110 -			<a href="graphs.php">graphical stats</a>.
  30.111 +			<code>system()</code>.
  30.112 +			Mirror is monitored by RRDtool which provides graphical stats.
  30.113  		</p>
  30.114  	</div>
  30.115 -</div>
  30.116 +
  30.117 +	<!-- Navigation -->
  30.118 +	<nav>
  30.119 +		<header>Project servers</header>
  30.120 +		<ul>
  30.121 +			<li><a href="http://tank.slitaz.org/">Tank server</a></li>
  30.122 +			<li><a href="http://pangolin.slitaz.org/">Pangolin server</a></li>
  30.123 +		</ul>
  30.124 +	</nav>
  30.125 +</div></div>
  30.126  
  30.127  <!-- Content -->
  30.128 -<div id="content">
  30.129 +<main>
  30.130  
  30.131 -<div align="center"> <?php echo date("r"); ?> </div>
  30.132 +<p style="text-align:center">Server date: <?php echo date("r"); ?> </p>
  30.133  <?php
  30.134  
  30.135  $myurl="http://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME'];
  30.136  
  30.137  function one_graphic($img,$name)
  30.138  {
  30.139 -	echo '<img src="pics/rrd/'.$img.'" title="'.
  30.140 -		$name.'" alt="'.$name.'" />'."\n";
  30.141 +	echo '<img src="pics/rrd/' . $img . '" title="' .
  30.142 +		$name . '" alt="' . $name . '"/>';
  30.143  }
  30.144  
  30.145  function graphic($res, $img='')
  30.146  {
  30.147  	global $myurl;
  30.148  	if (!$img) $img=$res;
  30.149 -	echo "<a name=\"".$res."\"></a>";
  30.150 -	echo "<a href=\"".$myurl."?stats=".$res."#".$res."\">\n";
  30.151 +	echo "<div class=\"large\"><a name=\"" . $res . "\" href=\"" . $myurl . "?stats=" . $res . "#" . $res . "\">\n";
  30.152  	one_graphic($img."-day.png",$res." daily");
  30.153 -	echo "</a>";
  30.154 +	echo "</a></div>\n";
  30.155  	if (isset($_GET['stats']) && $_GET['stats'] == $res) {
  30.156 +		echo "<div class=\"large\">";
  30.157  		one_graphic($img."-week.png",$res." weekly");
  30.158 +		echo "</div>\n<div class=\"large\">";
  30.159  		one_graphic($img."-month.png",$res." monthly");
  30.160 +		echo "</div>\n<div class=\"large\">";
  30.161  		one_graphic($img."-year.png",$res." yearly");
  30.162 +		echo "</div>\n";
  30.163  	}
  30.164  }
  30.165  
  30.166 -echo "<h2>CPU</h2>\n";
  30.167 +echo "\n\n<h2>CPU</h2>\n";
  30.168  graphic("cpu");
  30.169 -echo "<h2>Memory</h2>\n";
  30.170 +echo "\n\n<h2>Memory</h2>\n";
  30.171  graphic("memory");
  30.172 -echo "<h2>Disk</h2>\n";
  30.173 +echo "\n\n<h2>Disk</h2>\n";
  30.174  graphic("disk");
  30.175 -echo "<h2>Network</h2>\n";
  30.176 +echo "\n\n<h2>Network</h2>\n";
  30.177  $eth = array();
  30.178  exec("/sbin/route -n | awk '{ if (/^0.0.0.0/) print $8 }'", $eth);
  30.179  graphic("net",$eth[0]);
  30.180 @@ -117,7 +117,7 @@
  30.181  ?>
  30.182  
  30.183  <!-- End of content -->
  30.184 -</div>
  30.185 +</main>
  30.186  
  30.187  <!-- Footer -->
  30.188  
  30.189 @@ -129,8 +129,8 @@
  30.190  		}
  30.191  		catch (any) {
  30.192  			var element = document.createElement("script");
  30.193 -			element.src = "/static/qrcode.js";
  30.194 -			element.type ="text/javascript"; 
  30.195 +			element.src = "/static/qrcode.min.js";
  30.196 +			element.type ="text/javascript";
  30.197  			element.onload = function() {
  30.198  				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  30.199  			};
  30.200 @@ -139,32 +139,32 @@
  30.201  	}
  30.202  </script>
  30.203  
  30.204 -<div id="footer">
  30.205 -	Copyright &copy; <span class="year"></span>
  30.206 -	<a href="http://www.slitaz.org/">SliTaz</a> - Network:
  30.207 -	<a href="http://scn.slitaz.org/">Community</a>
  30.208 -	<a href="http://doc.slitaz.org/">Doc</a>
  30.209 -	<a href="http://forum.slitaz.org/">Forum</a>
  30.210 -	<a href="http://pkgs.slitaz.org/">Packages</a>
  30.211 -	<a href="http://boot.slitaz.org/">Boot</a>
  30.212 -	<a href="http://bugs.slitaz.org">Bugs</a>
  30.213 -	<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  30.214 -	<p>
  30.215 -		<img src="/static/qr.png alt="SliTaz @" onmouseover="this.title = location.href"
  30.216 -		 onclick="this.src = QRCodePNG(location.href, this)" />
  30.217 -		<a href="http://twitter.com/slitaz">Twitter</a>
  30.218 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
  30.219 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
  30.220 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
  30.221 +<footer>
  30.222 +	<div>
  30.223 +		Copyright © <span class="year"></span>
  30.224 +		<a href="http://www.slitaz.org/">SliTaz</a>
  30.225 +	</div>
  30.226 +	<div>
  30.227 +		Network:
  30.228 +		<a href="http://scn.slitaz.org/">Community</a> ·
  30.229 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  30.230 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  30.231 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  30.232 +		<a href="http://boot.slitaz.org/">Boot</a> ·
  30.233 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
  30.234 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  30.235 +	</div>
  30.236 +	<div>
  30.237 +		SliTaz @
  30.238 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  30.239 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  30.240 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  30.241 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  30.242  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  30.243 -	</p>
  30.244 -	<p>
  30.245 -		<a href="http://validator.w3.org/check?uri=referer">
  30.246 -			<img src="/static/xhtml10.png"
  30.247 -				alt="Valid XHTML 1.0" title="Code valid. XHTML 1.0"
  30.248 -				style="width: 80px; height: 15px;" /></a>
  30.249 -	</p>
  30.250 -</div>
  30.251 +	</div>
  30.252 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  30.253 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  30.254 +</footer>
  30.255  
  30.256  </body>
  30.257  </html>
    31.1 Binary file mirror/info/images/development.png has changed
    32.1 Binary file mirror/info/images/flags/au.png has changed
    33.1 Binary file mirror/info/images/flags/br.png has changed
    34.1 Binary file mirror/info/images/flags/ch.png has changed
    35.1 Binary file mirror/info/images/flags/cn.png has changed
    36.1 Binary file mirror/info/images/flags/de.png has changed
    37.1 Binary file mirror/info/images/flags/fr.png has changed
    38.1 Binary file mirror/info/images/flags/it.png has changed
    39.1 Binary file mirror/info/images/flags/nl.png has changed
    40.1 Binary file mirror/info/images/flags/si.png has changed
    41.1 Binary file mirror/info/images/flags/us.png has changed
    42.1 Binary file mirror/info/images/iso.png has changed
    43.1 Binary file mirror/info/images/monitor.png has changed
    44.1 Binary file mirror/info/images/server.png has changed
    45.1 --- a/mirror/info/index.php	Sat Oct 10 14:22:49 2015 +0300
    45.2 +++ b/mirror/info/index.php	Fri Oct 16 02:08:09 2015 +0300
    45.3 @@ -1,331 +1,356 @@
    45.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    45.5 -    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    45.6 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    45.7 +<!DOCTYPE html>
    45.8 +<html lang="en">
    45.9  <head>
   45.10 +	<meta charset="UTF-8">
   45.11  	<title>SliTaz Mirror</title>
   45.12 -	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
   45.13 -	<meta name="description" content="slitaz mirror server" />
   45.14 -	<meta name="robots" content="index, nofollow" />
   45.15 -	<meta name="author" content="SliTaz Contributors" />
   45.16 -	<link rel="shortcut icon" href="/static/favicon.ico" />
   45.17 -	<link rel="stylesheet" type="text/css" href="/static/slitaz.css" />
   45.18 -	<style type="text/css">
   45.19 -		h2 img { padding-right: 4px; }
   45.20 -	</style>
   45.21 +	<meta name="description" content="slitaz mirror server">
   45.22 +	<meta name="robots" content="index, nofollow">
   45.23 +	<meta name="author" content="SliTaz Contributors">
   45.24 +	<meta name="viewport" content="width=device-width, initial-scale=1.0">
   45.25 +	<link rel="shortcut icon" href="/static/favicon.ico">
   45.26 +	<link rel="stylesheet" type="text/css" href="/static/slitaz.min.css">
   45.27  </head>
   45.28  <body>
   45.29 +<script>
   45.30 +	document.documentElement.className += (("ontouchstart" in document.documentElement) ? ' touch' : ' no-touch');
   45.31 +</script>
   45.32  
   45.33 -<!-- Header -->
   45.34 -<div id="header">
   45.35 -	<div id="logo"></div>
   45.36 -	<div id="network">
   45.37 -		<a href="http://www.slitaz.org/">
   45.38 -			<img src="/static/home.png" alt=" [ Home ] " /></a>
   45.39 +<header>
   45.40 +	<h1><a href="http://<?php
   45.41 +		echo $_SERVER["HTTP_HOST"];
   45.42 +	?>">SliTaz <?php
   45.43 +		$host = preg_replace('/(\w+).*/i','$1',$_SERVER["HTTP_HOST"]);
   45.44 +		echo $host;
   45.45 +	?></a></h1>
   45.46 +	<div class="network">
   45.47 +		<a href="http://www.slitaz.org/" class="home"></a>
   45.48  		<a href="http://scn.slitaz.org/">Community</a>
   45.49  		<a href="http://doc.slitaz.org/">Doc</a>
   45.50  		<a href="http://forum.slitaz.org/">Forum</a>
   45.51  		<a href="http://slitaz.pro/">Pro</a>
   45.52  		<a href="http://slitaz.spreadshirt.net/">Shop</a>
   45.53 -		<a href="http://bugs.slitaz.org">Bugs</a>
   45.54 +		<a href="http://bugs.slitaz.org/">Bugs</a>
   45.55  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
   45.56  		<a href="http://cook.slitaz.org/">Cook</a>
   45.57  	</div>
   45.58 -	<h1><a href="http://<?php echo $_SERVER["HTTP_HOST"]; ?>/">SliTaz 
   45.59 -	<?php $host=preg_replace('/(\w+).*/i','$1',$_SERVER["HTTP_HOST"]); echo $host; ?></a></h1>
   45.60 -</div>
   45.61 +</header>
   45.62  
   45.63 -<!-- Block -->
   45.64 -<div id="block">
   45.65 -	<!-- Navigation -->
   45.66 -	<div id="block_nav">
   45.67 -		<h4><img src="images/server.png" alt="[ Server ]" />Project servers</h4>
   45.68 +
   45.69 +<!-- Block begin -->
   45.70 +<div class="block"><div>
   45.71 +
   45.72 +	<!-- Top block begin -->
   45.73 +	<div class="block_info">
   45.74 +		<header>Codename: <?php echo $host; ?></header>
   45.75 +		<p>This is the SliTaz GNU/Linux main mirror.
   45.76 +			The server runs naturally SliTaz (stable) in an UML virtual
   45.77 +			machine provided by
   45.78 +			<a href="http://www.ads-lu.com/">Allied Data Sys. (ADS)</a>.</p>
   45.79 +		<p>Mirror CPU is a <?php
   45.80 +system("( sed '/cpuinfo=/!d;" .
   45.81 +	"s/.*cpuinfo=\\([^ ]*\).*/: \\1/;s/_/ /g' /proc/cmdline ; grep '^model name' /proc/cpuinfo) | sed -e 's/.*Intel(R) //;" .
   45.82 +	"s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //;q' |" .
   45.83 +	" awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" .
   45.84 +	"if (n == 4) printf \"quad \"; print s }' ")
   45.85 +		?> - <?php
   45.86 +system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ".
   45.87 +	"n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ".
   45.88 +	"printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")
   45.89 +		?> -
   45.90 +		Located in France next to Roubaix.
   45.91 +		This page has real time statistics provided by PHP <code>system()</code>.
   45.92 +		Mirror is also monitored by RRDtool which provides <a href="graphs.php">graphical stats</a>.</p>
   45.93 +	<!-- Top block end -->
   45.94 +	</div>
   45.95 +
   45.96 +	<!-- Nav block begin -->
   45.97 +	<nav>
   45.98 +		<header>Project servers</header>
   45.99  		<ul>
  45.100  			<li><a href="http://tank.slitaz.org/">Tank server</a></li>
  45.101  			<li><a href="http://pangolin.slitaz.org/">Pangolin server</a></li>
  45.102  		</ul>
  45.103 -	</div>
  45.104 -	<!-- Information/image -->
  45.105 -	<div id="block_info">
  45.106 -	<h4>Codename: <?php echo $host; ?></h4>
  45.107 -		<p>
  45.108 -			This is the SliTaz GNU/Linux main mirror. The server runs naturally SliTaz 
  45.109 -			(stable) in an UML virtual machine provided by 
  45.110 -			<a href="http://www.ads-lu.com/">Allied Data Sys. (ADS)</a>.
  45.111 -		</p>
  45.112 -		<p>
  45.113 -			Mirror CPU is a <?php system("( sed '/cpuinfo=/!d;" .
  45.114 -			"s/.*cpuinfo=\\([^ ]*\).*/: \\1/;s/_/ /g' /proc/cmdline ; grep '^model name' /proc/cpuinfo) | sed -e 's/.*Intel(R) //;" .
  45.115 -			"s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //;q' |" .
  45.116 -			" awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" .
  45.117 -			"if (n == 4) printf \"quad \"; print s }' ")?> -
  45.118 -			<?php system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ".
  45.119 -			"n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ".
  45.120 -			"printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")?> - Located in France next to 
  45.121 -			Roubaix. This page has real time statistics provided by PHP 
  45.122 -			<code>system()</code> Mirror is also monitored by RRDtool which provides 
  45.123 -			<a href="graphs.php">graphical stats</a>.
  45.124 -		</p>
  45.125 -	</div>
  45.126 -</div>
  45.127 +	<!-- Nav block end -->
  45.128 +	</nav>
  45.129 +
  45.130 +<!-- Block end -->
  45.131 +</div></div>
  45.132 +
  45.133  
  45.134  <!-- Content -->
  45.135 -<div id="content">
  45.136 +<main>
  45.137  
  45.138 -<h2><a href="graphs.php"><img 
  45.139 -	title="Mirror RRDtool graphs" alt="graphs"
  45.140 -    src="images/monitor.png" /></a>System stats</h2>
  45.141  
  45.142 -<h4>Uptime</h4>
  45.143 +<h2>System stats</h2>
  45.144  
  45.145 -<pre class="box">
  45.146 -<?php
  45.147 +
  45.148 +<h3>Uptime</h3>
  45.149 +
  45.150 +<pre class="hard"><?php
  45.151  system("uptime | sed 's/^\s*//'");
  45.152 -?>
  45.153 -</pre>
  45.154 +?></pre>
  45.155  
  45.156 -<h4>Disk usage</h4>
  45.157  
  45.158 -<pre class="box">
  45.159 -<?php
  45.160 -system("[ -d /sys/block ] && [ -x /usr/sbin/smartctl ] && { cd /sys/block ; for i in [hs]d? ; do echo -n \$i ; /usr/sbin/smartctl -a /dev/\$i 2> /dev/null | sed '/Power_On_Hours/{s/.*Pow/: Pow/;s/ours.*-/ours/;p};/offline/!d;q'; echo; done; }");
  45.161 +<h3>Disk usage</h3>
  45.162 +
  45.163 +<pre class="hard"><?php
  45.164  system("df -h | sed '/^rootfs/d' | grep  '\(^/dev\|Filesystem\)'");
  45.165 -?>
  45.166 -</pre>
  45.167 +?></pre>
  45.168  
  45.169 -<h4>Network</h4>
  45.170 -<pre class="box">
  45.171 -<?php
  45.172 +
  45.173 +<h3>Network</h3>
  45.174 +
  45.175 +<pre class="hard"><?php
  45.176  system("ifconfig eth0 | awk '{ if (/X packet/ || /X byte/) print }' | sed 's/^\s*//'");
  45.177 -?>
  45.178 -</pre>
  45.179 +?></pre>
  45.180 +
  45.181 +
  45.182  
  45.183  
  45.184  <?php if (isset($_GET["all"])) { ?>
  45.185 -<h4>Logins</h4>
  45.186 -<pre class="box">
  45.187 -<?php
  45.188 +
  45.189 +<h3>Logins</h3>
  45.190 +
  45.191 +<pre class="hard scroll"><?php
  45.192  system("last");
  45.193 -?>
  45.194 -</pre>
  45.195 +?></pre>
  45.196  
  45.197 -<h4>Processes</h4>
  45.198 -<pre class="box">
  45.199 -<?php
  45.200 +<h3>Processes</h3>
  45.201 +
  45.202 +<pre class="hard scroll"><?php
  45.203  system("top -n1 -b");
  45.204 -?>
  45.205 -</pre>
  45.206 +?></pre>
  45.207 +
  45.208  <?php } ?>
  45.209  
  45.210 -<a name="vhosts"></a>
  45.211 -<h2><img title="Mirror Virtual hosts" alt="vhosts"
  45.212 -    src="/static/network.png" />Virtual hosts</h2>
  45.213  
  45.214 -<ul>
  45.215 -	<li><a href="http://mirror1.slitaz.org/">mirror1.slitaz.org</a> - SliTaz Mirror.
  45.216 -	(<a href="http://mirror1.slitaz.org/stats">stats</a>)</li>
  45.217 -	<li><a href="http://scn.slitaz.org/">scn.slitaz.org</a> - SliTaz Community Network.
  45.218 -	(<a href="http://mirror1.slitaz.org/awstats.pl?config=scn.slitaz.org">stats</a>)</li>
  45.219 -	<li><a href="http://pizza.slitaz.org/">pizza.slitaz.org</a> - SliTaz Flavor builder.
  45.220 -	(<a href="http://mirror1.slitaz.org/awstats.pl?config=pizza.mirror1.slitaz.org">stats</a>)</li>
  45.221 -	<li><a href="http://tiny.slitaz.org/">tiny.slitaz.org</a> - Tiny SliTaz builder.
  45.222 -	(<a href="http://mirror1.slitaz.org/awstats.pl?config=tiny.slitaz.org">stats</a>)</li>
  45.223 -	<li><a href="https://ajaxterm.slitaz.org/">ajaxterm.slitaz.org</a> - Slitaz Web Console.
  45.224 -	(<a href="http://mirror1.slitaz.org/awstats.pl?config=ajaxterm.slitaz.org">stats</a>)</li>
  45.225 -</ul>
  45.226  
  45.227 -<a name="replicas"></a>
  45.228 -<h2><a href="http://mirror1.slitaz.org/awstats.pl?config=replicas.mirror1.slitaz.org">
  45.229 -		<img title="Tank replicas" alt="replicas"
  45.230 -    src="/static/network.png" /></a>Tank replicas</h2>
  45.231  
  45.232 -<ul>
  45.233 -	<li><a href="http://mirror1.slitaz.org/www/">www.slitaz.org</a> - SliTaz Website.
  45.234 -	(<a href="http://www.slitaz.org/">main</a>)</li>
  45.235 -	<li><a href="http://mirror1.slitaz.org/doc/">doc.slitaz.org</a> - Documentation.
  45.236 -	(<a href="http://doc.slitaz.org/">main</a>)</li>
  45.237 -	<li><a href="http://mirror1.slitaz.org/pkgs/">pkgs.slitaz.org</a> - Packages Web interface.
  45.238 -	(<a href="http://pkgs.slitaz.org/">main</a>)</li>
  45.239 -	<li><a href="http://mirror1.slitaz.org/hg/?sort=lastchange">hg.slitaz.org</a> - Mercurial repositories (read only).
  45.240 -	(<a href="http://hg.slitaz.org/?sort=lastchange">main</a>
  45.241 -	<a href="http://hg.tuxfamily.org/mercurialroot/slitaz/">tuxfamily</a>)</li>
  45.242 -	<li><a href="http://mirror1.slitaz.org/webboot/">boot.slitaz.org</a> - gPXE Web boot.
  45.243 -	(<a href="http://boot.slitaz.org/">main</a>)</li>
  45.244 -</ul>
  45.245 +<h2 id="vhosts">Virtual hosts</h2>
  45.246  
  45.247 -<a name="boot"></a>
  45.248 -<h2><a href="http://doc.slitaz.org/en:guides:pxe#web-booting">
  45.249 -	<img title="Web boot" src="/static/network.png" 
  45.250 -	 alt="web boot" /></a>Web boot services</h2>
  45.251 -	 The SliTaz mirror provides a <b>tftp</b> access and a 
  45.252 -	 <a href="/pxe">pxe</a> tree. Simply add to your DHCP server configuration file:
  45.253 -	 <ul>
  45.254 -	 <li>for <b>udhcpd</b><!-- siaddr? sname? tftp? -->
  45.255 -	 <pre>
  45.256 -siaddr mirror.slitaz.org
  45.257 -boot_file gpxe.pxe</pre>
  45.258 -	 </li>
  45.259 -	 <li>for <b>dhcpd</b>
  45.260 -	 <pre>
  45.261 -next-server "mirror.slitaz.org"
  45.262 -filemane "gpxe.pxe"</pre>
  45.263 -	 </li>
  45.264 -	 <li>for <b>dnsmasq</b>
  45.265 -	 <pre>
  45.266 -dhcp-boot=gpxe.pxe,mirror.slitaz.org</pre>
  45.267 -	 </li>
  45.268 -	 </ul>
  45.269 +<!-- p><a href="http://mirror1.slitaz.org/awstats.pl?config=info.mirror.slitaz.org" target="_blank">stats</a></p -->
  45.270  
  45.271 -<a name="mirrors"></a>
  45.272 -<h2><a href="http://mirror1.slitaz.org/awstats.pl?config=rsync">
  45.273 -	<img title="Secondary mirrors" src="/static/network.png" 
  45.274 -	 alt="mirrors" /></a>Mirrors</h2>
  45.275 -	Most mirrors are updated using the url: <b>rsync://mirror1.slitaz.org/slitaz/</b>
  45.276 -	(<a href="http://mirror1.slitaz.org/awstats.pl?config=rsync">stats</a>)
  45.277 -	<pre>
  45.278 -rsync -azH --delete rsync://mirror1.slitaz.org/slitaz/ /local/slitaz/mirror/ </pre>
  45.279 -	New mirrors should be announced on the 
  45.280 -	<a href="http://www.slitaz.org/en/mailing-list.html">mailing list</a>.
  45.281 -<ul>
  45.282 -<?php
  45.283 -$output_url_file="";
  45.284 -$output_url_handler;
  45.285 -$mirrors_url_file="/tmp/mirrors";
  45.286 +<table class="list">
  45.287 +	<thead>
  45.288 +		<tr>
  45.289 +			<th>Host name</th>
  45.290 +			<th>Description</th>
  45.291 +			<th>Stats</th>
  45.292 +		</tr>
  45.293 +	</thead>
  45.294 +	<tr>
  45.295 +		<td class="server"><a href="http://mirror.slitaz.org/">mirror.slitaz.org</a></td>
  45.296 +		<td>SliTaz Mirror</td>
  45.297 +		<td><a href="http://mirror1.slitaz.org/stats" target="_blank">stats</a></td>
  45.298 +	</tr>
  45.299 +	<tr>
  45.300 +		<td class="server"><a href="http://scn.slitaz.org/">scn.slitaz.org</a></td>
  45.301 +		<td>SliTaz Community Network</td>
  45.302 +		<td><a href="http://mirror1.slitaz.org/awstats.pl?config=scn.slitaz.org" target="_blank">stats</a></td>
  45.303 +	</tr>
  45.304 +	<tr>
  45.305 +		<td class="server"><a href="http://pizza.slitaz.org/">pizza.slitaz.org</a></td>
  45.306 +		<td>SliTaz Flavor builder</td>
  45.307 +		<td><a href="http://mirror1.slitaz.org/awstats.pl?config=pizza.mirror.slitaz.org" target="_blank">stats</a></td>
  45.308 +	</tr>
  45.309 +	<tr>
  45.310 +		<td class="server"><a href="https://ajaxterm.slitaz.org/">ajaxterm.slitaz.org</a></td>
  45.311 +		<td>Slitaz Web Console</td>
  45.312 +		<td><a href="http://mirror1.slitaz.org/awstats.pl?config=ajaxterm.slitaz.org" target="_blank">stats</a></td>
  45.313 +	</tr>
  45.314 +</table>
  45.315  
  45.316 -function test_url($link, $proto)
  45.317 -{
  45.318 -	global $output_url_file;
  45.319 -	global $mirrors_url_file;
  45.320 -	global $output_url_handler;
  45.321 -	
  45.322 -	if ($output_url_file != "") {
  45.323 -		switch($proto) {
  45.324 -		case "http" :
  45.325 -		case "ftp" :
  45.326 -			$cmd = "busybox wget -s $link/README" ;
  45.327 -			break;
  45.328 -		case "rsync" :
  45.329 -			$cmd = "rsync $link > /dev/null 2>&1" ;
  45.330 -			break;
  45.331 -		default :
  45.332 -			return FALSE;
  45.333 -		}
  45.334 -		if (shell_exec("$cmd && echo -n OK") == "OK") {
  45.335 -			fwrite($output_url_handler,$link."\n");
  45.336 -			return TRUE;
  45.337 -		} 
  45.338 -		return FALSE;
  45.339 -	}
  45.340 -	return shell_exec("grep -qs ^$link$ $mirrors_url_file && echo -n OK") == "OK"; 
  45.341 -}
  45.342  
  45.343 -if (! file_exists($mirrors_url_file)) {
  45.344 -	$output_url_file = tempnam('/tmp','mkmirrors');
  45.345 -	$output_url_handler = fopen($output_url_file, "w");
  45.346 -	fwrite($output_url_handler,"http://mirror1.slitaz.org/\n");
  45.347 -	fwrite($output_url_handler,"rsync://mirror1.slitaz.org/\n");
  45.348 -}
  45.349 +<h2 id="replicas">Tank replicas</h2>
  45.350  
  45.351 -# Flags icons from http://www.famfamfam.com/lab/icons/flags/famfamfam_flag_icons.zip
  45.352 -foreach (array(
  45.353 -	array(	"flag"  => "ch",
  45.354 -		"http"  => "http://mirror.switch.ch/ftp/mirror/slitaz/",
  45.355 -		"ftp"   => "ftp://mirror.switch.ch/mirror/slitaz/"),
  45.356 -	array(	"flag"  => "us",
  45.357 -		"http"  => "http://www.gtlib.gatech.edu/pub/slitaz/",
  45.358 -		"ftp"   => "ftp://ftp.gtlib.gatech.edu/pub/slitaz/",
  45.359 -		"rsync" => "rsync://www.gtlib.gatech.edu/slitaz/"),
  45.360 -	array(	"flag"  => "fr",
  45.361 -		"http"  => "http://download.tuxfamily.org/slitaz/",
  45.362 -		"ftp"   => "ftp://download.tuxfamily.org/slitaz/",
  45.363 -		"rsync" => "rsync://download.tuxfamily.org/pub/slitaz/"),
  45.364 -	array(	"flag"  => "fr",
  45.365 -		"http"  => "http://www.linuxembarque.com/slitaz/mirror/"),
  45.366 -//	array(	"flag"  => "cn",
  45.367 -//		"http"  => "http://mirror.lupaworld.com/slitaz/"),
  45.368 -	array(	"flag"  => "cn",
  45.369 -		"http"  => "http://ks.lupaworld.com/slitaz/"),
  45.370 -	array(	"flag"  => "br",
  45.371 -		"http"  => "http://slitaz.c3sl.ufpr.br/",
  45.372 -		"ftp"   => "ftp://slitaz.c3sl.ufpr.br/slitaz/",
  45.373 -		"rsync" => "rsync://slitaz.c3sl.ufpr.br/slitaz/"),
  45.374 -	array(	"flag"  => "it",
  45.375 -		"http"  => "http://slitaz.mirror.garr.it/mirrors/slitaz/",
  45.376 -		"ftp"   => "ftp://slitaz.mirror.garr.it/mirrors/slitaz/",
  45.377 -		"rsync" => "rsync://slitaz.mirror.garr.it/mirrors/slitaz/"),
  45.378 -	array(	"flag"  => "si",
  45.379 -		"http"  => "http://mirror.drustvo-dns.si/slitaz/"),
  45.380 -//	array(	"flag"  => "si",
  45.381 -//		"ftp"   => "ftp://ftp.pina.si/slitaz/"),
  45.382 -	array(	"flag"  => "us",
  45.383 -		"http"  => "http://distro.ibiblio.org/pub/linux/distributions/slitaz/",
  45.384 -		"ftp"   => "ftp://distro.ibiblio.org/pub/linux/distributions/slitaz/"),
  45.385 -	array(	"flag"  => "nl",
  45.386 -		"http"  => "http://ftp.vim.org/ftp/os/Linux/distr/slitaz/",
  45.387 -		"ftp"   => "ftp://ftp.vim.org/mirror/os/Linux/distr/slitaz/"),
  45.388 -	array(	"flag"  => "nl",
  45.389 -		"http"  => "http://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/",
  45.390 -		"ftp"   => "ftp://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/"),
  45.391 -	array(	"flag"  => "ch",
  45.392 -		"http"  => "http://ftp.ch.xemacs.org/ftp/pool/4/mirror/slitaz/",
  45.393 -		"ftp"   => "ftp://ftp.ch.xemacs.org//pool/4/mirror/slitaz/"),
  45.394 -	array(	"flag"  => "de",
  45.395 -		"http"  => "http://ftp.uni-stuttgart.de/slitaz/",
  45.396 -		"ftp"   => "ftp://ftp.uni-stuttgart.de/slitaz/"),
  45.397 -	array(	"flag"  => "au",
  45.398 -		"http"  => "http://mirror.iprimus.com/slitaz/"),
  45.399 -	array(	"flag"  => "au",
  45.400 -		"http"  => "http://mirror01.ipgn.com.au/slitaz/"),
  45.401 -	array(	"flag"  => "us",
  45.402 -		"http"  => "http://mirror.clarkson.edu/slitaz/",
  45.403 -		"rsync" => "rsync://mirror.clarkson.edu/slitaz/")) as $mirror) {
  45.404 -	$flag = "images/flags/".$mirror["flag"].".png";
  45.405 -	$head = TRUE;
  45.406 -	foreach(array("http", "ftp", "rsync") as $proto) {
  45.407 -		if (!isset($mirror[$proto])) continue;
  45.408 -		$link = $mirror[$proto];
  45.409 -		if (!test_url($link, $proto)) continue;
  45.410 -		$serveur = parse_url($link, PHP_URL_HOST);
  45.411 -		if ($head) echo <<<EOT
  45.412 -	<li><a href="http://en.utrace.de/?query=$serveur">
  45.413 -		<img title="map" src="$flag" alt="map" /></a>
  45.414 -		<a href="$link">$link</a>
  45.415 -EOT;
  45.416 -		else echo <<<EOT
  45.417 -		or <a href="$link">$proto</a>
  45.418 -EOT;
  45.419 -		$head = FALSE;
  45.420 -	}
  45.421 -	if ($head) continue;
  45.422 -	echo "	</li>\n";
  45.423 -}
  45.424 +<!-- p><a href="http://mirror1.slitaz.org/awstats.pl?config=replicas.mirror.slitaz.org" target="_blank">stats</a></p -->
  45.425  
  45.426 -if ($output_url_file != "") {
  45.427 -	fclose($output_url_handler);
  45.428 -	rename($output_url_file, $mirrors_url_file);
  45.429 -	chmod($mirrors_url_file, 0644);
  45.430 -}
  45.431 +<table class="list">
  45.432 +	<thead>
  45.433 +		<tr>
  45.434 +			<th>Host name</th>
  45.435 +			<th>Description</th>
  45.436 +			<th>Original</th>
  45.437 +		</tr>
  45.438 +	</thead>
  45.439 +	<tr>
  45.440 +		<td class="server"><a href="http://mirror1.slitaz.org/www/">www.slitaz.org</a></td>
  45.441 +		<td>SliTaz Website</td>
  45.442 +		<td><a href="http://www.slitaz.org/" target="_blank">main</a></td>
  45.443 +	</tr>
  45.444 +	<tr>
  45.445 +		<td class="server"><a href="http://mirror1.slitaz.org/doc/">doc.slitaz.org</a></td>
  45.446 +		<td>Documentation</td>
  45.447 +		<td><a href="http://doc.slitaz.org/" target="_blank">main</a></td>
  45.448 +	</tr>
  45.449 +	<tr>
  45.450 +		<td class="server"><a href="http://mirror1.slitaz.org/pkgs/">pkgs.slitaz.org</a></td>
  45.451 +		<td>Packages Web interface</td>
  45.452 +		<td><a href="http://pkgs.slitaz.org/" target="_blank">main</a></td>
  45.453 +	</tr>
  45.454 +	<tr>
  45.455 +		<td class="server"><a href="http://mirror1.slitaz.org/hg/">hg.slitaz.org</a></td>
  45.456 +		<td>Mercurial repositories (read only)</td>
  45.457 +		<td><a href="http://hg.slitaz.org/" target="_blank">main</a>,
  45.458 +			<a href="http://hg.tuxfamily.org/mercurialroot/slitaz/" target="_blank">tuxfamily</a>
  45.459 +		</td>
  45.460 +	</tr>
  45.461 +	<tr>
  45.462 +		<td class="server"><a href="http://mirror1.slitaz.org/webboot/">boot.slitaz.org</a></td>
  45.463 +		<td>gPXE Web boot</td>
  45.464 +		<td><a href="http://boot.slitaz.org/" target="_blank">main</a></td>
  45.465 +	</tr>
  45.466 +</table>
  45.467  
  45.468 -?>
  45.469 -</ul>
  45.470  
  45.471 -<a name="builds"></a>
  45.472 -<h3><img title="Daily builds" src="images/iso.png" alt="builds" 
  45.473 -     width="25" height="25" />
  45.474 -    Daily builds</h3>
  45.475 +<h2 id="mirrors">Mirrors</h2>
  45.476 +
  45.477 +<p>Most mirrors are updated using the URL:
  45.478 +	<code>rsync://mirror.slitaz.org/slitaz/</code>
  45.479 +	(<a href="http://mirror1.slitaz.org/awstats.pl?config=rsync">stats</a>)</p>
  45.480 +
  45.481 +<table class="list">
  45.482 +	<thead>
  45.483 +		<tr>
  45.484 +			<th>Mirror name</th>
  45.485 +			<th>Access URLs</th>
  45.486 +			<th>Location</th>
  45.487 +		</tr>
  45.488 +	</thead>
  45.489 +	<tr>
  45.490 +		<td class="fr">slitaz.org mirror</td>
  45.491 +		<td>
  45.492 +			<a href="http://mirror.slitaz.org/">http</a>
  45.493 +		</td>
  45.494 +		<td><a href="http://en.utrace.de/?query=mirror.slitaz.org">map</a></td>
  45.495 +	</tr>
  45.496 +	<tr>
  45.497 +		<td class="ch">Swiss academia mirror</td>
  45.498 +		<td>
  45.499 +			<a href="http://mirror.switch.ch/ftp/mirror/slitaz/">http</a> ·
  45.500 +			<a href="ftp://mirror.switch.ch/mirror/slitaz/">ftp</a>
  45.501 +		</td>
  45.502 +		<td><a href="http://en.utrace.de/?query=mirror.switch.ch">map</a></td>
  45.503 +	</tr>
  45.504 +	<tr>
  45.505 +		<td class="us">Georgia Tech Software Library (GTlib) mirror</td>
  45.506 +		<td>
  45.507 +			<a href="http://www.gtlib.gatech.edu/pub/slitaz/">http</a> ·
  45.508 +			<a href="ftp://ftp.gtlib.gatech.edu/pub/slitaz/">ftp</a> ·
  45.509 +			<a href="rsync://www.gtlib.gatech.edu/slitaz/">rsync</a>
  45.510 +		</td>
  45.511 +		<td><a href="http://en.utrace.de/?query=www.gtlib.gatech.edu">map</a></td>
  45.512 +	</tr>
  45.513 +	<tr>
  45.514 +		<td class="fr">TuxFamily mirror</td>
  45.515 +		<td>
  45.516 +			<a href="http://download.tuxfamily.org/slitaz/">http</a> ·
  45.517 +			<a href="ftp://download.tuxfamily.org/slitaz/">ftp</a> ·
  45.518 +			<a href="rsync://download.tuxfamily.org/pub/slitaz/">rsync</a>
  45.519 +		</td>
  45.520 +		<td><a href="http://en.utrace.de/?query=download.tuxfamily.org">map</a></td>
  45.521 +	</tr>
  45.522 +	<tr>
  45.523 +		<td class="br">Federal University of Paraná (UFPR) mirror</td>
  45.524 +		<td>
  45.525 +			<a href="http://slitaz.c3sl.ufpr.br/">http</a> ·
  45.526 +			<a href="ftp://slitaz.c3sl.ufpr.br/slitaz/">ftp</a> ·
  45.527 +			<a href="ftp://opensuse.c3sl.ufpr.br/slitaz/">ftp</a> ·
  45.528 +			<a href="ftp://ftp.br.debian.org/slitaz/">ftp</a> ·
  45.529 +			<a href="rsync://slitaz.c3sl.ufpr.br/slitaz/">rsync</a>
  45.530 +		</td>
  45.531 +		<td><a href="http://en.utrace.de/?query=slitaz.c3sl.ufpr.br">map</a></td>
  45.532 +	</tr>
  45.533 +	<tr>
  45.534 +		<td class="it">Italian Research &amp; Education Network (NREN) mirror</td>
  45.535 +		<td>
  45.536 +			<a href="http://slitaz.mirror.garr.it/mirrors/slitaz/">http</a> ·
  45.537 +			<a href="ftp://slitaz.mirror.garr.it/mirrors/slitaz/">ftp</a> ·
  45.538 +			<a href="rsync://slitaz.mirror.garr.it/mirrors/slitaz/">rsync</a>
  45.539 +		</td>
  45.540 +		<td><a href="http://en.utrace.de/?query=slitaz.mirror.garr.it">map</a></td>
  45.541 +	</tr>
  45.542 +	<tr>
  45.543 +		<td class="us">University of North Carolina mirror</td>
  45.544 +		<td>
  45.545 +			<a href="http://distro.ibiblio.org/slitaz/">http</a> ·
  45.546 +			<a href="ftp://distro.ibiblio.org/slitaz/">ftp</a>
  45.547 +		</td>
  45.548 +		<td><a href="http://en.utrace.de/?query=distro.ibiblio.org">map</a></td>
  45.549 +	</tr>
  45.550 +	<tr>
  45.551 +		<td class="us">Clarkson University mirror</td>
  45.552 +		<td>
  45.553 +			<a href="http://mirror.clarkson.edu/slitaz/">http</a>
  45.554 +		</td>
  45.555 +		<td><a href="http://en.utrace.de/?query=mirror.clarkson.edu">map</a></td>
  45.556 +	</tr>
  45.557 +	<tr>
  45.558 +		<td class="fr">TuxFamily mirror</td>
  45.559 +		<td>
  45.560 +			<a href="http://malibu.tuxfamily.net/slitaz/">http</a> ·
  45.561 +			<a href="ftp://malibu.tuxfamily.net/slitaz/">ftp</a>
  45.562 +		</td>
  45.563 +		<td><a href="http://en.utrace.de/?query=malibu.tuxfamily.net">map</a></td>
  45.564 +	</tr>
  45.565 +	<tr>
  45.566 +		<td class="de">University of Stuttgart mirror</td>
  45.567 +		<td>
  45.568 +			<a href="http://ftp.uni-stuttgart.de/slitaz/">http</a> ·
  45.569 +			<a href="ftp://ftp.uni-stuttgart.de/slitaz/">ftp</a>
  45.570 +		</td>
  45.571 +		<td><a href="http://en.utrace.de/?query=ftp.uni-stuttgart.de">map</a></td>
  45.572 +	</tr>
  45.573 +	<tr>
  45.574 +		<td class="de">Technische Universität Darmstadt mirror</td>
  45.575 +		<td>
  45.576 +			<a href="ftp://fb04272.mathematik.tu-darmstadt.de/pub/linux/distributions/slitaz/">ftp</a> ·
  45.577 +			<a href="ftp://linux.mathematik.tu-darmstadt.de/pub/linux/distributions/misc/slitaz/">ftp</a>
  45.578 +		</td>
  45.579 +		<td><a href="http://en.utrace.de/?query=linux.mathematik.tu-darmstadt.de">map</a></td>
  45.580 +	</tr>
  45.581 +	<tr>
  45.582 +		<td class="de">Kiel University mirror</td>
  45.583 +		<td>
  45.584 +			<a href="ftp://ftp.rz.uni-kiel.de/pub2/linux/slitaz/">ftp</a>
  45.585 +		</td>
  45.586 +		<td><a href="http://en.utrace.de/?query=ftp.rz.uni-kiel.de">map</a></td>
  45.587 +	</tr>
  45.588 +	<tr>
  45.589 +		<td class="pl">University of Warsaw mirror</td>
  45.590 +		<td>
  45.591 +			<a href="ftp://ftp.icm.edu.pl/vol/rzm5/linux-ibiblio/distributions/slitaz/">ftp</a>
  45.592 +		</td>
  45.593 +		<td><a href="http://en.utrace.de/?query=ftp.icm.edu.pl">map</a></td>
  45.594 +	</tr>
  45.595 +</table>
  45.596 +<!--
  45.597 +Old mirrors:
  45.598 +	http://www.linuxembarque.com/slitaz/mirror/ (fr)
  45.599 +	http://mirror.lupaworld.com/slitaz/ (cn)
  45.600 +	http://mirror.drustvo-dns.si/slitaz/ (si)
  45.601 +	ftp://ftp.pina.si/slitaz/ (si)
  45.602 +	http://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/ (nl)
  45.603 +	http://ftp.ch.xemacs.org/ftp/pool/2/mirror/slitaz/ (ch)
  45.604 +	ftp://ftp.ch.xemacs.org/pool/2/mirror/slitaz/ (ch)
  45.605 +
  45.606 +Outdated mirror:
  45.607 +	http://ftp.vim.org/ftp/os/Linux/distr/slitaz/ (2012)
  45.608 +-->
  45.609 +
  45.610 +
  45.611 +<h2 id="builds">Daily builds</h2>
  45.612  
  45.613  <?php
  45.614  function display_log($file,$anchor,$url)
  45.615  {
  45.616 -echo '<a name="'.$anchor.'"></a>';
  45.617 -echo "<h4><a href=\"$url\">";
  45.618 -system("stat -c '%y %n' ".$file." | sed 's/.000000000//;s|/var/log/\(.*\).log|\\1.iso|'");
  45.619 -echo "</a></h4>";
  45.620 -echo "<pre>";
  45.621 -$sed_script="s/.\[[0-9][^mG]*.//g";
  45.622 -$sed_script.=";:a;s/^\(.\{1,68\}\)\(\[ [A-Za-z]* \]\)/\\1 \\2/;ta";
  45.623 -$sed_script.=";s#\[ OK \]#[ <span style=\"color:green\">OK</span> ]#";
  45.624 -$sed_script.=";s#\[ Failed \]#[ <span style=\"color:red\">Failed</span> ]#";
  45.625 -system("sed '".$sed_script."' < $file");
  45.626 +echo "<p><a name=\"$anchor\" href=\"$url\">";
  45.627 +system("stat -c '%y %n' ".$file." | sed -e 's/.000000000//' -e 's|/var/log/\(.*\).log|\\1.iso|'");
  45.628 +echo "</a></p>";
  45.629 +echo "<pre class=\"hard\">";
  45.630 +system("cat ".$file." | sed -e 's/.\[[0-9][^mG]*.//g' | awk '".
  45.631 +'{ if (/\[/) { n=index($0,"["); printf("%s%s%s\n",substr($0,1,n-1),'.
  45.632 +'substr("\t\t\t\t\t\t\t",1,9-(n/8)),substr($0,n)); } else print }'."'");
  45.633  echo "</pre>";
  45.634  }
  45.635  
  45.636 @@ -333,12 +358,11 @@
  45.637  display_log("/var/log/packages-cooking.log","buildcooking","/iso/cooking/packages-cooking.iso");
  45.638  ?>
  45.639  
  45.640 +	<p>Last update : <?php echo date('r'); ?></p>
  45.641  <!-- End of content -->
  45.642 -</div>
  45.643 +</main>
  45.644  
  45.645 -<!-- Footer -->
  45.646 -
  45.647 -<script type="text/javascript">
  45.648 +<script>
  45.649  	function QRCodePNG(str, obj) {
  45.650  		try {
  45.651  			obj.height = obj.width += 300;
  45.652 @@ -346,8 +370,8 @@
  45.653  		}
  45.654  		catch (any) {
  45.655  			var element = document.createElement("script");
  45.656 -			element.src = "/static/qrcode.js";
  45.657 -			element.type ="text/javascript"; 
  45.658 +			element.src = "/static/qrcode.min.js";
  45.659 +			element.type = "text/javascript";
  45.660  			element.onload = function() {
  45.661  				obj.src = QRCode.generatePNG(str, {ecclevel: 'H'});
  45.662  			};
  45.663 @@ -356,32 +380,31 @@
  45.664  	}
  45.665  </script>
  45.666  
  45.667 -<div id="footer">
  45.668 -	Copyright &copy; <span class="year"></span>
  45.669 -	<a href="http://www.slitaz.org/">SliTaz</a> - Network:
  45.670 -	<a href="http://scn.slitaz.org/">Community</a>
  45.671 -	<a href="http://doc.slitaz.org/">Doc</a>
  45.672 -	<a href="http://forum.slitaz.org/">Forum</a>
  45.673 -	<a href="http://pkgs.slitaz.org/">Packages</a>
  45.674 -	<a href="http://boot.slitaz.org/">Boot</a>
  45.675 -	<a href="http://bugs.slitaz.org">Bugs</a>
  45.676 -	<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  45.677 -	<p>
  45.678 -		<img src="/static/qr.png" alt="SliTaz @" onmouseover="this.title = location.href"
  45.679 -		 onclick="this.src = QRCodePNG(location.href, this)" />
  45.680 -		<a href="http://twitter.com/slitaz">Twitter</a>
  45.681 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
  45.682 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
  45.683 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
  45.684 +<footer>
  45.685 +	<div>
  45.686 +		Copyright © <?php echo date('Y'); ?>
  45.687 +		<a href="http://www.slitaz.org/">SliTaz</a>
  45.688 +	</div>
  45.689 +	<div>
  45.690 +		Network:
  45.691 +		<a href="http://scn.slitaz.org/">Community</a> ·
  45.692 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  45.693 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  45.694 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  45.695 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
  45.696 +		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  45.697 +	</div>
  45.698 +	<div>
  45.699 +		SliTaz @
  45.700 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  45.701 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  45.702 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  45.703 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  45.704  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  45.705 -	</p>
  45.706 -	<p>
  45.707 -		<a href="http://validator.w3.org/check?uri=referer">
  45.708 -			<img src="/static/xhtml10.png"
  45.709 -				alt="Valid XHTML 1.0" title="Code valid. XHTML 1.0"
  45.710 -				style="width: 80px; height: 15px;" /></a>
  45.711 -	</p>
  45.712 -</div>
  45.713 +	</div>
  45.714 +	<img src="/static/qr.png" alt="#" onmouseover="this.title = location.href"
  45.715 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  45.716 +</footer>
  45.717  
  45.718  </body>
  45.719  </html>
    46.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.2 +++ b/mirror/root/README	Fri Oct 16 02:08:09 2015 +0300
    46.3 @@ -0,0 +1,33 @@
    46.4 +--------------------------------------------------------------------------------
    46.5 +
    46.6 +SliTaz GNU/Linux mirror - http://www.slitaz.org/
    46.7 +
    46.8 +--------------------------------------------------------------------------------
    46.9 +
   46.10 +
   46.11 +  * /boot      --> Files used to boot from boot.slitaz.org.
   46.12 +  * /iso       --> Bootable ISO images.
   46.13 +  * /packages  --> Packages *.tazpkg for SliTaz.
   46.14 +  * /pxe       --> The menu files used by the PXE boot.
   46.15 +  * /sources   --> Tools and utilities distributed by SliTaz.
   46.16 +
   46.17 +
   46.18 +SliTaz is a small free Linux distribution operating in memory (RAM).
   46.19 +Linux Kernel, Busybox, and free software from the GNU project are used.
   46.20 +Web site: www.kernel.org, www.busybox.net, and www.gnu.org.
   46.21 +
   46.22 +
   46.23 +Copyright (c)  2007-2015  SliTaz GNU/Linux - GNU General Public License
   46.24 +
   46.25 +SliTaz GNU/Linux is distributing under the GNU General Public License,
   46.26 +as published by the Free Software Foundation, version 2 of the License, or
   46.27 +(at your opinion) any later version.
   46.28 +
   46.29 +  ____ _    _ _____ ____ ____
   46.30 + |  __| |  |_|_   _|___ |___ |
   46.31 +  \ \ | |   _  | | / _  | / /
   46.32 +  _\ \| |__| | | |( (_| |/ /_
   46.33 + |____|____|_| |_| \____|____|
   46.34 + 
   46.35 +--------------------------------------------------------------------------------
   46.36 +
    47.1 --- a/mirror/root/dir-generator.php	Sat Oct 10 14:22:49 2015 +0300
    47.2 +++ b/mirror/root/dir-generator.php	Fri Oct 16 02:08:09 2015 +0300
    47.3 @@ -126,7 +126,6 @@
    47.4  $show_hidden_files = false;
    47.5  if (get_conf('dir-listing.hide-dotfile', '"', '"', 'disable') == "disable")
    47.6  	$show_hidden_files = true;
    47.7 -
    47.8  // get_conf('dir-listing.exclude','\(','\)');
    47.9  // get_conf('dir-listing.set-footer','"','"');
   47.10  
   47.11 @@ -186,7 +185,8 @@
   47.12  <head>
   47.13  	<title>Index of /$vpath</title>
   47.14  	<meta charset=\"UTF-8\">
   47.15 -	<meta name=\"description\" content=\"Index of /$vpath\">"
   47.16 +	<meta name=\"description\" content=\"Index of /$vpath\">
   47.17 +";
   47.18  ?>
   47.19  	<meta name="robots" content="index, nofollow">
   47.20  	<meta name="author" content="SliTaz Contributors">
   47.21 @@ -196,9 +196,11 @@
   47.22  </head>
   47.23  <body>
   47.24  
   47.25 +<script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script>
   47.26 +
   47.27  <header>
   47.28  	<h1><a href="http://mirror1.slitaz.org/">SliTaz Mirror</a></h1>
   47.29 -	<div id="network">
   47.30 +	<div class="network">
   47.31  		<a class="home" href="http://www.slitaz.org/"></a>
   47.32  		<a href="http://scn.slitaz.org/">Community</a>
   47.33  		<a href="http://doc.slitaz.org/">Doc</a>
   47.34 @@ -211,9 +213,9 @@
   47.35  	</div>
   47.36  </header>
   47.37  
   47.38 -<div id="block"><div>
   47.39 +<div class="block"><div>
   47.40  	<!-- Information/image -->
   47.41 -	<div id="block_info">
   47.42 +	<div class="block_info">
   47.43  		<header>Welcome to Open Source!</header>
   47.44  <?php
   47.45  
   47.46 @@ -260,13 +262,9 @@
   47.47  			document.body.appendChild(element);
   47.48  		}
   47.49  	}
   47.50 -
   47.51 -	document.documentElement.className += (("ontouchstart" in document.documentElement) ? ' touch' : ' no-touch');
   47.52  </script>
   47.53  
   47.54 -<!-- Content -->
   47.55 -<div id="content">
   47.56 -	<div id="mirrors">
   47.57 +<div class="mirrors">
   47.58  <?php
   47.59  
   47.60  	// Mirror list
   47.61 @@ -341,8 +339,10 @@
   47.62  
   47.63  
   47.64  
   47.65 -print "	<div class='list'>
   47.66 -		<div id='lang'>Path: /$vpath</div>
   47.67 +print "<!-- Content -->
   47.68 +<main>
   47.69 +	<div class='list'>
   47.70 +		<div class='lang'>Path: /$vpath</div>
   47.71  		<table>";
   47.72  
   47.73  
   47.74 @@ -505,9 +505,9 @@
   47.75  // Print file information
   47.76  foreach($filelist as $file) {
   47.77  	$filename = $file['name'];
   47.78 -	$url = addslashes($file['name']);
   47.79 +	$url = addslashes($filename);
   47.80  
   47.81 -	if (preg_match('/\.tazpkg$/', $filename))
   47.82 +	if (preg_match('/\.(tazpkg|deb)$/', $filename))
   47.83  		$class = "pkg";
   47.84  	elseif (preg_match('/\.iso$/', $filename))
   47.85  		$class = "iso";
   47.86 @@ -557,27 +557,32 @@
   47.87  ?>
   47.88  
   47.89  <!-- End of content -->
   47.90 -</div>
   47.91 +</main>
   47.92  
   47.93  <footer>
   47.94 -	<p>Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a></p>
   47.95 -	<p>Network:
   47.96 -		<a href="http://scn.slitaz.org/">Community</a>
   47.97 -		<a href="http://doc.slitaz.org/">Doc</a>
   47.98 -		<a href="http://forum.slitaz.org/">Forum</a>
   47.99 -		<a href="http://pkgs.slitaz.org/">Packages</a>
  47.100 -		<a href="http://bugs.slitaz.org">Bugs</a>
  47.101 +	<div>
  47.102 +		Copyright &copy; <span class="year"></span>
  47.103 +		<a href="http://www.slitaz.org/">SliTaz</a>
  47.104 +	</div>
  47.105 +	<div>
  47.106 +		Network:
  47.107 +		<a href="http://scn.slitaz.org/">Community</a> ·
  47.108 +		<a href="http://doc.slitaz.org/">Doc</a> ·
  47.109 +		<a href="http://forum.slitaz.org/">Forum</a> ·
  47.110 +		<a href="http://pkgs.slitaz.org/">Packages</a> ·
  47.111 +		<a href="http://bugs.slitaz.org">Bugs</a> ·
  47.112  		<a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
  47.113 -	</p>
  47.114 -	<p>SliTaz @
  47.115 -		<a href="http://twitter.com/slitaz">Twitter</a>
  47.116 -		<a href="http://www.facebook.com/slitaz">Facebook</a>
  47.117 -		<a href="http://distrowatch.com/slitaz">Distrowatch</a>
  47.118 -		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
  47.119 +	</div>
  47.120 +	<div>
  47.121 +		SliTaz @
  47.122 +		<a href="http://twitter.com/slitaz">Twitter</a> ·
  47.123 +		<a href="http://www.facebook.com/slitaz">Facebook</a> ·
  47.124 +		<a href="http://distrowatch.com/slitaz">Distrowatch</a> ·
  47.125 +		<a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> ·
  47.126  		<a href="http://flattr.com/profile/slitaz">Flattr</a>
  47.127 -	</p>
  47.128 +	</div>
  47.129  	<img src="static/qr.png" alt="#" onmouseover="this.title = location.href"
  47.130 -			onclick="this.src = QRCodePNG(location.href, this)" />
  47.131 +	onclick="this.src = QRCodePNG(location.href, this)"/>
  47.132  </footer>
  47.133  
  47.134  <?php
    48.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    48.2 +++ b/mirror/root/humans.txt	Fri Oct 16 02:08:09 2015 +0300
    48.3 @@ -0,0 +1,2 @@
    48.4 +The SliTaz project was originated by Christophe Lincoln and is developed by many contributors, see http://people.slitaz.org/
    48.5 +
    49.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    49.2 +++ b/mirror/root/index.php	Fri Oct 16 02:08:09 2015 +0300
    49.3 @@ -0,0 +1,1 @@
    49.4 +dir-generator.php
    49.5 \ No newline at end of file
    50.1 --- a/mirror/root/mirrors.html	Sat Oct 10 14:22:49 2015 +0300
    50.2 +++ b/mirror/root/mirrors.html	Fri Oct 16 02:08:09 2015 +0300
    50.3 @@ -2,7 +2,7 @@
    50.4  <a class="fr" href="http://malibu.tuxfamily.net/slitaz/" title="TuxFamily mirror">tuxfamily.net</a>
    50.5  <a class="us" href="http://www.gtlib.gatech.edu/pub/slitaz/" title="Georgia Tech Software Library (GTlib) mirror">gatech.edu</a>
    50.6  <a class="us" href="http://mirror.clarkson.edu/slitaz/" title="Clarkson University mirror">clarkson.edu</a>
    50.7 -<a class="de ftp" href="http://ftp.uni-stuttgart.de/slitaz/" title="University of Stuttgart mirror">uni-stuttgart.de</a>
    50.8 +<a class="de" href="http://ftp.uni-stuttgart.de/slitaz/" title="University of Stuttgart mirror">uni-stuttgart.de</a>
    50.9  <a class="ch" href="http://mirror.switch.ch/ftp/mirror/slitaz/" title="Swiss academia mirror">switch.ch</a>
   50.10  <a class="de" href="ftp://linux.mathematik.tu-darmstadt.de/pub/linux/distributions/misc/slitaz/" title="Technische Universität Darmstadt mirror">tu-darmstadt.de</a>
   50.11  <a class="de" href="ftp://ftp.rz.uni-kiel.de/pub2/linux/slitaz/" title="Kiel University mirror">uni-kiel.de</a>
    51.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.2 +++ b/mirror/root/robots.txt	Fri Oct 16 02:08:09 2015 +0300
    51.3 @@ -0,0 +1,3 @@
    51.4 +User-Agent: *
    51.5 +Disallow: /private/
    51.6 +Allow: /
    52.1 Binary file mirror/root/static/network-server.png has changed
    53.1 Binary file mirror/root/static/preferences-desktop-locale.png has changed
    54.1 --- a/mirror/root/static/slitaz.css	Sat Oct 10 14:22:49 2015 +0300
    54.2 +++ b/mirror/root/static/slitaz.css	Fri Oct 16 02:08:09 2015 +0300
    54.3 @@ -4,47 +4,48 @@
    54.4  
    54.5  html {
    54.6  	min-height: 102%;
    54.7 -	}
    54.8 +}
    54.9  body {
   54.10  	height: 100%;
   54.11  	margin: 0;
   54.12  	box-sizing: border-box;
   54.13  	color: #222;
   54.14 -	background: #fff;
   54.15 +	background: #FFF;
   54.16  	font: 13px Ubuntu, "Droid Sans", "DejaVu Sans", FreeSans, "Liberation Sans", sans-serif;
   54.17  	-moz-hyphens: auto; -epub-hyphens: auto; -webkit-hyphens: auto; hyphens: auto;
   54.18 -	}
   54.19 +}
   54.20  code, pre, samp, kbd {
   54.21  	color: #000;
   54.22  	background-color: rgba(0, 0, 0, .05);
   54.23 -	}
   54.24 +}
   54.25  a {
   54.26  	text-decoration: none;
   54.27  	color: #215090;
   54.28 -	}
   54.29 +}
   54.30  a:hover {
   54.31  	text-decoration: underline;
   54.32 -	}
   54.33 +}
   54.34  img {
   54.35  	border: 0 none;
   54.36  	vertical-align: middle;
   54.37 -	}
   54.38 +}
   54.39 +.large {
   54.40 +	overflow-x: auto;
   54.41 +}
   54.42  h2 {
   54.43  	color: #444;
   54.44 -	font-size: 26px;
   54.45 +	font-size: 22px;
   54.46  	font-weight: 300;
   54.47 -	margin: 26px 0 13px;
   54.48 -	border-bottom: 2px solid #999;
   54.49 -	letter-spacing: 1px;
   54.50 -	}
   54.51 +	margin: 18px auto 6px;
   54.52 +	border-bottom: 1px solid #CCC;
   54.53 +}
   54.54  h3 {
   54.55  	color: #666;
   54.56  	font-size: 19px;
   54.57  	font-weight: 300;
   54.58 -	margin: 26px 0 0;
   54.59 +	margin: 12px auto 0;
   54.60  	line-height: 1;
   54.61 -	letter-spacing: .5px;
   54.62 -	}
   54.63 +}
   54.64  pre {
   54.65  	background-color: #F8F8F8;
   54.66  	border: 1px solid #DDD;
   54.67 @@ -52,67 +53,168 @@
   54.68  	white-space: pre-wrap;
   54.69  	overflow-x: auto;
   54.70  	line-height: 1;
   54.71 -	}
   54.72 -table {
   54.73 -	background-color: #F8F8F8;
   54.74 -	border: 1px solid #DDD;
   54.75 -	width: 100%;
   54.76 -	margin-bottom: 20px;
   54.77 -	padding: 6px;
   54.78 -	}
   54.79 +}
   54.80 +.hard {
   54.81 +	white-space: pre;
   54.82 +	resize: both;
   54.83 +}
   54.84 +.scroll {
   54.85 +	max-height: 40ex;
   54.86 +}
   54.87 +
   54.88 +
   54.89  
   54.90  
   54.91  /* Page header */
   54.92  
   54.93  body > header {
   54.94 -	display: table;
   54.95 -	width: 100%;
   54.96 -	vertical-align: middle;
   54.97 -	min-height: 40px;
   54.98 +	display: block;
   54.99  	background: #222;
  54.100 -	}
  54.101 -
  54.102 +	text-align: justify;
  54.103 +	line-height: 0;
  54.104 +}
  54.105  h1 {
  54.106 -	display: table-cell;
  54.107 -	height: 40px;
  54.108 -	vertical-align: middle;
  54.109 +	display: inline-block;
  54.110 +	margin: auto 0;
  54.111  	line-height: 20px;
  54.112  	white-space: nowrap;
  54.113 -	}
  54.114 +	vertical-align: middle;
  54.115 +}
  54.116  h1::before {
  54.117  	display: inline-block;
  54.118  	content: url(logo.png);
  54.119  	vertical-align: middle;
  54.120 -	}
  54.121 +}
  54.122  h1 a {
  54.123  	color: #FFF;
  54.124  	font-size: 20px;
  54.125  	font-style: italic;
  54.126 -	}
  54.127 -
  54.128 -
  54.129 -
  54.130 -
  54.131 -/* SliTaz Network */
  54.132 -
  54.133 -#network {
  54.134 -	display: table-cell;
  54.135 -	text-align: right;
  54.136 +}
  54.137 +body > header::before, body > header::after, .block > div::before, .block > div::after {
  54.138 +	display: inline-block;
  54.139 +	width: 100%;
  54.140 +	height: 0;
  54.141 +	visibility: hidden;
  54.142 +	overflow: hidden;
  54.143 +	content: '';
  54.144 +}
  54.145 +.network {
  54.146 +	display: inline-block;
  54.147 +	text-align: left;
  54.148  	vertical-align: middle;
  54.149  	font-size: 12px;
  54.150 +	line-height: normal;
  54.151  }
  54.152 -
  54.153 -#network a {
  54.154 +.network a {
  54.155  	display: inline-block;
  54.156  	padding: 0 6px;
  54.157  	vertical-align: middle;
  54.158 -	}
  54.159 +	color: #FFF;
  54.160 +}
  54.161  .home::before {
  54.162  	content: url(home.png);
  54.163 -	}
  54.164 +}
  54.165  
  54.166  
  54.167 -/* Country flags */
  54.168 +
  54.169 +
  54.170 +/* Info block and navigation */
  54.171 +
  54.172 +.block {
  54.173 +	padding: 6px;
  54.174 +	background: #CCC;
  54.175 +	border-bottom: 1px solid #AAA;
  54.176 +}
  54.177 +.block > div {
  54.178 +	max-width: 700px;
  54.179 +	margin: 0 auto;
  54.180 +	text-align: justify;
  54.181 +	line-height: 0;
  54.182 +}
  54.183 +.block_info {
  54.184 +	padding: 6px 12px 0 0;
  54.185 +	line-height: normal;
  54.186 +	width: 60%;
  54.187 +}
  54.188 +.block_info input {
  54.189 +	width: 100%;
  54.190 +}
  54.191 +.block header {
  54.192 +	font-weight: 400;
  54.193 +	font-size: 18px;
  54.194 +	line-height: 18px;
  54.195 +}
  54.196 +.block_info p {
  54.197 +	margin: 7px 0;
  54.198 +	padding: 0;
  54.199 +	text-align: justify;
  54.200 +}
  54.201 +nav {
  54.202 +	background: #666;
  54.203 +	color: #FFF;
  54.204 +	padding: 6px;
  54.205 +	line-height: normal;
  54.206 +}
  54.207 +nav a {
  54.208 +	white-space: nowrap;
  54.209 +	color: #FFF;
  54.210 +}
  54.211 +nav header img {
  54.212 +	margin: 0 4px 0 0;
  54.213 +	padding: 0;
  54.214 +}
  54.215 +nav, .block_info {
  54.216 +	display: inline-block;
  54.217 +	vertical-align: top;
  54.218 +}
  54.219 +
  54.220 +
  54.221 +
  54.222 +
  54.223 +/* Languages selector */
  54.224 +
  54.225 +.lang {
  54.226 +	margin: 0;
  54.227 +	text-align: right;
  54.228 +	padding: 6px;
  54.229 +	font-size: 11px;
  54.230 +}
  54.231 +.lang a {
  54.232 +	padding: 0 2px;
  54.233 +}
  54.234 +
  54.235 +
  54.236 +
  54.237 +
  54.238 +/* Main content block */
  54.239 +
  54.240 +main {
  54.241 +	max-width: 700px;
  54.242 +	margin: 6px auto;
  54.243 +	padding: 0 6px;
  54.244 +	text-align: justify;
  54.245 +	line-height: 1.5rem;
  54.246 +}
  54.247 +p, ul, ol, li, h2, h3, pre, table {
  54.248 +	max-width: 700px;
  54.249 +}
  54.250 +p, ul, ol, li, pre, table {
  54.251 +	margin: 6px auto;
  54.252 +}
  54.253 +p, ul, ol {
  54.254 +	display: block;
  54.255 +}
  54.256 +ul, ol, dd {
  54.257 +	padding: 0 2ex 0 4ex;
  54.258 +}
  54.259 +ul ul, ol ol, ul ol, ol ul {
  54.260 +	margin: 0;
  54.261 +}
  54.262 +
  54.263 +
  54.264 +
  54.265 +
  54.266 +/* Countries flags */
  54.267  
  54.268  .br::before { content: url(BR.png); }
  54.269  .ch::before { content: url(CH.png); }
  54.270 @@ -124,104 +226,89 @@
  54.271  
  54.272  
  54.273  
  54.274 -/* Block */
  54.275  
  54.276 -#block {
  54.277 -	padding: 30px 6px;
  54.278 -	background: #CCC;
  54.279 -	}
  54.280 -#block div {
  54.281 -	max-width: 600px;
  54.282 -	margin: 0 auto;
  54.283 -	}
  54.284 -#block_info {
  54.285 -	padding: 6px 12px 0 0;
  54.286 -	}
  54.287 -#block_info input {
  54.288 +/* SliTaz mirrors list */
  54.289 +
  54.290 +.mirrors {
  54.291 +	padding: 6px;
  54.292 +	text-align: center;
  54.293 +	background: #F1F1F1;
  54.294 +	border-bottom: 1px solid #DDD;
  54.295 +}
  54.296 +.mirrors a, .mirrors a::before {
  54.297 +	display: inline-block;
  54.298 +	padding: 0 3px;
  54.299 +}
  54.300 +.mirrors a::before {
  54.301 +	vertical-align: -4px;
  54.302 +}
  54.303 +
  54.304 +
  54.305 +
  54.306 +
  54.307 +/* Table */
  54.308 +
  54.309 +table {
  54.310 +	background-color: #F8F8F8;
  54.311 +	border: 1px solid #DDD;
  54.312  	width: 100%;
  54.313 -	}
  54.314 -#block a,
  54.315 -#network a {
  54.316 -	color: #FFF;
  54.317 -	}
  54.318 -#block header {
  54.319 -	font-weight: 400;
  54.320 -	font-size: 18px;
  54.321 -	line-height: 18px;
  54.322 -	}
  54.323 +	margin-bottom: 20px;
  54.324 +	padding: 6px;
  54.325 +	border-collapse: collapse;
  54.326 +	line-height: 1;
  54.327 +}
  54.328 +caption {
  54.329 +	caption-side: bottom;
  54.330 +	text-align: left;
  54.331 +	padding: 6px 0;
  54.332 +}
  54.333 +thead tr{
  54.334 +	background-color: #DDD;
  54.335 +}
  54.336 +td {
  54.337 +	text-align: left;
  54.338 +}
  54.339 +th {
  54.340 +	padding: 4px 1px;
  54.341 +}
  54.342 +/* Zebra stripes */
  54.343 +tbody tr:nth-child(odd) {
  54.344 +	background-color: #FFF;
  54.345 +}
  54.346 +tbody tr:nth-child(even) {
  54.347 +	background-color: #EEE;
  54.348 +}
  54.349 +/* Mirror file list table */
  54.350 +.list td:nth-child(1) {
  54.351 +	vertical-align: middle;
  54.352 +}
  54.353 +.list td:nth-child(1)::before {
  54.354 +	display: inline-block;
  54.355 +	vertical-align: middle;
  54.356 +	padding-right: 3px;
  54.357 +}
  54.358 +.list th:nth-child(3), .list td:nth-child(3) {
  54.359 +	text-align: right;
  54.360 +}
  54.361  
  54.362 -#block_info p {
  54.363 -	margin: 7px 0;
  54.364 -	padding: 0;
  54.365 -	text-align: justify;
  54.366 -	}
  54.367 -#block_info a {
  54.368 -	font-weight: 400;
  54.369 -	color: #B51;
  54.370 -	}
  54.371  
  54.372  
  54.373  
  54.374 -
  54.375 -/* Navigation */
  54.376 -
  54.377 -nav {
  54.378 -	background: #666; color: #fff;
  54.379 -	padding: 6px;
  54.380 -	width: 40%;
  54.381 -	}
  54.382 -nav a {
  54.383 -	white-space: nowrap;
  54.384 -	}
  54.385 -
  54.386 -nav header img {
  54.387 -	margin: 0 4px 0 0;
  54.388 -	padding: 0;
  54.389 -	}
  54.390 -nav,
  54.391 -#block_info {
  54.392 -	display: table-cell;
  54.393 -	}
  54.394 -
  54.395 -
  54.396 -
  54.397 -/* Languages */
  54.398 -
  54.399 -#lang {
  54.400 -	margin: 0;
  54.401 -	text-align: right;
  54.402 -	padding: 6px;
  54.403 -	font-size: 11px;
  54.404 -	}
  54.405 -#lang a {
  54.406 -	padding: 0 2px;
  54.407 -	}
  54.408 -
  54.409 -
  54.410 -/* Content */
  54.411 -
  54.412 -#content {
  54.413 -	max-width: 600px;
  54.414 -	margin: 6px auto;
  54.415 -	padding: 0 6px;
  54.416 -	text-align: justify;
  54.417 -	line-height: 1.5rem;
  54.418 -	}
  54.419 +/* Misc blocks */
  54.420  
  54.421  .news li {
  54.422  	list-style-type: square;
  54.423  	border-bottom: 1px dotted #BEBEBE;
  54.424  	margin-left: -25px;
  54.425  	padding: 4px 0;
  54.426 -	}
  54.427 -
  54.428 -#twitter {
  54.429 +}
  54.430 +.twitter {
  54.431  	margin: 20px 0;
  54.432 -	}
  54.433 -#gallery {
  54.434 +}
  54.435 +.gallery {
  54.436  	text-align: center;
  54.437 -	}
  54.438 -#sponsor {
  54.439 +}
  54.440 +.sponsor {
  54.441  	font-size: 90%;
  54.442  	background-color: #FBFBFB;
  54.443  	border: 2px solid #DDD;
  54.444 @@ -230,103 +317,76 @@
  54.445  	float: right;
  54.446  	text-align: center;
  54.447  	margin: 10px 0 20px 20px;
  54.448 -	}
  54.449 -
  54.450 -
  54.451 -/* Mirrors list */
  54.452 -
  54.453 -#mirrors {
  54.454 -	padding: 10px;
  54.455 -	margin: 10px 0 20px;
  54.456 -	text-align: center;
  54.457 -	background: #F1F1F1;
  54.458 -	border: 1px solid #DDD;
  54.459 -	}
  54.460 -#mirrors a,
  54.461 -#mirrors a::before {
  54.462 -	display: inline-block;
  54.463 -	padding: 0 3px;
  54.464 -	}
  54.465 -#mirrors a::before {
  54.466 -	vertical-align: -4px;
  54.467 -	}
  54.468 -
  54.469 -
  54.470 -
  54.471 -/* Classes */
  54.472 -
  54.473 +}
  54.474  .right_box {
  54.475  	width: 48%;
  54.476  	float: right;
  54.477 -	}
  54.478 +}
  54.479  .left_box {
  54.480  	width: 48%;
  54.481  	float: left;
  54.482 -	}
  54.483 +}
  54.484  .box {
  54.485  	margin: 20px 60px;
  54.486  	padding: 12px;
  54.487  	background: #EFEFEF;
  54.488  	border: 1px solid #DDD;
  54.489  }
  54.490 -.searchbox { 
  54.491 +.searchbox {
  54.492  	margin: 20px 80px;
  54.493 -	padding: 12px; 
  54.494 +	padding: 12px;
  54.495  	background: #F8F8F8;
  54.496  	text-align: center;
  54.497  	border: 1px solid #DDD;
  54.498  }
  54.499 -
  54.500 -
  54.501 -/* Activity Box */
  54.502 -
  54.503  .activity {
  54.504  	margin: 0 0 20px;
  54.505  	background: #EFEFEF;
  54.506  	padding: 5px 2px 0;
  54.507  	border: 1px solid #DDD;
  54.508 -	}
  54.509 +}
  54.510  .activity div {
  54.511  	padding: 5px 10px;
  54.512  	background: #FFF;
  54.513  	margin-top: 5px;
  54.514 -	}
  54.515 +}
  54.516  .activity p {
  54.517  	margin: 0;
  54.518  	padding: 5px 10px;
  54.519  	font-weight: 700;
  54.520 -	}
  54.521 +}
  54.522  .activity ul {
  54.523  	list-style-type: none;
  54.524  	margin: 4px 0;
  54.525  	padding: 0 4px;
  54.526  	line-height: 150%;
  54.527 -	}
  54.528 +}
  54.529  .activity_more {
  54.530  	text-align: right;
  54.531 -	}
  54.532 +}
  54.533  .activity_more a {
  54.534  	font-weight: 400;
  54.535  	color: #000;
  54.536  	padding: 0 4px;
  54.537 -	}
  54.538 -.activity span,
  54.539 -.news span {
  54.540 +}
  54.541 +.activity span, .news span {
  54.542  	color: #666;
  54.543  	font-size: 11px;
  54.544  	font-weight: 400;
  54.545 -	}
  54.546 +}
  54.547 +
  54.548 +
  54.549  
  54.550  
  54.551  /* Round corner */
  54.552  
  54.553 -nav, pre, table, textarea, select,
  54.554 -.box, .searchbox, .activity, .activity div,
  54.555 -#twitter, #sponsor, #mirrors {
  54.556 +nav, pre, textarea, select, .box, .searchbox, .activity, .activity div, .twitter, .sponsor {
  54.557  	-moz-border-radius: 4px;
  54.558  	-webkit-border-radius: 4px;
  54.559  	border-radius: 4px;
  54.560 -	}
  54.561 +}
  54.562 +
  54.563 +
  54.564  
  54.565  
  54.566  /* Page footer */
  54.567 @@ -335,95 +395,67 @@
  54.568  	background: #F1F1F1;
  54.569  	text-align: center;
  54.570  	border-top: 1px solid #DDD;
  54.571 -	padding: 30px;
  54.572 +	padding: 6px;
  54.573  	color: #666;
  54.574  	clear: both;
  54.575 -	margin-bottom: -2%;
  54.576 -	}
  54.577 -footer a + a {
  54.578 -	margin: 0 6px;
  54.579 -	}
  54.580 +}
  54.581 +body > footer div {
  54.582 +	margin: 12px;
  54.583 +}
  54.584  .year:after {
  54.585 -	/* content: "2007-2015"; */
  54.586  	content: "2015";
  54.587 -	}
  54.588 +}
  54.589  
  54.590  
  54.591 -/* Mirror file table */
  54.592  
  54.593 -table {
  54.594 -	border-collapse: collapse;
  54.595 -	line-height: 1;
  54.596 -	}
  54.597 -caption {
  54.598 -	caption-side: bottom;
  54.599 -	text-align: left;
  54.600 -	padding: 6px 0;
  54.601 -	}
  54.602 -thead tr {
  54.603 -	background-color: #DDD;
  54.604 -	}
  54.605 -th {
  54.606 -	padding: 4px 1px;
  54.607 -	}
  54.608 -th:nth-child(3),
  54.609 -td:nth-child(3) {
  54.610 -	text-align: right;
  54.611 -	}
  54.612 -td:nth-child(1) {
  54.613 -	vertical-align: middle;
  54.614 -	}
  54.615  
  54.616 -tbody tr:nth-child(odd) {
  54.617 -	background-color: #FFF;
  54.618 -	}
  54.619 -tbody tr:nth-child(even) {
  54.620 -	background-color: #EEE;
  54.621 -	}
  54.622 +/* Mimetype icons */
  54.623  
  54.624 +.x-bzip::before       { content: url(application-x-bzip.png); }
  54.625 +.x-gzip::before       { content: url(application-x-gzip.png); }
  54.626 +.plain::before        { content: url(text-plain.png); }
  54.627 +.x-bittorrent::before { content: url(application-x-bittorrent.png); }
  54.628 +.octet-stream::before { content: url(application-octet-stream.png); }
  54.629 +.jpeg::before         { content: url(image-jpeg.png); }
  54.630 +.png::before          { content: url(image-png.png); }
  54.631 +.javascript::before   { content: url(text-x-javascript.png); }
  54.632 +.css::before          { content: url(text-css.png); }
  54.633 +.dir::before          { content: url(folder.png); }
  54.634 +.up::before           { content: url(go-up.png); }
  54.635 +.zip::before          { content: url(application-zip.png); }
  54.636 +.iso::before          { content: url(application-x-cd-image.png); }
  54.637 +.krn::before          { content: url(application-x-executable.png); }
  54.638 +.exe::before          { content: url(application-x-ms-dos-executable.png); }
  54.639 +.rme::before          { content: url(text-x-readme.png); }
  54.640 +.log::before          { content: url(text-x-changelog.png); }
  54.641 +.pkg::before          { content: url(package-x-generic.png); }
  54.642 +.server::before       { content: url(network-server.png); }
  54.643 +.locale::before       { content: url(preferences-desktop-locale.png); }
  54.644  
  54.645 -/* More space for touch links */
  54.646 +
  54.647 +
  54.648 +
  54.649 +/* Responsive rules */
  54.650 +
  54.651 +/* More space for touchscreen links */
  54.652  
  54.653  .touch td, .touch th {
  54.654  	padding: 6px;
  54.655 -	}
  54.656 -.touch #network a,
  54.657 -.touch nav a,
  54.658 -.touch #mirrors a,
  54.659 -.touch footer a {
  54.660 +}
  54.661 +.touch .network a, .touch nav a, .touch .mirrors a, .touch footer a {
  54.662  	display: inline-block;
  54.663  	padding: 6px;
  54.664 +}
  54.665 +
  54.666 +/* Full width for block_info and navigation */
  54.667 +
  54.668 +@media (max-width: 510px) {
  54.669 +	.block_info, nav {
  54.670 +		display: block;
  54.671 +		width: inherit;
  54.672 +		max-width: 100%;
  54.673  	}
  54.674 -
  54.675 -
  54.676 -/* Mimetype icons */
  54.677 -
  54.678 -td:nth-child(1)::before {
  54.679 -	display: inline-block;
  54.680 -	vertical-align: middle;
  54.681 -	padding-right: 3px;
  54.682 +	.block_info {
  54.683 +		padding: 6px;
  54.684  	}
  54.685 -.x-bzip::before { content: url(application-x-bzip.png); }
  54.686 -.x-gzip::before { content: url(application-x-gzip.png); }
  54.687 -.plain::before { content: url(text-plain.png); }
  54.688 -.x-bittorrent::before { content: url(application-x-bittorrent.png); }
  54.689 -.octet-stream::before { content: url(application-octet-stream.png); }
  54.690 -.jpeg::before { content: url(image-jpeg.png); }
  54.691 -.png::before { content: url(image-png.png); }
  54.692 -.javascript::before { content: url(text-x-javascript); }
  54.693 -.css::before { content: url(text-css.png); }
  54.694 -.dir::before { content: url(folder.png); }
  54.695 -.up::before { content: url(go-up.png); }
  54.696 -.zip::before { content: url(application-zip.png); }
  54.697 -.iso::before { content: url(application-x-cd-image.png); }
  54.698 -.krn::before { content: url(application-x-executable.png); }
  54.699 -.exe::before { content: url(application-x-ms-dos-executable.png); }
  54.700 -.rme::before { content: url(text-x-readme.png); }
  54.701 -.log::before { content: url(text-x-changelog.png); }
  54.702 -.pkg::before { content: url(package-x-generic.png); }
  54.703 -
  54.704 -
  54.705 -/* Lists */
  54.706 -
  54.707 -ul ul, ol ol, ul ol, ol ul { margin: 0; }
  54.708 -ul, ol, dd { padding: 0 0 0 21px; }
  54.709 +}
    55.1 --- a/mirror/root/static/slitaz.min.css	Sat Oct 10 14:22:49 2015 +0300
    55.2 +++ b/mirror/root/static/slitaz.min.css	Fri Oct 16 02:08:09 2015 +0300
    55.3 @@ -1,1 +1,1 @@
    55.4 -html{min-height:102%}body{height:100%;margin:0;box-sizing:border-box;color:#222;background:#fff;font:13px Ubuntu,"Droid Sans","DejaVu Sans",FreeSans,"Liberation Sans",sans-serif;-moz-hyphens:auto;-epub-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}code,pre,samp,kbd{color:#000;background-color:rgba(0,0,0,.05)}a{text-decoration:none;color:#215090}a:hover{text-decoration:underline}img{border:0 none;vertical-align:middle}h2{color:#444;font-size:26px;font-weight:300;margin:26px 0 13px;border-bottom:2px solid #999;letter-spacing:1px}h3{color:#666;font-size:19px;font-weight:300;margin:26px 0 0;line-height:1;letter-spacing:.5px}pre{background-color:#f8f8f8;border:1px solid #DDD;padding:10px;white-space:pre-wrap;overflow-x:auto;line-height:1}table{background-color:#f8f8f8;border:1px solid #DDD;width:100%;margin-bottom:20px;padding:6px}body>header{display:table;width:100%;vertical-align:middle;min-height:40px;background:#222}h1{display:table-cell;height:40px;vertical-align:middle;line-height:20px;white-space:nowrap}h1::before{display:inline-block;content:url(logo.png);vertical-align:middle}h1 a{color:#FFF;font-size:20px;font-style:italic}#network{display:table-cell;text-align:right;vertical-align:middle;font-size:12px}#network a{display:inline-block;padding:0 6px;vertical-align:middle}.home::before{content:url(home.png)}.br::before{content:url(BR.png)}.ch::before{content:url(CH.png)}.de::before{content:url(DE.png)}.fr::before{content:url(FR.png)}.it::before{content:url(IT.png)}.pl::before{content:url(PL.png)}.us::before{content:url(US.png)}#block{padding:30px 6px;background:#CCC}#block div{max-width:600px;margin:0 auto}#block_info{padding:6px 12px 0 0}#block_info input{width:100%}#block a,#network a{color:#FFF}#block header{font-weight:400;font-size:18px;line-height:18px}#block_info p{margin:7px 0;padding:0;text-align:justify}#block_info a{font-weight:400;color:#B51}nav{background:#666;color:#fff;padding:6px;width:40%}nav a{white-space:nowrap}nav header img{margin:0 4px 0 0;padding:0}nav,#block_info{display:table-cell}#lang{margin:0;text-align:right;padding:6px;font-size:11px}#lang a{padding:0 2px}#content{max-width:600px;margin:6px auto;padding:0 6px;text-align:justify;line-height:1.5rem}.news li{list-style-type:square;border-bottom:1px dotted #bebebe;margin-left:-25px;padding:4px 0}#twitter{margin:20px 0}#gallery{text-align:center}#sponsor{font-size:90%;background-color:#fbfbfb;border:2px solid #DDD;width:200px;height:160px;float:right;text-align:center;margin:10px 0 20px 20px}#mirrors{padding:10px;margin:10px 0 20px;text-align:center;background:#f1f1f1;border:1px solid #DDD}#mirrors a,#mirrors a::before{display:inline-block;padding:0 3px}#mirrors a::before{vertical-align:-4px}.right_box{width:48%;float:right}.left_box{width:48%;float:left}.box{margin:20px 60px;padding:12px;background:#efefef;border:1px solid #DDD}.searchbox{margin:20px 80px;padding:12px;background:#f8f8f8;text-align:center;border:1px solid #DDD}.activity{margin:0 0 20px;background:#efefef;padding:5px 2px 0;border:1px solid #DDD}.activity div{padding:5px 10px;background:#FFF;margin-top:5px}.activity p{margin:0;padding:5px 10px;font-weight:700}.activity ul{list-style-type:none;margin:4px 0;padding:0 4px;line-height:150%}.activity_more{text-align:right}.activity_more a{font-weight:400;color:#000;padding:0 4px}.activity span,.news span{color:#666;font-size:11px;font-weight:400}nav,pre,table,textarea,select,.box,.searchbox,.activity,.activity div,#twitter,#sponsor,#mirrors{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}body>footer{background:#f1f1f1;text-align:center;border-top:1px solid #DDD;padding:30px;color:#666;clear:both;margin-bottom:-2%}footer a+a{margin:0 6px}.year:after{content:"2015"}table{border-collapse:collapse;line-height:1}caption{caption-side:bottom;text-align:left;padding:6px 0}thead tr{background-color:#DDD}th{padding:4px 1px}th:nth-child(3),td:nth-child(3){text-align:right}td:nth-child(1){vertical-align:middle}tbody tr:nth-child(odd){background-color:#FFF}tbody tr:nth-child(even){background-color:#EEE}.touch td,.touch th{padding:6px}.touch #network a,.touch nav a,.touch #mirrors a,.touch footer a{display:inline-block;padding:6px}td:nth-child(1)::before{display:inline-block;vertical-align:middle;padding-right:3px}.x-bzip::before{content:url(application-x-bzip.png)}.x-gzip::before{content:url(application-x-gzip.png)}.plain::before{content:url(text-plain.png)}.x-bittorrent::before{content:url(application-x-bittorrent.png)}.octet-stream::before{content:url(application-octet-stream.png)}.jpeg::before{content:url(image-jpeg.png)}.png::before{content:url(image-png.png)}.javascript::before{content:url(text-x-javascript.png)}.css::before{content:url(text-css.png)}.dir::before{content:url(folder.png)}.up::before{content:url(go-up.png)}.zip::before{content:url(application-zip.png)}.iso::before{content:url(application-x-cd-image.png)}.krn::before{content:url(application-x-executable.png)}.exe::before{content:url(application-x-ms-dos-executable.png)}.rme::before{content:url(text-x-readme.png)}.log::before{content:url(text-x-changelog.png)}.pkg::before{content:url(package-x-generic.png)}ul ul,ol ol,ul ol,ol ul{margin:0}ul,ol,dd{padding:0 0 0 21px}
    55.5 +html{min-height:102%}body{height:100%;margin:0;box-sizing:border-box;color:#222;background:#FFF;font:13px Ubuntu,"Droid Sans","DejaVu Sans",FreeSans,"Liberation Sans",sans-serif;-moz-hyphens:auto;-epub-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}code,pre,samp,kbd{color:#000;background-color:rgba(0,0,0,.05)}a{text-decoration:none;color:#215090}a:hover{text-decoration:underline}img{border:0 none;vertical-align:middle}.large{overflow-x:auto}h2{color:#444;font-size:22px;font-weight:300;margin:18px auto 6px;border-bottom:1px solid #CCC}h3{color:#666;font-size:19px;font-weight:300;margin:12px auto 0;line-height:1}pre{background-color:#f8f8f8;border:1px solid #DDD;padding:10px;white-space:pre-wrap;overflow-x:auto;line-height:1}.hard{white-space:pre;resize:both}.scroll{max-height:40ex}body>header{display:block;background:#222;text-align:justify;line-height:0}h1{display:inline-block;margin:auto 0;line-height:20px;white-space:nowrap;vertical-align:middle}h1::before{display:inline-block;content:url(logo.png);vertical-align:middle}h1 a{color:#FFF;font-size:20px;font-style:italic}body>header::before,body>header::after,.block>div::before,.block>div::after{display:inline-block;width:100%;height:0;visibility:hidden;overflow:hidden;content:''}.network{display:inline-block;text-align:left;vertical-align:middle;font-size:12px;line-height:normal}.network a{display:inline-block;padding:0 6px;vertical-align:middle;color:#FFF}.home::before{content:url(home.png)}.block{padding:6px;background:#CCC;border-bottom:1px solid #AAA}.block>div{max-width:700px;margin:0 auto;text-align:justify;line-height:0}.block_info{padding:6px 12px 0 0;line-height:normal;width:60%}.block_info input{width:100%}.block header{font-weight:400;font-size:18px;line-height:18px}.block_info p{margin:7px 0;padding:0;text-align:justify}nav{background:#666;color:#FFF;padding:6px;line-height:normal}nav a{white-space:nowrap;color:#FFF}nav header img{margin:0 4px 0 0;padding:0}nav,.block_info{display:inline-block;vertical-align:top}.lang{margin:0;text-align:right;padding:6px;font-size:11px}.lang a{padding:0 2px}main{max-width:700px;margin:6px auto;padding:0 6px;text-align:justify;line-height:1.5rem}p,ul,ol,li,h2,h3,pre,table{max-width:700px}p,ul,ol,li,pre,table{margin:6px auto}p,ul,ol{display:block}ul,ol,dd{padding:0 2ex 0 4ex}ul ul,ol ol,ul ol,ol ul{margin:0}.br::before{content:url(BR.png)}.ch::before{content:url(CH.png)}.de::before{content:url(DE.png)}.fr::before{content:url(FR.png)}.it::before{content:url(IT.png)}.pl::before{content:url(PL.png)}.us::before{content:url(US.png)}.mirrors{padding:6px;text-align:center;background:#f1f1f1;border-bottom:1px solid #DDD}.mirrors a,.mirrors a::before{display:inline-block;padding:0 3px}.mirrors a::before{vertical-align:-4px}table{background-color:#f8f8f8;border:1px solid #DDD;width:100%;margin-bottom:20px;padding:6px;border-collapse:collapse;line-height:1}caption{caption-side:bottom;text-align:left;padding:6px 0}thead tr{background-color:#DDD}td{text-align:left}th{padding:4px 1px}tbody tr:nth-child(odd){background-color:#FFF}tbody tr:nth-child(even){background-color:#EEE}.list td:nth-child(1){vertical-align:middle}.list td:nth-child(1)::before{display:inline-block;vertical-align:middle;padding-right:3px}.list th:nth-child(3),.list td:nth-child(3){text-align:right}.news li{list-style-type:square;border-bottom:1px dotted #bebebe;margin-left:-25px;padding:4px 0}.twitter{margin:20px 0}.gallery{text-align:center}.sponsor{font-size:90%;background-color:#fbfbfb;border:2px solid #DDD;width:200px;height:160px;float:right;text-align:center;margin:10px 0 20px 20px}.right_box{width:48%;float:right}.left_box{width:48%;float:left}.box{margin:20px 60px;padding:12px;background:#efefef;border:1px solid #DDD}.searchbox{margin:20px 80px;padding:12px;background:#f8f8f8;text-align:center;border:1px solid #DDD}.activity{margin:0 0 20px;background:#efefef;padding:5px 2px 0;border:1px solid #DDD}.activity div{padding:5px 10px;background:#FFF;margin-top:5px}.activity p{margin:0;padding:5px 10px;font-weight:700}.activity ul{list-style-type:none;margin:4px 0;padding:0 4px;line-height:150%}.activity_more{text-align:right}.activity_more a{font-weight:400;color:#000;padding:0 4px}.activity span,.news span{color:#666;font-size:11px;font-weight:400}nav,pre,textarea,select,.box,.searchbox,.activity,.activity div,.twitter,.sponsor{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}body>footer{background:#f1f1f1;text-align:center;border-top:1px solid #DDD;padding:6px;color:#666;clear:both}body>footer div{margin:12px}.year:after{content:"2015"}.x-bzip::before{content:url(application-x-bzip.png)}.x-gzip::before{content:url(application-x-gzip.png)}.plain::before{content:url(text-plain.png)}.x-bittorrent::before{content:url(application-x-bittorrent.png)}.octet-stream::before{content:url(application-octet-stream.png)}.jpeg::before{content:url(image-jpeg.png)}.png::before{content:url(image-png.png)}.javascript::before{content:url(text-x-javascript.png)}.css::before{content:url(text-css.png)}.dir::before{content:url(folder.png)}.up::before{content:url(go-up.png)}.zip::before{content:url(application-zip.png)}.iso::before{content:url(application-x-cd-image.png)}.krn::before{content:url(application-x-executable.png)}.exe::before{content:url(application-x-ms-dos-executable.png)}.rme::before{content:url(text-x-readme.png)}.log::before{content:url(text-x-changelog.png)}.pkg::before{content:url(package-x-generic.png)}.server::before{content:url(network-server.png)}.locale::before{content:url(preferences-desktop-locale.png)}.touch td,.touch th{padding:6px}.touch .network a,.touch nav a,.touch .mirrors a,.touch footer a{display:inline-block;padding:6px}@media(max-width:510px){.block_info,nav{display:block;width:inherit;max-width:100%}.block_info{padding:6px}}