Planet Libre
#Gnu/Linux, Planet Libre
Tests de débits de quelques solutions anonymisantes.
Je suis tombé recemment sur l'article de Clubic traitant des clés pour préserver son anonymat sur Internet: l'article en question
Je connaissait déjà ses différentes techniques, mais j'ai eut envie de faire quelques test de débits afin de connaitre ce que nous apportait vraiment ces solutions.
Je le répète, je ne traite pas ici des aspects sécurités, anonymats etc... seulement des débits réseaux.
J'ai voulu comparer les offres suivantes:
- Proxy anonymes fourni par le site hide my ass (ip:port)
- TOR
- JAP/Jondo
Il est bien évident que les résultats seront différents selon la connexion de l'utilisateur et le réseau qui sépare ce client du fournisseur
Cela donne une idée générale.
Plateforme Materielle :
Comme d'habitude, j'ai monté mon prototype sur ma plateforme de virtualisation:
- HP® Proliant DL120
- CPU: 1x Intel® Xeon® E3-1220
- RAM: 16 Go DDR3 ECC
- HDD: 2 x 2 To SATA2 Raid 0 / Raid 1 HARD (P410)
- LAN: 1 Gbit/sec
Plateforme logicielle hyperviseur:
- Dom0 Ubuntu 12.04 X86_64 Xen 4.1
- Windows 2003 Server R2SP2 DATACENTER EDITION + driver VMDP
- 2 vcpus
- 512 Mo de Ram
- HDD 16GB
Protocole de test:
Mon protocole est assez simple.
- Download d'une distri linux sur http://ftp.free.fr/
- Mesure du temps d'affichage d'une page Web avec le site Webwait
Pour faire une moyenne de débit, j'utilise Dumeter en mode chrono qui permet de faire des stats assez précises.
Pour être transparent, j'ai fait un screenshot du résultat.
Connexion internet:
Une fois n'est pas coutume, j'ai fait mon test sur une machine virtuelle Windows 2003 serveur sur une Dedibox.
Autrement dit mon débit était excellent...
Même les tests web n'arrive pas à saturer la connexion de la dedibox...
La connexion relativement performante me permet de faire des tests dans de bonnes conditions.
Nous allons prendre comme référence le FTP de free attaqué en http.
Voici les débits bruts que je relève en direct:
Un taux de transfert moyen à 269Mbits/s
Pour la mesure de la vitesse de chargement du site j'ai pris comme référence le blog de notre Korben national.
Désolé Monsieur korben pour les quelques tests, qui n''ont pas du faire peur à cloudflare :)
La mesure brute sur la VM sans aucun outils anonymisant:
Average Load time 1.98s
Proxys présentés par Hide my ass
Hide my ass me présente plusieurs proxys:
Je choisi les plus rapides dans les options de recherches.
Je commence par 2 proxy Français:
- Download d'une distri linux sur http://ftp.free.fr/
Débit download moyen de 74Mbits/s
Serveur FR2
Débit download moyen de 59Mbits/s
Average Load time 7.47s
Tester un serveur en France pour l'anonymat cela n'a pas trop de sens, j'ai aussi testé un proxy au Pays Bas
Débit download moyen de 4Mbits/s
Average Load time 5.07s
TOR
J'ai utilisé pour mes tests la version de portable de TOR:
Une fois installé et connectés j'obtiens les résultats suivant;
J'ai fait 2 essais
- ESSAI 1 TOR
Je me retrouve en Suède à priori.
Débit download moyen de 2.47Mbits/s
Average Load time 22.80s
- ESSAI 2 TOR
Débit download moyen de 1.14Mbits/s
Average Load time 29.10s
JAP/Jondo
J'ai voulu aussi tester cette offre qui est certes payantes, mais offre un galop d'essai...
Pour le coup avec Jap on se retrouve en Ireland
Débit download moyen de 3.13Mbits/s
Average Load time 4.65s
Résumé des mesures:
Perf brutes | Proxys
(pays bas) |
|||
Download |
269Mb/s | 4Mb/s |
1.8Mb/s |
3.13Mb/s |
WebWait |
1.98s | 5.07s |
25.95s |
4.65s |
Le moins qu'on puisse dire c'est que les performances sont bien moindre en passant par une solution anonymisante.
En particulier TOR
Ceci dit ce n'est pas franchement ce qu'on recherche dans ce genre de solutions.
Si on cherche de la sécurité je pense que TOR est la meilleure solution, mais cela nous coutera bien sur les performances...
Si on cherche juste un petit proxy pour se dépanners les proxys présentés par Hide my ass font leur boulot.
Au vut des résultats on peut même utiliser les proxy FR qui sont assez rapides, histoire juste de brouiller un peu les pistes :)
PS: J'aurais aussi voulu tester Freedom-IP mais je n'ai jamais réussi à faire valider mon inscription..
Ce service propose des VPN gratuits, en remplissant simplement un questionnaire.
Le seul Hic c'est qu'ils refuses quasi systématiquement...
Je ne pense pas être un pirate, mes intentions sont louables et j'écris relativement français.. mais au bout de 3 tentatives d'inscriptions j'ai abandonné...
C'est à se demander, si ce n'est pas un bot qui refuse les inscriptions en bloc...
14 août 2012
2 commentaires
#Gnu/Linux, Planet Libre
Installer une galerie photo avec affichage des photos en temps réèl
J'ai eut besoin récemment de prendre des photos d'un evènements.
Certains de mes amis voulaient pouvoir consulter les photos rapidement.
Je me suis dit que cela pourrait être amusant de mette à disposition une galerie photo sur le web qui afficherait les photos quasi intanément.
Plateforme Materielle :
Comme d'habitude, j'ai monté mon prototype sur ma plateforme de virtualisation:
- HP® Proliant DL120
- CPU: 1x Intel® Xeon® E3-1220
- RAM: 16 Go DDR3 ECC
- HDD: 2 x 2 To SATA2 Raid 0 / Raid 1 HARD (P410)
- LAN: 1 Gbit/sec
Plateforme logicielle hyperviseur:
- Dom0 Opensuse 12.1 X86_64 Xen 4.1
- DomU Xen Ubuntu 10.04 X86_64 Paravirtualisé
- 2 vcpus
- 512 Mo de Ram
- HDD 16GB
C'est parti
Je me suis gratté la tête un moment.
De quoi j'ai besoin ?
J'ai besoin d'une galerie photo simple, même un script suffirait
D'un appareil photo, relié au web donc un téléhone mobile
Comment relier les 2 ensemble; j'ai tout de suite penser à l'instant upload que propose tous les grans acteurs du cloud ( dropbox, gdrive, hubic etc..)
Je ne voulais pas utiliser ces services, je voulais héberger mes propres données sur mes propres serveurs.
J'ai donc pensé à owncloud qui dispose désormais d'un très bon client sous Android et qui fournie la fameuse option qui m'interesse: L'instant Upload !!
Je récapitule mes bessoins:
- Une galerie Web
- Owncloud
- Un mobile: Mon Samsung Galaxy S2
Tout d'abord pour l'installation d'owncloud je vous renvoi aux différents billets que j'ai put écrire:
http://blog.info16.fr/index.php?article41/remplacer-dropbox-par-une-alternative-libre-owncloud/
http://blog.info16.fr/index.php?article48/owncloud-clients-de-synchronisation
On part du principe que owncloud est installé sur votre serveur et que le client Owncloud est installé sur votre Android
Une fois le client android paramétré et installé j'active l'instant upload sur celui ci
On peut voir très vite que les clichés pris avec le mobile sotn bien envoyés directment sur Owncloud dans le dossier InstantUpload
Sur mon install les photos prises par mon Mobile sont stockées dans: /var/www/owncloud/data/bartounet/files/InstantUpload/
root@ubuntults:/# root@ubuntults:/# ll /var/www/owncloud/data/bartounet/files/InstantUpload/
total 43468
drwxr-xr-x 2 www-data www-data 4096 2012-08-08 13:13 ./
drwxr-xr-x 8 www-data www-data 4096 2012-08-08 09:41 ../
-rw-r--r-- 1 www-data www-data 2815291 2012-08-08 09:41 20120808_094121.jpg
-rw-r--r-- 1 www-data www-data 3012655 2012-08-08 10:46 20120808_104554.jpg
-rw-r--r-- 1 www-data www-data 3303283 2012-08-08 10:47 20120808_104615.jpg
-rw-r--r-- 1 www-data www-data 2204189 2012-08-08 10:50 20120808_105008.jpg
-rw-r--r-- 1 www-data www-data 2625123 2012-08-08 10:51 20120808_105122.jpg
-rw-r--r-- 1 www-data www-data 2635097 2012-08-08 10:52 20120808_105144.jpg
-rw-r--r-- 1 www-data www-data 2906027 2012-08-08 10:55 20120808_105445.jpg
-rw-r--r-- 1 www-data www-data 2391864 2012-08-08 10:59 20120808_105922.jpg
-rw-r--r-- 1 www-data www-data 2207213 2012-08-08 11:07 20120808_110724.jpg
-rw-r--r-- 1 www-data www-data 2814811 2012-08-08 12:18 20120808_121745.jpg
-rw-r--r-- 1 www-data www-data 2878956 2012-08-08 12:20 20120808_122005.jpg
-rw-r--r-- 1 www-data www-data 3659326 2012-08-08 12:22 20120808_122126.jpg
-rw-r--r-- 1 www-data www-data 2483827 2012-08-08 12:23 20120808_122311.jpg
-rw-r--r-- 1 www-data www-data 3246023 2012-08-08 12:34 20120808_123405.jpg
-rw-r--r-- 1 www-data www-data 2683656 2012-08-08 12:37 20120808_123717.jpg
-rw-r--r-- 1 www-data www-data 232254 2012-08-08 12:40 20120808_124019.jpg
[...]
Mes clichés sont sur mon serveur Owncloud.
Le challenge maintenant est d'alimenter une galerie avec ces clichés.
Pour le choix de la galerie j'ai opté pour la simplicité:
J'ai choisi une galerie ultra simple : AD Gallery
Vous trouverez les sources ici: http://adgallery.codeplex.com/releases/view/87584
La manip est réalisable avec n'importe quel type de galerie simple ( j'ai voulut eviter les grosse berta comme zenphoto etc..)
Je vais pas m'embeter je vais utiliser le exemple.html inclus dans la galerie.
l'arborescence de la galerie:
C'est simple le dossier exemple contient un dossier images qui contients les photos.
Et dans le dossiers images/thumbs on a bien sur les miniatures.
Le tout est affiché grace à fichier example.html
Dans mon exemple ma galerie est installée dans : /var/www/ftpl/GALLERY
root@ubuntults:/var/www/ftpl/GALLERY# ll
total 24
drwxrwxr-x 4 root root 4096 2012-08-08 14:16 ./
drwxr-xr-x 8 www-data www-data 12288 2012-08-08 10:02 ../
drwxrwxr-x 3 root root 4096 2012-08-08 13:14 example/
drwxrwxr-x 2 root root 4096 2012-08-08 10:03 lib/
root@ubuntults:/var/www/ftpl/GALLERY# ll example/
total 32
drwxrwxr-x 3 root root 4096 2012-08-08 13:14 ./
drwxrwxr-x 4 root root 4096 2012-08-08 14:16 ../
-rw-rw-r-- 1 root root 3896 2012-08-08 13:14 example.html
-rw-r--r-- 1 root root 8517 2012-08-08 12:42 example.html.bak
drwxrwxr-x 3 root root 4096 2012-08-08 13:14 images/
-rw-r--r-- 1 root root 20 2012-08-08 10:59 new
root@ubuntults:/var/www/ftpl/GALLERY# ll example/images/
total 11564
drwxrwxr-x 3 root root 4096 2012-08-08 13:14 ./
drwxrwxr-x 3 root root 4096 2012-08-08 13:14 ../
-rw-r--r-- 1 root root 59412 2012-08-08 12:49 20120808_124938.jpg
-rw-r--r-- 1 root root 58153 2012-08-08 13:00 20120808_130004.jpg
drwxrwxr-x 2 root root 4096 2012-08-08 13:14 thumbs/
root@ubuntults:/var/www/ftpl/GALLERY# ll example/images/thumbs/
total 1324
drwxrwxr-x 2 root root 4096 2012-08-08 13:14 ./
drwxrwxr-x 3 root root 4096 2012-08-08 13:14 ../
-rw-r--r-- 1 root root 59412 2012-08-08 12:49 mini_20120808_124938.jpg
-rw-r--r-- 1 root root 58153 2012-08-08 13:00 mini_20120808_130004.jpg
[...]
Le but est de copier les photos de owncloud dans le dossier example/images et de générer une miniature dans example/images/thumbs
Et pour finir ajouter la ligne qui va bien dans le fichier example.html.
En gros je dois:
- scruter si des fichiers sont copiés dans /var/www/owncloud/data/bartounet/files/InstantUpload/
- Copier les photos dans /var/www/ftpl/GALLERY/example/images
- Générer une miniature dans /var/www/ftpl/GALLERY/example/images/thumbs
- Ajouter une ligne dans example.html pour pointer sur la photo.
Je vous renvoi sur cet excellent tuto pour l'installation et l'utilisation de incron: http://www.admin-linux.fr/?p=4840
Pour commencer je fais un petit script bash qui sera appelé par Incron à chaque ajout de fichier dans le dossier /var/www/owncloud/data/bartounet/files/InstantUpload/
Mon script: /root/livegalery
#!/bin/bash
#Temps de sécurité pour upload photos plus ou moins long selon la connectivité ne pas hesiter à mettre plus long pour etre sur de ne pas avoir de photos tronquées...
sleep 10
#Copie de la photo dans la galerie
cp $1 /var/www/ftpl/GALLERY/example/images/
#creation du thumbnail
file=$(echo $1 |awk -F"/" '{print $NF}')
echo $file
/usr/bin/convert -resize 90 $1 /var/www/ftpl/GALLERY/example/images/thumbs/mini_$file
#Ajout du code html dans le fichier index pour ajouter la photo
sed -i "122i\<li> <a href="images/$file"> <img src="images/thumbs/mini_$file" class="image0"> </a> </li>\n" /var/www/ftpl/GALLERY/example/example.html
- On attend un certain temps pour etre sur que la photo soit bien uploadé en entier. ( c'est le point faible du script, il faudrait trouver un moyen d'etre sur..)
- On copie la photo; le $1 sera une variable générée par Incron qui n'est autre que le nom du fichier
- On convertie la photo en miniature et on l'envoie dans le dossier thums en mettant mini_ devant :)
- On ajoute la ligne qui va bien dans le fichier html au dessus de
la ligne 122
en ce qui concerne le Incron rien de plus simple:
rroot@ubuntults:/var/www/ftpl/GALLERY# incrontab -l
/var/www/owncloud/data/bartounet/files/InstantUpload/ IN_CREATE /root/livegalery $@$#
- $@ : chemin complet du fichier/répertoire surveillé ;
- $# : nom du fichier/répertoire sur lequel l’événement est intervenu ;
- $% : nom (textuel) de l’événement intervenu ;
- $& : numéro de l’événement intervenu.
- $$ : le caractère dollar (“$”) ;
Mon fichier example.html ressemble à ca:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="../lib/jquery.ad-gallery.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="../lib/jquery.ad-gallery.js"></script>
<script type="text/javascript">
$(function() {
$('img.image1').data('ad-desc', 'Whoa! This description is set through elm.data("ad-desc") instead of using the longdesc attribute.<br>And it contains <strong>H</strong>ow <strong>T</strong>o <strong>M</strong>eet <strong>L</strong>adies... <em>What?</em> That aint what HTML stands for? Man...');
$('img.image1').data('ad-title', 'Title through $.data');
$('img.image4').data('ad-desc', 'This image is wider than the wrapper, so it has been scaled down');
$('img.image5').data('ad-desc', 'This image is higher than the wrapper, so it has been scaled down');
var galeries = $('.ad-gallery').adGallery();
$('#switch-effect').change(
function() {
galeries[0].settings.effect = $(this).val();
return false;
}
);
$('#toggle-slideshow').click(
function() {
galeries[0].slideshow.toggle();
return false;
}
);
$('#toggle-description').click(
function() {
if(!galeries[0].settings.description_wrapper) {
galeries[0].settings.description_wrapper = $('#descriptions');
} else {
galeries[0].settings.description_wrapper = false;
}
return false;
}
);
});
</script>
<style type="text/css">
* {
font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Arial, sans-serif;
color: #333;
line-height: 140%;
}
select, input, textarea {
font-size: 1em;
}
body {
padding: 30px;
font-size: 70%;
width: 800px;
}
h2 {
margin-top: 1.2em;
margin-bottom: 0;
padding: 0;
border-bottom: 1px dotted #dedede;
}
h3 {
margin-top: 1.2em;
margin-bottom: 0;
padding: 0;
}
.example {
border: 1px solid #CCC;
background: #f2f2f2;
padding: 10px;
}
ul {
list-style-image:url(list-style.gif);
}
pre {
font-family: "Lucida Console", "Courier New", Verdana;
border: 1px solid #CCC;
background: #f2f2f2;
padding: 10px;
}
code {
font-family: "Lucida Console", "Courier New", Verdana;
margin: 0;
padding: 0;
}
#gallery {
padding: 30px;
background: #e1eef5;
}
#descriptions {
position: relative;
height: 50px;
background: #EEE;
margin-top: 10px;
width: 640px;
padding: 10px;
overflow: hidden;
}
#descriptions .ad-image-description {
position: absolute;
}
#descriptions .ad-image-description .ad-description-title {
display: block;
}
</style>
<title>galerie en Live.</title>
</head>
<body>
<div id="container">
<h1>galerie en Live.</h1>
<p>galerie en Live.</p>
<div id="gallery" class="ad-gallery">
<div class="ad-image-wrapper">
</div>
<div class="ad-controls">
</div>
<div class="ad-nav">
<div class="ad-thumbs">
<ul class="ad-thumb-list">
</ul>
<li> <a href=images/20120808_144807.jpg> <img src=images/thumbs/mini_20120808_144807.jpg class=image0> </a> </li>
<li> <a href=images/20120808_144719.jpg> <img src=images/thumbs/mini_20120808_144719.jpg class=image0> </a> </li>
</div>
</div>
</div>
<div id="descriptions">
</div>
</div>
</body>
</html>
[...]
Voilà je prend la photo avec mon GS2, elle est uploadé sur Owncloud et Incron fait le reste...
En image:
Et la fameuse Galerie 10 secondes plus tard ( ne pas hésiter à mettre plus de temps dans le script ( Pour le test je suis en wifi et mes photos sont en 640*480 pour accelerer le traitement)
C'est ma foi assez pratique d'envoyer en direct les photos sur une galerie pour que d'autres puissent les consulter rapidement.
La c'est l'idéal car je faisait mes test en Wifi. A l'extérieur, mieux vaut avoir la 3G.. et prendre des photos à résolution assez faible.
Rappel:
- GPRS (General Packet Radio
Service) : Un débit pratique de 40 kbits/s pour un débit
théorique de 171kbits/s.
Il utilise les réseaux de téléphonie mobile classiques. C’est le réseau accessible partout, même dans les régions peu couvertes. - EDGE (Enhanced Data Rates
for GSM) : Un débit pratique de 100 kbits/s pour un débit
théorique de 384 kbits/s.
Accessible d’un peu partout, la navigation sur internet commence à être possible relativement facilement. - UMTS (Universal Mobile Telecommunications System ) ou 3G (Technologie de téléphonie mobile 3° Génération): Avec un débit théorique de 2 Mbits/s , ce réseau a nécessité que les opérateurs en construisent de nouveaux adaptés à cette technologie.
- HDSPA (High Speed Downlink Packet Access) ou 3G+ : Un débit pratique qui plafonne à 7,2 Mbits/s en se connectant avec une clé usb 3G. Le débit maxi théorique est de 14 Mbits/s.
Pour info si on prend une photo de 2Mo on va la transférer en moyenne en:
- 7 minutes en GPRS
- 3 minutes en EDGE
- 8 secondes en 3G
- 2 secondes en 3G+
08 août 2012
2 commentaires