GNU/Linux >> Tutoriels Linux >  >> Cent OS

Téléchargez des torrents sur le Web avec le cloud torrenting

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.


Cent OS
  1. cPanel est le meilleur

  2. Principes de base de Linux :comment télécharger des fichiers sur le shell avec Wget

  3. Utilisation de Wget avec FTP pour télécharger/déplacer des sites Web de manière récursive

  4. Améliorer la collaboration avec le cloud

  5. Utilisation de python-novaclient avec les serveurs Rackspace Cloud

Télécharger Ubuntu Torrent

Télécharger des fichiers avec Wget sur le shell Linux - Explication et exemples

Test de la charge des serveurs Web avec Siege Benchmark Tool

Comment intégrer MS SQL avec Plesk (Web Pro Edition) &(Web Host Edition) ?

Comment créer une application Web avec Node.js sur Jelastic Cloud

Le guide de téléchargement ultime de Wget avec 15 exemples impressionnants