30 06 | 2011

Un nouveau générateur de métainfo BitTorrent

Written by Tanguy

Classified in : Homepage, Auto-hébergement, Debian-FR, Libre, April

Essai de la DHT BitTorrent

Il y a un mois, constatant qu'il manquait un bon logiciel traqueur BitTorrent (bon signifiant « remplissant mes critères arbitraires »), j'envisageai d'écrire un nouveau traqueur. Quelqu'un me fit alors remarquer que je pouvais essayer d'utiliser la table de hachage dynamique ou DHT, une extension BitTorrent qui permet de se passer d'un traqueur, en se reposant sur l'ensemble des clients BitTorrent pour effectuer le travail de traque.

De fait, la DHT pourrait bien être une solution élégante à ce problème, parce qu'elle présente plusieurs avantages :

  • elle repose sur les clients BitTorrent eux-mêmes, qui sont bien plus répandus que les traqueurs, et par conséquent plus développés ;
  • cette fonctionnalité semble être assez bien adoptée par les logiciels clients BitTorrent usuels ;
  • elle existe déjà et semble fonctionner plutôt bien !

J'étais donc parti pour essayer la distribution de torrents sans traqueur en utilisant la DHT. Mais avec BitTorrent, la distribution d'un fichier est amorcée en utilisant des fichiers métainfo, communément appelés « fichiers torrent » ou simplement « torrents » : j'avais donc besoin d'un outil pour générer des fichiers métainfo sans traqueur.

Écriture d'un nouveau générateur de métainfo

Je n'ai pas trouvé de tel outil. Les générateurs que j'ai trouvé n'implémentent pas cette extension et sont codés en C de façon assez complexe, ce dans quoi je ne souhaitais vraiment pas me lancer afin de les compléter. Voici donc gentorrent, un générateur de métainfo BitTorrent écrit en Python 3 et distribué sous licence AGPLv3, ce qui s'est avéré plutôt simple.

Je pense qu'il est assez rapide : il lui faut environ dix secondes pour calculer la métainfo pour un fichier d'un gibioctet. Il implémente toutes les extensions BitTorrent relatives aux fichiers métainfo, comme les torrents sans traqueur, la mise à disposition par HTTP/FTP ou les arbres de Merkle. N'hésitez pas à l'essayer et à m'envoyer des remarques, des critiques ou des suggestion de noms plus sympa.

Maintenant que j'ai un outil pour générer des torrents sans traqueur, je vais essayer la DHT de façon plus extensive et documenter cette façon de publier des fichiers. Si vous êtes intéressé par ce sujet, par exemple si vous maintenez un système de distribution basé sur l'antique BitTornado, restez en ligne.

19 06 | 2011

Une carte touristique libre

Written by Tanguy

Classified in : Homepage, Divers, Debian-FR, Libre, April, Pirate-FR, À retenir

Logo OpenStreetMap : une carte dépliée avec une loupe montrant des 0 et des 1

Cartographie de Bréhat

Cela fait quelques années que je participe un peu au projet OpenStreetMap. En particulier, j'ai affiné la cartographie de l'île de Bréhat que je connais assez bien. C'est une petite île de Bretagne nord, qui a la particularité d'interdire la circulation automobile : on s'y déplace exclusivement à vélo, à pied, et en tracteur pour les artisans et agriculteurs. Cette caractéristique explique probablement le peu d'intérêt que présente Bréhat pour des éditeurs de cartes informatiques ; en tout cas, OpenStreetMap peut maintenant se targuer d'être la carte la plus précise qui existe pour cette île.

Concrètement, la cartographie de l'île a été effectuée à partir de l'orthophotographie littorale 2000 et du plan cadastral : merci aux Ministères de l'Écologie et du Budget pour cette coopération !

Read more Une carte touristique libre

13 06 | 2011

iptables-restore

Written by Tanguy

Classified in : Homepage, Auto-hébergement, Debian-FR, Libre, April, À retenir

Logo Netfilter (netfilter: firewalling, NAT and packet mangling for Linux)

Utilisation classique d'iptables

iptables(8)/ip6tables(8) est le principal outil de gestion du pare-feu Netfilter de Linux : c'est une commande qui permet en fait de configurer ce pare-feu en modifiant sa liste de règles. Il est le plus souvent utilisé dans des scripts shell qui effectuent une longue succession d'appels pour définir chaque règle :

# Supprimer les règles existantes
ip6tables -f

ip6tables -P INPUT DROP
ip6tables -P OUTPUT ACCEPT

ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT

ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

ip6tables -A INPUT -p tcp --dport ssh -j ACCEPT
ip6tables -A INPUT -p tcp --dports smtp -j ACCEPT
[…]

Cette approche souffre de plusieurs défauts :

  • en appelant de multiple fois la commande ip(6)tables, elle effectue beaucoup de lectures et d'écritures inutiles dans la table de règles de Netfilter ;
  • si une erreur se produit pendant l'exécution du script, le pare-feu se retrouve dans une configuration à moitié appliquée.

Read more iptables-restore

22 05 | 2011

Sonar, un écran de veille qui pingue

Written by Tanguy

Classified in : Homepage, Divers, Auto-hébergement, Debian-FR, Libre, April

Sonar

Parmi les nombreux écrans de veille fournis avec XScreenSaver, sonar(6) affiche en 3D une simulation d'écran de sonar au phosphore. Par défaut, il affiche les positions de quatre MIG et quatre F18. Comme tous les écrans de veille XScreenSaver, il peut être lancé :

  • en tant qu'écran de veille ;
  • à la main dans une fenêtre : /usr/lib/xscreensaver/sonar ;
  • à la main sur le bureau, pour impressionner la galerie : /usr/lib/xscreensaver/sonar -root.

Read more Sonar, un écran de veille qui pingue

18 05 | 2011

Nouvelle version du paquet Debian DokuWiki

Written by Tanguy

Classified in : Homepage, Debian-FR, Libre, April

Grand logo DokuWiki

Je viens de publier une nouvelle version du paquet Debian pour DokuWiki, un moteur de wiki qui utilise une syntaxe assez mnémotechnique, et qui stocke les pages sur de simples fichiers texte plutôt que dans une base de données. Cette version apporte donc enfin une fonctionnalité longtemps attendue : le service de sites multiples, également appelé « élevage » dans le vocabulaire de la communauté DokuWiki.

Étant donné qu'il s'agit d'un changement assez important qui pourrait introduire des problèmes imprévus, j'ai envoyé ce paquet dans la suite experimental de Debian. Il ne sera donc pas installé automatiquement pour les utilisateurs de Debian, même ceux qui suivent la version testing ou unstable.

DokuWiki n'ayant que quelques dépendances faciles à satisfaire, ce paquet expérimental devrait être installable sur n'importe quelle version de Debian, y compris stable et oldstable.

Si vous souhaitez l'installer, vous pouvez au choix :

  • télécharger le paquet manuellement, l'installer, puis installer les dépendances :
    # wget http://ftp.us.debian.org/debian/pool/main/d/dokuwiki/dokuwiki_0.0.20101107a-4_all.deb
    # dpkg -i dokuwiki_0.0.20101107a-4_all.deb
    # apt-get -f install
  • ajouter la suite experimental à votre liste de miroirs, puis l'installer :
    # echo "deb http://ftp.debian.org/debian experimental main" >> /etc/apt/sources.list
    # apt-get update
    # apt-get install dokuwiki/experimental

J'apprécierais maintenant tout rapport sur l'installation, la mise à jour et l'utilisation en site simple ou multiple de cette nouvelle version, afin de pouvoir corriger les problèmes éventuels, pour finalement pouvoir l'envoyer dans Debian unstable.

Rss feed of the category

«previous page 7 of 8 next

Archives