BitTorrent è un protocollo di condivisione file peer-to-peer. Esistono molti client locali che puoi utilizzare per i file torrent. Tuttavia, a volte è necessario scaricarli da Internet poiché non è possibile utilizzare un client torrent locale.
cloud-torrent è un client torrent basato sul web. Ti consente di cercare tracker torrent, aggiungere file torrent e link magnetici e scaricarli sul tuo computer.
In questo articolo esamineremo l'installazione di cloud torrent su un server che esegue Linux. Puoi persino eseguirlo sul tuo computer se è disponibile pubblicamente con un indirizzo IP.
Ma attenzione:se prevedi di eseguire applicazioni torrent sul tuo server, assicurati che il tuo provider lo consenta.
Scarica ed esegui cloud torrent
Scarica la versione corretta di cloud torrent dal. giù nella pagina delle pubblicazioni. I file binari sono disponibili per le varianti Intel a 32 e 64 bit e per ARM. Nell'esempio seguente abbiamo scaricato la versione Linux a 64 bit:
wget https://github.com/jpillora/cloud-torrent/releases/download/0.8.24/cloud-torrent_linux_amd64.gz
Dopo aver scaricato l'archivio, dovrai decomprimerlo, rinominare il binario e renderlo eseguibile. Per fare ciò, esegui i seguenti comandi:
gzip -d cloud-torrent*.gz mv cloud-torrent* cloud-torrent chmod +x cloud-torrent
Quindi esegui il file binario:
./cloud-torrent
Visita ora https://your_server_name:3000/
con un browser. Se riesci a vedere l'interfaccia web, è fantastico! Tuttavia, se non funziona per te, controlla quanto segue:
- Non bloccano il traffico sulla porta 3000, in tal caso dovrai modificare la configurazione del firewall.
- Non stai eseguendo un servizio esistente sulla porta 3000. In tal caso, Cloud Torrent si chiuderà con un errore
listen tcp 0.0.0.0:3000: bind: address already in use
. Puoi eseguire il cloud torrenting su una porta diversa come segue:./cloud-torrent -p <custom_port_number>
Il numero di porta deve essere compreso tra 1025 e 65535.
Per interrompere il cloud torrenting, premi semplicemente Ctrl + C.
Configura il cloud torrent
Mentre il cloud torrenting sta già funzionando, probabilmente vorrai che si avvii automaticamente all'avvio del sistema come un normale servizio di sistema. Puoi farlo molto facilmente.
Innanzitutto, è necessario configurare un utente separato per l'esecuzione del cloud torrent. Sebbene non sia strettamente necessario, è generalmente consigliato per motivi di sicurezza.
sudo useradd -rm cloud-torrent
Successivamente, è necessario spostare il binario del torrent cloud nella directory home del nuovo utente.
sudo mv cloud-torrent /home/cloud-torrent/cloud-torrent
Ora è necessario configurare il sistema per l'avvio automatico. Per fare ciò, devi determinare il sistema init utilizzato. Per eseguire questa corsa (fonte):
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
Quando il problema è upstart
o sysvinit
, dovresti usare le istruzioni per sysvinit. Quando il problema è systemd
, dovresti usare le direttive systemd.
sistemi basati su sistema
Con un sistema basato su systemd, questo processo è abbastanza semplice. Crea /etc/systemd/system/cloud-torrent.service
con il seguente contenuto:
[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
Se devi usare una porta diversa dovrai ExecStart=/home/cloud-torrent/cloud-torrent -p <port_number>
invece di questo.
Quindi devi dire a systemd di aver creato un nuovo file di servizio e anche impostarlo per l'esecuzione all'avvio:
sudo systemctl daemon-reload sudo systemctl enable cloud-torrent.service
Infine, dovresti avviare immediatamente il servizio in modo da poter accedere al cloud torrent:
sudo systemctl start cloud-torrent.service
sistemi basati su sysvinit / upstart
Per i sistemi basati su Sysvinit o Upstart è necessario aggiungere uno script di shell con il seguente codice in /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
Se devi eseguire cloud torrent su una porta diversa, cambia semplicemente start()
nello script della shell sopra come segue:
start-stop-daemon --start --quiet --make-pidfile --pidfile "$PIDFILE" -d "/home/$DAEMONUSER" --background --chuid "$DAEMONUSER" --oknodo --exec "$DAEMON" -- -p <port_number>
Quindi devi rendere eseguibile lo script:
sudo chmod +x /etc/init.d/cloud-torrent
Quindi dovresti abilitare il servizio per l'esecuzione all'avvio. Inoltre, avvieremo immediatamente il servizio. Se stai usando Ubuntu o Debian, procedi come segue:
sudo update-rc.d cloud-torrent defaults sudo service cloud-torrent start
Tuttavia, se stai usando CentOS o Fedora è un po' più complicato. Per prima cosa devi installare il start-stop-daemon
Programma:
wget https://raw.githubusercontent.com/boolean-world/misc-tools/master/install-start-stop-daemon.sh sudo bash install-start-stop-daemon.sh
Ora puoi attivare il servizio all'avvio con i seguenti comandi:
sudo chkconfig --add cloud-torrent sudo chkconfig --level 2345 cloud-torrent on
Infine, puoi avviare subito il servizio con:
sudo service cloud-torrent start
Esplora l'interfaccia utente di cloud torrent
Se hai seguito i passaggi precedenti, il cloud torrenting dovrebbe essere attivo e funzionante! Puoi visitare https://<your_server_IP>:3000/
per verificarlo. Ora puoi scaricare i torrent incollando i link magnetici o i link ai file torrent nella casella di testo. Inoltre, puoi inserire un termine di ricerca per cercare torrent sui siti Web torrent più popolari.
È possibile configurare le impostazioni di seeding e crittografia facendo clic sull'icona a tre barre. (Vedi lo screenshot qui sotto.)
protezione con password
L'attuale configurazione ha un problema:chiunque visiti può utilizzarla. Puoi impedirlo impostando una password utilizzando una variabile di ambiente denominata. indica AUTH
.
Se stai usando systemd, modifica /etc/systemd/system/cloud-torrent.service
e aggiungi questa riga al [Service]
Sezione:
Environment="AUTH=username:password"
Quindi riavvia il servizio cloud torrent con:
sudo systemctl daemon-reload sudo systemctl restart cloud-torrent
Per i sistemi basati su sysvinit, esporta semplicemente il AUTH
Variabile come faresti in uno script di shell:
# [previous part of shell script] DAEMONUSER=cloud-torrent PIDFILE=/var/run/$NAME.pid export AUTH="username:password" # [rest of the shell script]
Sostituisci username
e password
con i propri valori e poi ricominciare con:
sudo service cloud-torrent restart
Configura HTTPS
Per proteggere la tua privacy, potresti voler configurare HTTPS nel cloud torrent.
Per prima cosa devi ottenere un certificato. Se non ne hai uno, puoi ottenerne uno tramite Let's Encrypt. Dovresti sostituire nei seguenti segmenti /path/to/key.pem
e /path/to/cert.pem
con le strade giuste. Se stai usando Let's Encrypt, questi file possono essere trovati sotto /etc/letsencrypt
Directory.
Per gli utenti di systemd, questo sarà facile. In /etc/systemd/system/cloud-torrent.service
, cambia la riga con ExecStart=
quindi:
ExecStart=/home/cloud-torrent/cloud-torrent -k /path/to/key.pem -r /path/to/cert.pem
Ancora una volta, è un po' più complicato per gli utenti sysvinit/upstart. Apri quel /etc/init.d/cloud-torrent
Archivia e modifica il start-stop-daemon
Comando in start()
quindi:
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
Dopo aver apportato queste modifiche, riavvia il servizio cloud torrent come descritto sopra. A questo punto, il cloud torrenting su HTTPS dovrebbe essere configurato. Ulteriori opzioni configurabili possono essere trovate nel --help
Contatore.