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.