Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Ceci est une ancienne révision du document !


Raspberry Pi : un serveur BitTorrent économique

http://blog.snapdragon.cc/raspberry-pi-as-bittorrent-server/

Samba est supposé installé, de même que transmission-daemon et avahi-daemon

Voici un script de configuration simple pour transformer le Raspberry Pi en une machine de téléchargement économique. Il suffit d'un routeur d'accès Internet et d'un Raspberry Pi avec carte SD installée.

Se connecter sur le Raspberry Pi :

  • ssh framboise

Utilisation d'un disque dur

Ouvrir avec les droits d'administration le fichier /etc/fstab pour ajouter la ligne suivante :

/media/Reservoirs/media	/srv/media	none	bind	0	0

Ainsi, le répertoire /srv/media est reporté sur le disque dur /media/Reservoirs.

Adaptation de samba

Ouvrir avec les droits d'administration le fichier /etc/samba/smb.conf pour ajouter ces lignes à la fin :

/etc/samba/smb.conf
[public]
    comment = Public Shares
    browsable = yes
    path = /srv/media
    public = yes
    writable = yes
    guest ok = yes

Redémarrer samba par :

  • sudo service samba restart

Fichier de script

Installer transmission-daemon, une version qui tourne sans interface graphique en tant que service, en lançant :

  • sudo apt-get install -y transmission-daemon

Créer sur le disque dur les deux dossier que va utiliser transmission :

  • un dossier pending pour stocker les fichiers en cours de téléchargement
  • et un dossier downloaded pour stocker les fichiers terminés

Pour cela,

  1. nommer le disque :
    export DISQUE="/media/Reservoirs"
  2. bâtir les répertoires :
    sudo mkdir -p $DISQUE/bittorrent/{downloaded,pending} && export DISQUE=

Placer dans le groupe debian-transmission l’utilisateur pi et les deux dossiers précédemment créés, et leur donner les droits 770 :

  • sudo usermod -a -G debian-transmission pi
    chgrp debian-transmission $DISQUE/bittorrent/{downloaded,pending}
    chmod -R 770 $DISQUE/bittorrent{downloaded,pending}

Ouvrir avec les droits d'administration le fichier /etc/transmission-daemon/settings.json pour modifier les lignes suivantes :

paramètrevaleur
“rpc-authentication-required”false
“rpc-whitelist-enabled”false
“download-dir”“/media/disque2To/downloaded”
“incomplete-dir”“/media/disque2To/pending”
“incomplete-dir-enabled”true

Relancer le service :

  • sudo service transmission-daemon reload

La Seedbox est prête.

Pour télécharger des fichiers via des fichiers torrents, se vous connecter via un navigateur à la seedbox à l’adresse : http://ip.du.raspberry.pi:9091

  • ip.du.raspberry.pi : L’ip réseau du Raspberry Pi (ou son ip WEb)
  • 9091: port par défaut de transmission

Et on atterrit sur le client torrent.

Les fichiers téléchargés apparaîtront dans le dossier downloaded du disque dur, lui même disponible en partage sur le réseau local.

Créer le fichier setup.sh suivant :

setup.sh
#!/usr/bin/env bash

# Installs all components needed for a nice seedbox on your new raspberry pi.
# Base image: http://www.linuxsystems.it/2012/06/debian-wheezy-raspberry-pi-minimal-image/
# Prepared by manu (at) snapdragon.cc

echo "[+] Configuration de Transmission"
service transmission-daemon stop
sed -i -re 's/(rpc-authentication-required\":\ )([a-z]+)*/\1false/g' /etc/transmission-daemon/settings.json
sed -i -re 's/(rpc-whitelist-enabled\":\ )([a-z]+)*/\1false/g' /etc/transmission-daemon/settings.json
sed -i -re 's/(download-dir\":\ )([a-z]+)*(.*)/\1\"\/srv\/media\",/g' /etc/transmission-daemon/settings.json
service transmission-daemon start
chown debian-transmission /srv/media

Exécution du script

Exécuter le script en tapant :

  • sudo sh setup.sh

Le script met à jour le gestionnaire de paquets, installe les applications et dépendances et fait les réglages nécessaires.

Utilisation

Si tout va bien, l'interface web de transmission est accessible à l'URL suivante: http://framboise:9091 ou http://192.168.0.100:9091. 1)

blog.snapdragon.cc_wp-content_blogs.dir_13_2012_06_screen-shot-2012-06-28-at-19.17.06-300x160.jpg

Sur l'interace Web de transmission, on peut ajouter et gérer le téléchargement de torrents.

Pour accéder aux téléchargements, on peut monter un disque via CIFS/SMB.

blog.snapdragon.cc_wp-content_blogs.dir_13_2012_06_screen-shot-2012-06-28-at-19.26.03-300x171.jpg

Si tout s'est bien passé, on a maintenant un serveur BitTorrent. Si quelque chose ne fonctionne pas, recommencer avec une nouvelle image et faire une par une les étapes décrites dans le script d'installation.

Si les téléchargements fonctionnent bien mais qu'on ne peut pas y accéder, ajuster les autorisations par un :

  • chmod -R 777 /srv/media.

<note important>Il ne faut utiliser cette configuration que dans un réseau de confiance car tous les mécanismes de sécurité de l'authentification des utilisateurs sont désactivés. Pour accéder au serveur torrent depuis l'Internet public, il faut un proxy via un serveur web approprié, activer l'authentification HTTPS avec mot de passe.</note>

Puisque ce système fonctionne sur une image Debian standard, on peut ajouter toutes sortes de fonctionnalités intéressantes comme :

  • ajouter des torrents automatiquement avec Flexget
  • télécharger de cyberlockers, comme Rapidshare avec pyLoad
  • partager des fichiers via HTTP avec Apache et h5ai
1)
adapter selon l'adresse du Raspberry Pi…