Blocage des Tweet, passez à Status.net

Image representing StatusNet as depicted in Cr...
Image via CrunchBase

Twitter a annoncé qu’il allait bloquer les messages spécifiques dans les pays dont la législation locale interdit tel ou tel propos. Pour justifier le bien fondé de son choix, le service de micro-bloggage propriétaire argue que en France par exemple les messages neo-nazis sont interdits. Certes, mais l’émoi est sensible dans les pays du printemps arabe où Twitter avait joué un rôle dans la diffusion d’information…

Une fois de plus on voit que le modèle propriétaire avec son corollaire la centralisation, ne permet pas de garantir la liberté de l’utilisateur. Seul l’informatique libre en utilisant des logiciels libres (pas seulement open-source) garantit à l’utilisateur la liberté d’executer, de modifier et de distribuer le logiciel modifié ou pas. Twitter n’est donc pas un service libre pour reprendre la terminologie consacrée de “Soffware As A Service”. Les gens doivent en prendre conscience.

Il existe heureusement comme quasiment toujours une alternative libre. Dans le cas du micro-bloggage, il existe même une alternative décentralisée qui pare au risque de censure. Il s’agit de Status.net. Tout le monde peut installer sur sa machine personnelle un serveur status.net et ainsi héberger son propre service de micro-bloggage. Plus besoin d’avoir un compte ici ou là, vous pouvez suivre et être suivi par n’importe quel utilisateurr de n’importe quel serveur status.net ! Si l’installation est trop compliquée pour vous, il est possible de se créer un compte sur le service identi.ca qui met en oeuvre status.net.

Vous avez le choix d’être libre !

La parade au filtrage d’internet

L’actualité récente avec les événements des les pays du Maghreb nous montre que les dictatures peuvent recourir au filtrage d’internet afin d’éviter que des informations ne sortent des frontières. Généralement en entend par filtrage le fait de ne pas avoir accès à certains sites comme en Chine où les contenus jugés non appropriés par le régime sont bloqués et donc rendus inaccessibles aux chinois. Avec l’avènement des réseaux sociaux, l’accès à un site extérieur sert également à diffuser de l’information. Ce mode de fonctionnement en multi-paire brouille la donne.

Ainsi en Tunisie ou en Égypte les blocage des sites de réseaux sociaux sont un moyen pour juguler l’expression populaire et l’information qui parvient de ces pays. Cela montre la faiblesse des réseaux sociaux centralisé car il suffit alors de bloquer un seul site pour réussir le blocage. Regardons les différentes options pour contrer ce filtrage qui rappelons le s’il le faut est en toute rigueur contraire au principe d’internet.

La mise en place d’un filtrage la plus simple est basée sur l’adresse DNS de tel ou tel service de réseau social. Ainsi en rentrant l’url du site, l’internaute ne peut accéder au site recherché. La parade est tout aussi simple que la mesure de filtrage. Soit on utilise un serveur DNS hors de la zone d’influence du pays liberticide, soit en utilise l’adresse IP du site et non pas son nom de domaine (exemples). La première solution est toutefois limité par le fait que le serveur DNS lui même peut être bloqué ce qui fera préférer la deuxième solution.

Une étape supplémentaire dans le filtrage est de bloquer l’adresse IP . Dans ce cas le salut passe par l’utilisation d’un proxy hors de la zone d’influence du pays liberticide. Néanmoins le proxy lui-même pourra être bloqué tout comme l’usage  du serveur DNS étranger vue au paragraphe précédent.

L’étape suivante pour réussir à contrer le filtrage quand à la fois les serveurs DNS locaux applique un filtre et que les serveur DNS étrangers sont bloqués, ainsi que les proxy étrangers, est de passer inaperçu. C’est alors que la force des réseaux sociaux ouverts et décentralisés prend toute sa valeur. En effet bloquer Twitter est simple et radical alors que bloquer Status.Net est tout simplement impossible car il faudrait recenser tous les serveur status.net du monde et comme tout le monde peut héberger un serveur Status.Net, cela reviendrait à appliquer non plus un filtre basé sur un liste noire mais sur un liste blanche.

Or peu de pays peuvent se permettre un internet filtré sur liste blanche car ce ne serait plus internet. Or l’usage d’internet est devenu “vital” pour l’économie et combien de régime peuvent recréer un internet local en restant isolé du reste de l’internet mondial ? A part la Chine sans doute aucun, il sera intéressant de voir combien de temps pourra durer le blocus d’internet en Égypte.

L’usage de solution décentralisée pour propager l’information est une moyen d’en permettre la libre circulation.

Protection de Status.net contre le spam

The logo of reCAPTCHA
Image via Wikipedia

GNUsocial semble être limité aujourd’hui à la fonction de microblog offerte par status.net sur lequel il est basé. Par défaut la configuration est très permissive et le serveur sera rapidement victime de spam. Pour se prémunir de ces actions il faut:

  1. activer le captcha lors de la création de compte
  2. utiliser le plugin Blacklist

Captcha
D’abord il faut aller sur le site //www.google.com/recaptcha pour obtenir des clés gratuitement. Puis aller dans le fichier config.php pour activer le plugin recaptcha:

addPlugin('recaptcha', array('private_key' => 'xxxxxx',
'public_key' => 'yyyyyy',
'display_errors' => true));

Pour tester, aller sur la page de création de compte. Si en face du champ captcha il n’y a pas d’image, vérifier que dans le fichier config.php le paramètre suivant:

// cette valeur doit être celle renseignée lors de la
// création du compte recaptcha
$config['site']['server'] = 'www.monserveur.com';

Blacklist
Ce plugin permet à l’administrateur d’interdire des nom d’utilisateur et des url de site dans les profiles. Les robots utilisent souvent des comptes de type newsXXXXX et les spammeurs tentent de saturer le site avec la même url (néfaste…).
Dans il fichier config.php

addPlugin('Blacklist');

GnuSocial un réseau social décentralisé

A Bold GNU Head
Image via Wikipedia

Les sites de réseaux sociaux ont un point commun immuable qui est la captivité des utilisateurs et de leurs contact. Que ce soit Facebook ou Viadeo ou bien LinkedIn toutes les informations que l’on y rentre ne peuvent en sortir . Ainsi les information de l’utilisateur même, son histoire et ses photos, la liste de ses contacts, sont autant de données qui ne sont pas récupérables si il quitte le réseau social. Par contre ces sites proposent moultes façon d’importer ces mêmes données, leur objectif étant bien d’avoir le plus d’utilisateurs dans un but mercantile.

Les alternatives réellement libres existent. GNU Social en est un exemple. Ce projet a pour but de créer un réseau social décentralisé. Ce billet montre l’installation de GNU Social sur une machine Ubuntu 10.10.

La meilleurs façon de l’installer est à partir des sources !

thierry@jesus:~/Programmes$git clone git://gitorious.org/+socialites/statusnet/gnu-social.git gnu-social

Ce qui donne à peu près cela:

Initialized empty Git repository in /home/thierry/Programmes/gnu-social/.git/
remote: Counting objects: 70490, done.
remote: Compressing objects: 100% (30699/30699), done.
remote: Total 70490 (delta 45531), reused 53396 (delta 32652)
Receiving objects: 100% (70490/70490), 85.50 MiB | 1.45 MiB/s, done.
Resolving deltas: 100% (45531/45531), done.

Rendons le répertoire gnu-social accessible depuis le web via apache. Pour cela créer le fichier /etc/apache/2/conf.d/gnu-social

Alias /gnu-social /home/thierry/Programmes/gnu-social

Maintenant il faut donner au processus apache les droits sur le répertoire gnu-social. Pour cela il faut changer le groupe sur certains répertoires en prenant le groupe www-data et en donnant le droit d’écriture à ce groupe.

chown thierry:www-data gnu-social
chmod 775 gnu-social
chown thierry:www-data avatar
chmod 775 avatar
chown thierry:www-data background
chmod 775 background/
chown thierry:www-data file
chmod 775 file

Pointer un navigateur sur //localhost/gnu-social et cliquez sur le lien d’installation.

Vérifier que le contenu du  fichier gnu-social/config.php,  notement au niveau de l’url vers la base de données (dans mon cas le nom de la base était mysqli au lieu de mysql) et du nom choisi pour le site (ne pas utiliser de caractères spéciaux comme la quote)

En cas de modification du fichier config.php, il faut redemarrer apache

sudo /etc/init.d/apache2 restart