======ruTorrent====== ====Introduction==== ruTorrent est une solution d'interface WEB de rTorrent.\\ Il permet de créer, télécharger, supprimer des torrent via une interface WEB. ====Installation==== ===Prérequis=== Pour des raisons de simplicité de droits, on va utiliser le compte www-data pour le service rtorrent, ce qui n'est pas sécurisé en cas de multi-site. ===Installation=== il faut installer les packets via : # apt update && apt upgrade -y && apt install rtorrent php5 apache2 git -y ==Configuration du compte www-data== On va ensuite rendre l'utilisateur www-data utilisable : # passwd www-data puis changer la ligne dans ///etc/passwd// www-data:x:33:33:www-data:/var/www:/bin/bash Le compte est désormais disponible avec le mot de passe. ==Configuration de Apache2== Il faut juste changer la localisation du dossier dans les VirtualHosts. \\ Si vous savez comment cela fonctionne, sautez cette partie. Il va modifier le fichier ///etc/apache2/sites-available/000-default.conf// comme ceci : DocumentRoot /var/www/ruTorrent ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined AuthType Basic AuthName "RT AUTH" AuthUserFile /etc/apache2/.htpasswd Require valid-user Puis on va créer le premier utilisateur Apache2 : # htpasswd -c /etc/apache2/.htpasswd TOTO puis pour en rajouter : # htpasswd /etc/apache2/.htpasswd TATA Pour finir il faudra recharger le service Apache2 : # /etc/init.d/apache2 reload ==Installation de ruTorrent== On va se déplacer dans le dossier suivant # cd /var/www/ puis récupérer la source : # git clone https://github.com/Novik/ruTorrent.git ==Configuration de rtorrent== Il va falloir créer les répertoires suivant : # mkdir -p /var/www/ruTorrent/DATA/files # mkdir /var/www/ruTorrent/DATA/session puis créer le fichier //.rtorrent.rc// directory = /var/www/ruTorrent/DATA/files/ session = /var/www/ruTorrent/DATA/session/ port_range = 6900-6999 port_random = yes check_hash = yes scgi_port = 127.0.0.1:5000 il ne reste plus qu'a rendre les droits a //www-data// : chown -R www-data:www-data /var/www/ ==Automatisation de la solution== Pour que rtorrent ce lance au démarrage, il faut se connecter avec le compte //www-data// # su - www-data Puis rajouter une tache cron : # crontab -e Choisissait nano, puis rajouter a la fin: @reboot rm -rf /var/www/ruTorrent/DATA/session/*.lock @reboot screen -dmS ruto rtorrent ====Patch streaming==== J'ai rapidement développé un script pour lire les fichiers vidéos, il faut alors rajouter la ligne dans le fichier //index.html// en remplaçant le nom de domaine : [...]
#Rajouter suivante la ligne suivante ici
[...]
et créer le fichier ///var/www/ruTorrent/videobeta.php// $value) { $path = realpath($dir.DIRECTORY_SEPARATOR.$value); if(is_dir($path) == false) { $results[] = substr($path,19,strlen($path)); } else if($value != "." && $value != "..") { getDirContents($path, $results); if(is_dir($path) == false) { $results[] = substr($path,19,strlen($path)); } } } return $results; } $filesdir = getDirContents('/var/www/ruTorrent/DATA/files/'); $arrlength = count($filesdir); for($x = 0; $x < $arrlength; $x++) { $lenfilesdir = strlen($filesdir[$x]); $format = substr($filesdir[$x], $lenfilesdir-4, $lenfilesdir); if ( strcmp($format,".mp4") == 0 || strcmp($format,".avi")==0 || strcmp($format,".mkv")==0) { $file = substr($filesdir[$x], strrpos($filesdir[$x],"/")+1,$lenfilesdir); echo ''. $file . '' ; echo "
"; $fichier = fopen($filesdir[$x].".html","w") or die ("Unable to open file!"); $txt = "\n"; fwrite($fichier, $txt) ; $txt = "\n"; fwrite($fichier, $txt) ; $txt = ' Download' ; fwrite($fichier, $txt) ; $txt = "\n"; fwrite($fichier, $txt) ; fclose($fichier); } } ?>
Si le tuto a été suivit a la lettre, il n'y a rien a modifier dans le fichier //videobeta.php//.