BitTorrent est un protocole de partage de fichiers peer-to-peer. Il existe de nombreux clients locaux que vous pouvez utiliser pour torrenter des fichiers. Cependant, il peut arriver que vous ayez besoin de les télécharger sur Internet car vous ne pouvez pas utiliser un client torrent local.
cloud-torrent est un client torrent basé sur le Web. Il vous permet de rechercher des trackers torrent, d'ajouter des fichiers torrent et des liens magnétiques, et de les télécharger sur votre ordinateur.
Dans cet article, nous verrons comment installer Cloud Torrent sur un serveur exécutant Linux. Vous pouvez même l'exécuter sur votre propre ordinateur s'il est accessible au public avec une adresse IP.
Mais attention :si vous envisagez d'exécuter des applications torrent sur votre serveur, assurez-vous que votre fournisseur l'autorise.
Télécharger et exécuter cloud torrent
Téléchargez la version correcte de cloud torrent à partir du. en bas de la page Publications. Les fichiers binaires sont disponibles pour les variantes Intel 32 et 64 bits ainsi que pour ARM. Dans l'exemple suivant, nous avons téléchargé la version Linux 64 bits :
wget https://github.com/jpillora/cloud-torrent/releases/download/0.8.24/cloud-torrent_linux_amd64.gz
Après avoir téléchargé l'archive, vous devrez la décompresser, renommer le binaire et le rendre exécutable. Pour cela, exécutez les commandes suivantes :
gzip -d cloud-torrent*.gz mv cloud-torrent* cloud-torrent chmod +x cloud-torrent
Exécutez ensuite le binaire :
./cloud-torrent
Visitez maintenant https://your_server_name:3000/
avec un navigateur. Si vous pouvez voir l'interface Web, c'est génial! Cependant, si cela ne fonctionne pas pour vous, vérifiez ce qui suit :
- Ils ne bloquent pas le trafic sur le port 3000. Dans ce cas, vous devrez modifier la configuration de votre pare-feu.
- Vous n'exécutez pas de service existant sur le port 3000. Si c'est le cas, Cloud Torrent se fermera avec une erreur
listen tcp 0.0.0.0:3000: bind: address already in use
. Vous pouvez exécuter le cloud torrenting sur un autre port comme suit :./cloud-torrent -p <custom_port_number>
Le numéro de port doit être compris entre 1025 et 65535.
Pour arrêter le cloud torrenting, appuyez simplement sur Ctrl + C.
Configurer le torrent cloud
Alors que le cloud torrenting fonctionne déjà, vous voulez probablement qu'il démarre automatiquement au démarrage du système comme un service système normal. Vous pouvez le faire très facilement.
Tout d'abord, vous devez configurer un utilisateur distinct pour l'exécution du torrent dans le cloud. Bien que cela ne soit pas strictement nécessaire, il est généralement recommandé pour des raisons de sécurité.
sudo useradd -rm cloud-torrent
Ensuite, vous devez déplacer le binaire cloud torrent vers le répertoire d'accueil du nouvel utilisateur.
sudo mv cloud-torrent /home/cloud-torrent/cloud-torrent
Vous devez maintenant configurer le système pour qu'il démarre automatiquement. Pour ce faire, vous devez déterminer le système d'initialisation utilisé. Pour effectuer cette exécution (source) :
if [[ `/sbin/init --version` =~ upstart ]]; then echo upstart; elif [[ `systemctl` =~ -.mount ]]; then echo systemd; elif [[ -f /etc/init.d/cron && ! -h /etc/init.d/cron ]]; then echo using sysvinit; else echo cannot tell; fi
Lorsque le problème est upstart
ou sysvinit
, vous devez utiliser les instructions pour sysvinit. Lorsque le problème est systemd
, vous devez utiliser les directives systemd.
systèmes basés sur le système
Avec un système basé sur systemd, ce processus est assez simple. Créer /etc/systemd/system/cloud-torrent.service
avec le contenu suivant :
[Unit] Description=torrent web server [Service] Type=simple User=cloud-torrent WorkingDirectory=/home/cloud-torrent ExecStart=/home/cloud-torrent/cloud-torrent [Install] WantedBy=multi-user.target
Si vous devez utiliser un port différent, vous devrez ExecStart=/home/cloud-torrent/cloud-torrent -p <port_number>
au lieu de cela.
Ensuite, vous devez indiquer à systemd que vous avez créé un nouveau fichier de service et également le configurer pour qu'il s'exécute au démarrage :
sudo systemctl daemon-reload sudo systemctl enable cloud-torrent.service
Enfin, vous devez démarrer le service immédiatement afin de pouvoir accéder au cloud torrent :
sudo systemctl start cloud-torrent.service
systèmes basés sur sysvinit / upstart
Pour les systèmes basés sur Sysvinit ou Upstart, vous devez ajouter un script shell avec le code suivant dans /etc/init.d/cloud-torrent
:
#!/bin/sh ### BEGIN INIT INFO # Provides: cloud-torrent # Required-Start: $local_fs $network $named $time $syslog # Required-Stop: $local_fs $network $named $time $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the cloud-torrent web server # Description: starts cloud-torrent using start-stop-daemon ### END INIT INFO DESC="torrent web server" NAME=cloud-torrent DAEMON=/home/cloud-torrent/cloud-torrent DAEMONUSER=cloud-torrent PIDFILE=/var/run/$NAME.pid STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}" test -x $DAEMON || exit 0 start() { start-stop-daemon --start --quiet --make-pidfile --pidfile "$PIDFILE" -d "/home/$DAEMONUSER" --background --chuid "$DAEMONUSER" --oknodo --exec "$DAEMON" } stop() { start-stop-daemon --stop --quiet --pidfile "$PIDFILE" --retry="$STOP_SCHEDULE" --name "$NAME" --oknodo rm -f "$PIDFILE" } status() { if [ -f "$PIDFILE" ]; then if kill -0 $(cat "$PIDFILE"); then echo "$NAME is running" else echo "$NAME process is dead, but pidfile exists" fi else echo "$NAME is not running" fi } case "$1" in start) echo "Starting $NAME $DESC..." start ;; stop) echo "Stopping $NAME $DESC..." stop ;; restart) echo "Restarting $NAME $DESC..." stop start ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 2 ;; esac exit 0
Si vous avez besoin d'exécuter cloud torrent sur un autre port, changez simplement start()
dans le script shell ci-dessus comme suit :
start-stop-daemon --start --quiet --make-pidfile --pidfile "$PIDFILE" -d "/home/$DAEMONUSER" --background --chuid "$DAEMONUSER" --oknodo --exec "$DAEMON" -- -p <port_number>
Ensuite, vous devez rendre le script exécutable :
sudo chmod +x /etc/init.d/cloud-torrent
Ensuite, vous devez activer le service pour qu'il s'exécute au démarrage. Nous allons également commencer le service immédiatement. Si vous utilisez Ubuntu ou Debian, procédez comme suit :
sudo update-rc.d cloud-torrent defaults sudo service cloud-torrent start
Cependant, si vous utilisez CentOS ou Fedora, c'est un peu plus compliqué. Vous devez d'abord installer le start-stop-daemon
Programme :
wget https://raw.githubusercontent.com/boolean-world/misc-tools/master/install-start-stop-daemon.sh sudo bash install-start-stop-daemon.sh
Vous pouvez maintenant activer le service au démarrage avec les commandes suivantes :
sudo chkconfig --add cloud-torrent sudo chkconfig --level 2345 cloud-torrent on
Enfin, vous pouvez démarrer le service immédiatement avec :
sudo service cloud-torrent start
Découvrez l'interface utilisateur cloud torrent
Si vous avez suivi les étapes ci-dessus, le torrent dans le cloud devrait être opérationnel ! Vous pouvez visiter https://<your_server_IP>:3000/
pour vérifier cela. Vous pouvez maintenant télécharger des torrents en collant des liens magnétiques ou des liens de fichiers torrent dans la zone de texte. De plus, vous pouvez entrer un terme de recherche pour rechercher des torrents sur des sites Web torrent populaires.
Vous pouvez configurer les paramètres d'amorçage et de chiffrement en cliquant sur l'icône à trois barres. (Voir la capture d'écran ci-dessous.)
protection par mot de passe
La configuration actuelle a un problème - toute personne qui visite peut l'utiliser. Vous pouvez empêcher cela en définissant un mot de passe à l'aide d'une variable d'environnement nommée. indiquer AUTH
.
Si vous utilisez systemd, modifiez /etc/systemd/system/cloud-torrent.service
et ajoutez cette ligne au [Service]
Rubrique :
Environment="AUTH=username:password"
Redémarrez ensuite le service cloud torrent avec :
sudo systemctl daemon-reload sudo systemctl restart cloud-torrent
Pour les systèmes basés sur sysvinit, exportez simplement le AUTH
Variable comme vous le feriez dans un script shell :
# [previous part of shell script] DAEMONUSER=cloud-torrent PIDFILE=/var/run/$NAME.pid export AUTH="username:password" # [rest of the shell script]
Remplacez username
et password
avec vos propres valeurs puis recommencez avec :
sudo service cloud-torrent restart
Configurer HTTPS
Pour protéger votre vie privée, vous pouvez configurer HTTPS dans le cloud torrent.
Vous devez d'abord obtenir un certificat. Si vous n'en avez pas, vous pouvez en obtenir un via Let's Encrypt. Vous devez remplacer dans les segments suivants /path/to/key.pem
et /path/to/cert.pem
avec les bons chemins. Si vous utilisez Let's Encrypt, ces fichiers se trouvent sous le /etc/letsencrypt
Répertoire.
Pour les utilisateurs de systemd, ce sera facile. En /etc/systemd/system/cloud-torrent.service
, changez la ligne avec ExecStart=
donc :
ExecStart=/home/cloud-torrent/cloud-torrent -k /path/to/key.pem -r /path/to/cert.pem
Encore une fois, c'est un peu plus compliqué pour les utilisateurs de sysvinit / upstart. Ouvrez ce /etc/init.d/cloud-torrent
Fichier et modifier le start-stop-daemon
Commande en start()
donc :
start-stop-daemon --start --quiet --make-pidfile --pidfile "$PIDFILE" -d "/home/$DAEMONUSER" --background --chuid "$DAEMONUSER" --oknodo --exec "$DAEMON" -- -k /path/to/key.pem -r /path/to/cert.pem
Après avoir apporté ces modifications, redémarrez le service cloud torrent comme décrit ci-dessus. À ce stade, le cloud torrent via HTTPS doit être configuré. D'autres options configurables peuvent être trouvées dans le --help
Compteur.