GNU/Linux >> Linux Esercitazione >  >> Cent OS

Scarica torrent sul web con il cloud torrent

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.


Cent OS
  1. cPanel è il migliore

  2. Considerazioni sul monitoraggio delle modifiche ai file con Linux sulla rete

  3. Nozioni di base su Linux:come scaricare file sulla shell con Wget

  4. Pitchfork - l'applicazione web dell'API Rackspace Cloud

  5. Cracking nel cloud con le GPU CUDA

Scarica Ubuntu Torrent

Scarica file con Wget sulla shell Linux - Spiegazione ed esempi

Testare il carico dei server Web con Siege Benchmark Tool

Come integrare MS SQL con Plesk (Web Pro Edition) e (Web Host Edition)?

Come creare una Web App con Node.js su Jelastic Cloud

La guida definitiva al download di Wget con 15 fantastici esempi