GNU/Linux >> Tutoriales Linux >  >> Cent OS

Descargar torrents a través de la web con torrents en la nube

BitTorrent es un protocolo de intercambio de archivos entre pares. Hay muchos clientes locales que puede usar para descargar archivos torrent. Sin embargo, puede haber momentos en los que necesite descargarlos a través de Internet, ya que no puede usar un cliente de torrent local.

cloud-torrent es un cliente de torrents basado en la web. Le permite buscar rastreadores de torrents, agregar archivos de torrents y enlaces magnéticos, y descargarlos a su computadora.

En este artículo, veremos la instalación de torrent en la nube en un servidor que ejecuta Linux. Incluso puede ejecutarlo en su propia computadora si está disponible públicamente con una dirección IP.

Pero tenga cuidado:si planea ejecutar aplicaciones de torrent en su servidor, asegúrese de que su proveedor lo permita.

Descargar y ejecutar torrent en la nube

Descargue la versión correcta de torrent en la nube desde el. abajo Página de publicaciones. Los archivos binarios están disponibles para las variantes Intel de 32 y 64 bits, así como para ARM. En el siguiente ejemplo, descargamos la versión de Linux de 64 bits:

wget https://github.com/jpillora/cloud-torrent/releases/download/0.8.24/cloud-torrent_linux_amd64.gz

Una vez que haya descargado el archivo, deberá descomprimirlo, cambiar el nombre del archivo binario y hacerlo ejecutable. Para hacer esto, ejecute los siguientes comandos:

gzip -d cloud-torrent*.gz
mv cloud-torrent* cloud-torrent
chmod +x cloud-torrent

Luego ejecute el binario:

./cloud-torrent

Visita ahora https://your_server_name:3000/ con un navegador. Si puede ver la interfaz web, ¡genial! Sin embargo, si no te funciona, comprueba lo siguiente:

  • No bloquean el tráfico en el puerto 3000; en ese caso, deberá cambiar la configuración de su cortafuegos.
  • No está ejecutando un servicio existente en el puerto 3000. Si es así, Cloud Torrent saldrá con un error listen tcp 0.0.0.0:3000: bind: address already in use . Puede ejecutar torrents en la nube en un puerto diferente de la siguiente manera:
    ./cloud-torrent -p <custom_port_number>

    El número de puerto debe estar entre 1025 y 65535.

Para detener la descarga de torrents en la nube, simplemente presione Ctrl + C.

Configurar la descarga de torrents en la nube

Si bien la descarga de torrents en la nube ya está funcionando, probablemente desee que se inicie automáticamente al iniciar el sistema como un servicio de sistema normal. Puedes hacerlo muy fácilmente.

Primero, debe configurar un usuario separado para que se ejecute la descarga de torrents en la nube. Si bien no es estrictamente necesario, generalmente se recomienda por razones de seguridad.

sudo useradd -rm cloud-torrent

A continuación, debe mover el binario de torrent en la nube al directorio de inicio del nuevo usuario.

sudo mv cloud-torrent /home/cloud-torrent/cloud-torrent

Ahora necesita configurar el sistema para que se inicie automáticamente. Para hacer esto, debe determinar el sistema de inicio utilizado. Para realizar esta ejecución (fuente):

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

Cuando el problema es upstart o sysvinit , debe usar las instrucciones para sysvinit. Cuando el problema es systemd , debe usar las directivas systemd.



sistemas basados ​​en sistemas

Con un sistema basado en systemd, este proceso es bastante sencillo. Crear /etc/systemd/system/cloud-torrent.service con el siguiente contenido:

[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 necesita usar un puerto diferente, tendrá que ExecStart=/home/cloud-torrent/cloud-torrent -p <port_number> en lugar de esto.

Luego, debe decirle a systemd que ha creado un nuevo archivo de servicio y también configurarlo para que se ejecute en el arranque:

sudo systemctl daemon-reload
sudo systemctl enable cloud-torrent.service

Finalmente, debe iniciar el servicio de inmediato para poder acceder a torrent en la nube:

sudo systemctl start cloud-torrent.service

sistemas basados ​​en sysvinit / upstart

Para los sistemas basados ​​en Sysvinit o Upstart, debe agregar un script de shell con el siguiente código en /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 necesita ejecutar torrent en la nube en un puerto diferente, simplemente cambie start() en el script de shell anterior de la siguiente manera:

start-stop-daemon --start --quiet --make-pidfile --pidfile "$PIDFILE" 
 -d "/home/$DAEMONUSER" --background --chuid "$DAEMONUSER" --oknodo --exec "$DAEMON" -- -p <port_number>

Luego, debe hacer que el script sea ejecutable:

sudo chmod +x /etc/init.d/cloud-torrent

Luego, debe permitir que el servicio se ejecute en el arranque. También iniciaremos el servicio de inmediato. Si está usando Ubuntu o Debian, haga lo siguiente:

sudo update-rc.d cloud-torrent defaults
sudo service cloud-torrent start

Sin embargo, si usa CentOS o Fedora, es un poco más complicado. Primero necesitas instalar el start-stop-daemon Programa:

wget https://raw.githubusercontent.com/boolean-world/misc-tools/master/install-start-stop-daemon.sh
sudo bash install-start-stop-daemon.sh

Ahora puede activar el servicio en el arranque con los siguientes comandos:

sudo chkconfig --add cloud-torrent
sudo chkconfig --level 2345 cloud-torrent on

Finalmente, puede iniciar el servicio inmediatamente con:

sudo service cloud-torrent start

Explore la interfaz de usuario de torrents en la nube

Si ha seguido los pasos anteriores, ¡la descarga de torrents en la nube debería estar funcionando! Puedes visitar https://<your_server_IP>:3000/ para verificar esto. Ahora puede descargar torrents pegando enlaces magnéticos o enlaces de archivos torrent en el cuadro de texto. Además, puede ingresar un término de búsqueda para buscar torrents en sitios web populares de torrents.

Puede configurar los ajustes de inicialización y cifrado haciendo clic en el icono de tres barras. (Vea la captura de pantalla a continuación).

protección con contraseña

La configuración actual tiene un problema:cualquiera que la visite puede usarla. Puede evitar esto configurando una contraseña mediante una variable de entorno denominada. indicar AUTH .



Si está utilizando systemd, edite /etc/systemd/system/cloud-torrent.service y agregue esta línea al [Service] Sección:

Environment="AUTH=username:password"

Luego reinicie el servicio de torrents en la nube con:

sudo systemctl daemon-reload
sudo systemctl restart cloud-torrent

Para sistemas basados ​​en sysvinit, simplemente exporte el AUTH Variable como lo haría en un script de shell:

# [previous part of shell script]
DAEMONUSER=cloud-torrent
PIDFILE=/var/run/$NAME.pid
export AUTH="username:password"
# [rest of the shell script]

Sustituir username y password con tus propios valores y luego empieza de nuevo con:

sudo service cloud-torrent restart

Configurar HTTPS

Para proteger su privacidad, es posible que desee configurar HTTPS en torrent en la nube.

Primero necesitas obtener un certificado. Si no tiene uno, puede obtener uno a través de Let's Encrypt. Debe reemplazar en los siguientes segmentos /path/to/key.pem y /path/to/cert.pem con los caminos correctos. Si está utilizando Let's Encrypt, estos archivos se pueden encontrar en el /etc/letsencrypt Directorio.

Para los usuarios de systemd, esto será fácil. En /etc/systemd/system/cloud-torrent.service , cambie la línea con ExecStart= entonces:

ExecStart=/home/cloud-torrent/cloud-torrent -k /path/to/key.pem -r /path/to/cert.pem

Nuevamente, es un poco más complicado para los usuarios de sysvinit / advenedizos. Abre ese /etc/init.d/cloud-torrent Archivar y cambiar el start-stop-daemon Comando en start() entonces:

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

Después de realizar estos cambios, reinicie el servicio de torrents en la nube como se describe anteriormente. En este punto, se debe configurar la descarga de torrents en la nube a través de HTTPS. Se pueden encontrar más opciones configurables en el --help Contador.


Cent OS
  1. Conceptos básicos de Linux:cómo descargar archivos en el Shell con Wget

  2. Uso de Wget con FTP para descargar/mover sitios web de forma recursiva

  3. Instale mod_security con el conjunto de reglas básicas de OWASP en un CentOS VPS

  4. Migre a Rackspace Cloud desde Amazon Web Services

  5. Uso de python-novaclient con Rackspace Cloud Servers

Descargar Ubuntu Torrent

Descargar archivos con Wget en Linux Shell - Explicación y ejemplos

Probando la carga de servidores web con Siege Benchmark Tool

¿Cómo integrar MS SQL con Plesk (Web Pro Edition) y (Web Host Edition)?

Cómo crear una aplicación web con Node.js en Jelastic Cloud

La guía de descarga definitiva de Wget con 15 ejemplos impresionantes