====== 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 =====
[[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|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 =====
[[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|Ouvrir avec les droits d'administration]] le fichier **/etc/samba/smb.conf** pour ajouter ces lignes à la fin :
[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,
- nommer le disque :export DISQUE="/media/Reservoirs"
- 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}
[[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|Ouvrir avec les droits d'administration]] le fichier **/etc/transmission-daemon/settings.json** pour modifier les lignes suivantes :
^paramètre^valeur^
|"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.
[[tutoriel:mini-tutoriels:ficedit#Modifier un fichier sans les droits d'administration|Créer]] le fichier **setup.sh** suivant :
#!/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]]. ((adapter selon l'adresse du Raspberry Pi...))
{{http://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.
{{http://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.
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.
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