Raspberry Pi | Μετατρέπουμε το Pi σε Torrent-Box με τη βοήθεια του Transmission


Τις τελευταίες δεκαετίες τα torrent έχουν γίνει συνώνυμα του κατεβάσματος πειρατικών ταινιών από το ίντερνετ, αυτό όμως δε σημαίνει ότι η χρήση τους είναι παράνομη. Στην πραγματικότητα η τεχνολογία των torrent είναι η μοναδική που μας δίνει τη δυνατότητα να μοιράσουμε εύκολα, τεράστια αρχεία μεταξύ πολλών υπολογιστών, χωρίς να τα στείλουμε πρώτα σε κάποιον ενδιάμεσο server. Σήμερα λοιπόν θα δούμε πώς μετατρέπουμε ένα Raspberry Pi σε Torrent Box, για την αποστολή και τη λήψη των αρχείων μας.

Για να κάνουμε μόνιμα διαθέσιμο ένα αρχείο στο ίντερνετ, με σκοπό να το βρει και να το κατεβάσει πολύς κόσμος, η μέθοδος που θα ακολουθήσουμε σήμερα είναι να το ανεβάσουμε στο WeTransfer ή στο Dropbox, το Google Drive και άλλες παρόμοιες υπηρεσίες. Αυτές οι λύσεις όμως έχουν περιορισμούς. Για παράδειγμα το WeTransfer δεν κρατάει το αρχείο μας διαθέσιμο για μεγάλο χρονικό διάστημα, το Dropbox έχει περιορισμένο χώρο, ενώ το Google Drive κλειδώνει όταν πάει πολύς κόσμος να κατεβάσει ταυτόχρονα. Το μεγαλύτερο όμως πρόβλημα με αυτές τις λύσεις, είναι ότι τα αρχεία μας βρίσκονται σε έναν ξένο server, ο οποίος δε γνωρίζουμε αν είναι ασφαλής ή όχι. Έτσι δεν μπορούμε να ανεβάσουμε τα προσωπικά μας αρχεία, αν φυσικά μας ενδιαφέρει να προστατεύσουμε τα ευαίσθητα δεδομένα μας.

Ένα Raspberry Pi Torrent Box μπορεί να μας λύσει αυτό το πρόβλημα, καθώς τα αρχεία μας θα φεύγουν αποκλειστικά από το δικό μας server, ενώ το μέγεθός τους εξαρτάται από το μέγεθος του σκληρού δίσκου που χρησιμοποιούμε. Μπορούμε δηλαδή να στείλουμε τεράστια αρχεία, κάτι που δεν μπορεί να γίνει στις προαναφερθείσες υπηρεσίες. Το πλεονέκτημα του Raspberry Pi είναι επίσης ότι έχει χαμηλή κατανάλωση ενέργειας, οπότε μπορούμε να το έχουμε συνέχεια ανοιχτό για να μας κάνει αυτή τη δουλειά.


Διαφήμιση

Εγκατάσταση του Transmission στο Raspberry Pi


Θα χρησιμοποιήσουμε το Transmission, ένα από τα πιο γνωστά προγράμματα διαχείρισης torrent στο Linux, το οποίο είναι επίσης και πολύ ελαφρύ. Εννοείται ότι πριν ξεκινήσουμε έχουμε ήδη εγκαταστήσει το Raspbian στο Pi μας.

Ανοίγουμε λοιπόν το τερματικό και για να κατεβάσουμε το Transmission δίνουμε την εντολή:

sudo apt install transmission-daemon


Το Transmission θα ξεκινήσει να λειτουργεί αυτόματα και για να το ρυθμίσουμε θα πρέπει πρώτα να το σταματήσουμε. Αυτό γίνεται με την εντολή:

sudo systemctl stop transmission-daemon

Τώρα θα δημιουργήσουμε δύο φακέλους, όπου στον ένα θα αποθηκεύονται τα ολοκληρωμένα torrent και στον άλλο αυτά που ακόμη κατεβαίνουν στη συσκευή μας. Θα τους ονομάσουμε "torrent-complete" και "torrent-inprogress" και τους δημιουργούμε με τις εξής εντολές:

sudo mkdir -p /home/pi/torrent-inprogress 
sudo mkdir -p /home/pi/torrent-complete

Σημαντική σημείωση:
Οι δύο φάκελοι μπορούν επίσης να βρίσκονται σε έναν USB ή δικτυακό δίσκο μέσω Samba. Δημιουργούμε τους φακέλους στο μέσο που θέλουμε και απλά αντικαθιστούμε το link της διαδρομής τους, στις εντολές που δώσαμε.

Τώρα πρέπει να δώσουμε δικαιώματα χρήσης των δύο φακέλων για το χρήστη "pi" (αν δεν τον έχουμε αλλάξει στο Raspberry). Αυτό γίνεται με τις εντολές:

sudo chown -R pi:pi /home/pi/torrent-inprogress 
sudo chown -R pi:pi /home/pi/torrent-complete


Διαφήμιση

Οι βασικές ρυθμίσεις του Transmission


Στη συνέχεια πρέπει να ενημερώσουμε το Transmission για τις αλλαγές που έχουμε κάνει. Ανοίγουμε λοιπόν το αρχείο των ρυθμίσεών του με την εντολή:

sudo nano /etc/transmission-daemon/settings.json

Βρίσκουμε τη γραμμή "incomplete-dir" και προσθέτουμε τη διαδρομή του φακέλου για τις μη ολοκληρωμένες λήψεις μας, ως εξής:

"incomplete-dir": "/home/pi/torrent-inprogress",

Βρίσκουμε επίσης τη γραμμή "download-dir" η οποία αφορά τις ολοκληρωμένες λήψεις μας, στην οποία δίνουμε τη διαδρομή του αντίστοιχου φακέλου, ως εξής:

"download-dir": "/home/pi/torrent_complete",

Στη γραμμή "incomplete-dir-enabled" ρυθμίζουμε το Transmission να ενεργοποιήσει και να χρησιμοποιεί το φάκελο των μη ολοκληρωμένων λήψεων, ως εξής:

"incomplete-dir-enabled": true,

Τώρα πρέπει να ρυθμίσουμε τη web εφαρμογή μέσω της οποίας θα δίνουμε στο Transmission τα torrent που θέλουμε να κατεβάσει. Βρίσκουμε τη γραμμή "rpc-password" και δίνουμε ένα δικό μας password ως εξής:

"rpc-password": "το-δικό-μου-password",

Κάνουμε το ίδιο πράγμα και για το username που θέλουμε να χρησιμοποιούμε. Βρίσκουμε τη γραμμή "rpc-username" και τη διαμορφώνουμε ως εξής:

"rpc-username": "το-δικό-μου-username",

Για να μπαίνουμε στο web app του Transmission από όλες τις συσκευές του δικτύου μας, πρέπει πρώτα να βάλουμε όλο το τοπικό μας δίκτυο σε whitelist. Αν η IP του router μας έχει τη μορφή "192.168.1.1", βρίσκουμε τη γραμμή "rpc-whitelist" και τη διαμορφώνουμε ως εξής:

"rpc-whitelist": "192.168.1.*",

Κλείνουμε και αποθηκεύουμε το αρχείο πατώντας Ctrl+X, στη συνέχεια "Υ" και πατάμε "Enter".

Οι ρυθμίσεις χρήστη του Transmission


Σειρά έχει τώρα να πούμε στο Transmission ότι ο χρήστης "pi", δηλαδή ο χρήστης με τον οποίο θα κάνουμε login στο Rasbian, είναι αυτός που θα το χρησιμοποιεί. Ανοίγουμε λοιπόν το αρχείο εκκίνησης του Transmission με την εντολή:

sudo nano /etc/init.d/transmission-daemon


Βρίσκουμε τη γραμμή "USER=" και τη διαμορφώνουμε ως εξής:

USER=pi

Κλείνουμε και αποθηκεύουμε το αρχείο πατώντας Ctrl+X, στη συνέχεια "Υ" και πατάμε "Enter".
Το ίδιο κάνουμε και σε ένα ακόμη αρχείο με την εντολή:

sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

Βρίσκουμε και εδώ το "user=" και ο διαμορφώνουμε ως εξής:

user=pi

Κλείνουμε και αποθηκεύουμε το αρχείο πατώντας Ctrl+X, στη συνέχεια "Υ" και πατάμε "Enter".
Κάνουμε μία επανεκκίνηση στην υπηρεσία του Transmission με την εντολή:

sudo systemctl daemon-reload


Τώρα πρέπει να δώσουμε δικαιώματα χρήσης του φακέλου που περιλαμβάνει όλα τα παραπάνω αρχεία, για το χρήστη "pi" (αν δεν τον έχουμε αλλάξει στο Raspberry). Αυτό γίνεται με την εντολή:

sudo chown -R pi:pi /etc/transmission-daemon

Τέλος δημιουργούμε ένα φάκελο μέσα από τον οποίο η υπηρεσία του Transmission θα έχει πρόσβαση στο αρχείο των ρυθμίσεων. Αυτό γίνεται με τις ακόλουθες εντολές:

sudo mkdir -p /home/pi/.config/transmission-daemon/ 
sudo ln -s /etc/transmission-daemon/settings.json /home/pi/.config/transmission-daemon/
sudo chown -R pi:pi /home/pi/.config/transmission-daemon/

Το μόνο που μένει είναι να εκκινήσουμε την υπηρεσία του Transmission, κάτι που γίνεται με την εντολή:

sudo systemctl start transmission-daemon 


Πώς χρησιμοποιούμε το Transmission


Τώρα που το Torrent Box μας είναι έτοιμο, ήρθε επιτέλους η ώρα να το χρησιμοποιήσουμε. Ανοίγουμε λοιπόν τον browser σε οποιαδήποτε συσκευή είναι συνδεδεμένη στο ίδιο δίκτυο και δίνουμε την IP διεύθυνση του Pi (π.χ. "192.168.1.112") και στη συνέχεια την πόρτα στην οποία τρέχει η υπηρεσία (από προεπιλογή είναι η "9091"). Δίνουμε δηλαδή τη διεύθυνση:

http://192.168.1.112:9091


Εκεί θα δούμε το web app του Transmission, τη σελίδα δηλαδή που τρέχει στο server μας. Μπορούμε λοιπόν να προσθέσουμε ένα αρχείο torrent πατώντας "Open" και επιλέγοντάς το από τους φακέλους μας. Το Transmission θα συνδέσει το torrent με τους αποστολείς και θα αρχίσει να κατεβάζει τα περιεχόμενά του. Όλα αυτά γίνονται στο Raspberry Pi και όχι στον υπολογιστή ή το smartphone από το οποίο μπήκαμε στη σελίδα του.

Μπορούμε επίσης να τροφοδοτούμε το server μας με torrent, ακόμη και όταν βρισκόμαστε εκτός σπιτιού! Έτσι θα έχουμε κατεβάσει ή μοιράσει τα αρχεία μας από οποιοδήποτε μέρος κι αν βρισκόμαστε. Για αυτό το σκοπό θα χρειαστεί να ακολουθήσουμε αυτές τις οδηγίες, ανοίγοντας την πόρτα 9091 στο router μας και προσθέτοντας ένα SSL certificate για ασφάλεια.

Έτσι έχουμε ένα Torrent Box στο χώρο μας το οποίο λειτουργεί 24 ώρες το 24ωρο και μοιράζει τα αρχεία μας με όλο τον κόσμο.

Σχόλια

Δείτε επίσης...

Android | Γιατί δε θα αγόραζα ποτέ smartphone της OnePlus

Φεύγω από την Google (μέρος 15) | ''Ξηλώνουμε'' τα Google apps από το Android

Ιδιωτικό απόρρητο | Το αφελές επιχείρημα του ''Δεν έχω τίποτα να κρύψω''

Docker (μέρος 7) | Στήνουμε έναν reverse proxy για τα container μας με το Traefik

Μάθε παιδί μου Linux (μέρος 11) | Δίσκοι, κατατμήσεις και σύστημα αρχείων (filesystem)

Ubuntu Touch 2020 review | Μια πραγματική mobile GNU/Linux διανομή έτοιμη για καθημερινή χρήση

Android | Περιόρισε την παρακολούθηση των εφαρμογών και κόψε τις διαφημίσεις με το TrackerControl

Android | Βάλε στην ''απομόνωση'' τις εφαρμογές που δεν εμπιστεύεσαι με το Shelter

Απόρρητο | ''Μπερδεύουμε'' τον αλγόριθμο Google και Facebook με ψεύτικες πληροφορίες

Docker (μέρος 1) | Τι είναι και πώς το εγκαθιστούμε στον υπολογιστή μας;