Σε αυτόν τον οδηγό θα δούμε πως μπορούμε να φτιάξουμε έναν Stremio Server για να κατεβάζουμε - βλέπουμε το αγαπημένο μας περιεχόμενο και όλα αυτά πίσω από το αγαπημένο μας VPN (Στην περίπτωση μου το Proton VPN).
Disclaimer
Αυτός ο οδηγός γίνεται καθαρά για εκπαιδευτικούς σκοπούς.
Η πειρατεία είναι παράνομη, αλλά τουλάχιστον είναι πιο ενδιαφέρουσα και πίσω από απομωνομένες εφαρμογές όπως το docker είναι ασφαλέστερη:
- Κυρίως για τα δεδομένα μας μιας και οι εταιρείες πίσω από τις συνδρομητικές υπηρεσίες δεν πουλάνε τα δεδομένα μας, παρόλο που πληρώνουμε συνδρόμη
- Είναι σε απομωνομένο περιβάλλον, με αποτέλεσμα να μένουμε περισσότερο ασφαλείς από malware κτλ (ΠΡΟΣΟΧΗ ΠΑΝΤΟΥ!!! ;-) )
- Και το σημαντικότερο, ΜΑΘΑΙΝΟΥΜΕ ΑΠΟ ΤΗΝ ΔΙΑΔΙΚΑΣΙΑ…
Και αφού έβγαλα τον ωχετό μου για τις streaming υπηρεσίες. Ας ξεκινήσουμε με τα απλά...
Ποιος ο λόγος για να μπούμε σε αυτή την ταλαιπωρία;
Ο λόγος είναι να έχουμε ένα στάθερό σημείο να συνδεόμαστε, είτε στο σπίτι, είτε εκτός (θα δώσω ιδέα για αυτό, αλλά μιας και δεν με ενδιαφέρει, δεν θα το καλύψω!!!).
Το πρόβλημα μου ήταν πως ήθελα ένα σημείο για να συνδέομαι στο σπίτι, χωρίς να χρειάζεται κάθε φορά να μετακινώ το Laptop, χωρίς κάθε φορά να ανοίγω το VPN και χωρίς κάθε φορά να ψάχνομαι πως να συνδεθώ με αποτέλεσμα να βαρίεμαι και να μην βλέπω αυτό που θέλω.
Οι πρώτες απόπειρες και οι λόγοι που δεν λειτούργησαν(για εμένα τουλάχιστόν
Στην αρχή σκέφτηκα να βάλω ένα Router συνδεδεμένο με του ISP και να βάλω το VPN always on αλλά είχα 2 προβλήματα σε αυτό.- Είμαι πίσω από CGNAT και δεν μπορούσα με τίποτα να πετύχω την δρομολόγηση.
- Και να μπορούσα να πετύχω την δρομολόγηση, έχω ένα παλίο router που δεν θα μπορούσα να τρέξω GBit ταχύτητες.
- Έχοντας ένα δίκτυα μόνο για το VPN σημαίνει πως θα είχα ακόμα ένα WiFi στο σπίτι με περιορισμένη ταχύτητα και θα έπρεπε να συνδέομαι σε αυτό κάθε φορά που θα ήθελα να δώ κάτι.
Το πρόβλημα είναι προφανές λοιπόν... βαρίεμαι ευκολά, αλλά επίσης μου αρέσει να παίζω
Τι χρησιμοποιήσα…
- Για την διανομή χρησιμοποιώ το Ubuntu 24.04 αλλά όποια διανομή και να θέλετε, μας κάνει.
- Docker και docker compose
- Proton VPN (Έχω το πληρωμένο αλλά φαντάζομαι ότι και το απλό κάνει, απλά η ταχύτητα δεν είναι ίδια)
- Καλή διάθεση
- Κάποια στιγμή θα το κάνω σε κάποιο Mini PC, γιατί τώρα το τρέχω στο main PC μου.
Η εγκατάσταση
Για την εγκατάσταση θα χρειαστεί να κάνουμε εγκατάσταση το Docker και το docker compose. Ο οδηγός του Docker είναι πάρα πολύ καλός, απλά επίλέξτε την διανομή σας και κάνετε την εγκατάσταση.
Προσωπικά πάω και στο post-installation για να τρέχω το docker χωρίς sudo…
Δεν αλλάζει κάτι, και χωρίς το παρακάτω θα γίνει η δουλεία μας
Έπειτα θα χρειαστεί να κάνουμε εγκατάσταση το docker-compose πακέτο με την εντολή
Και αυτό δεν ειναι απαραίτητο αλλά μας κάνει την ζωή πολύ πιο εύκολη και δεν τρέχουμε μια ατελείωτη εντολή στο τερματικό μας σαν μανιακοί αλλά από κάποιο yml αρχείο.
$ sudo apt-get install docker-compose
Μόλις όλα τα έχουν εγκατασταθεί θα χρειαστέι να δημιουργήσουμε ένα WireGuard configuration…
Αυτό είναι σχετικά εύκολο.
Συνδεόμαστε στο Proton VPN προφίλ μας και στο Downloads,
- δίνουμε ένα όνομα στο config πχ Stremio_server
- Επιλέγουμε την Πλατοφόρμα μας GNU/Linux
- Επιλέγουμε τον Level for NetShield (Εγώ επέλεγα malware και ads)
- Αν ο σερβερ μας κάνει, επίλέγουμε create, αλλιώς, επιλέγουμε τον server της επιλογής μας και έπειτα create…
Αυτο που μας ενδιαφέρει εδώ είναι το private key που αντιγράφουμε, αλλά κατά την απόψη μου… πατά το, το download… δεν χάθηκε και ο κόσμος
έπειτα σε ένα τερματικό, φτιάχνουμε ένα νέο φάκελο
$ mkdir stremio-docker
Δεν μας ενδιαφέρει που θα γίνει ο φάκελος, απλά να έχουμε δικαιώματα… Εμένα μου αρέσει να έχω ξεχωριστό φάκελο
~/Documents/dockers/
Μέσα σε αυτόν τον φάκελο θα δημιουργήσουμε ένα αρχείο με το όνομα docker-compose.yml
$ touch docker-compose.yml
έπειτα, θα μπούμε σε αυτό (nano of course…)
$ nano docker-compose.yml
και θα γράψουμε τα παρακάτω…
version: "3.7"
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
cap_add:
- NET_ADMIN
environment:
# To configuration για Proton VPN και Wireguard
- VPN_SERVICE_PROVIDER=protonvpn
- VPN_TYPE=wireguard
# To private key πάει εδώ
- WIREGUARD_PRIVATE_KEY=*****
# Η χώρα που επέλεξα ήταν στην Ισπανία… Αλλάξε την στην Δική σου
- SERVER_COUNTRIES=Spain
- FIREWALL=on
# Αφήνουμε τις πόρτες στο firewall για το Stremio
- FIREWALL_VPN_INPUT_PORTS=11470,12470
# What is your time zone??? Probably GR
- TZ=Europe/Athens
ports:
- 11470:11470
- 12470:12470
restart: unless-stopped
stremio-server:
image: stremio/server:latest
container_name: stremio-server
# Χρησιμοποιούμε μια ρύθμιση δίκτυου για το Stremio
network_mode: “container:gluetun”
volumes:
# Προαιραιτικό… Αν θέλεις να αποθηκέυονται οι ρυθμίσεις
- ./stremio-data:/root/.stremio-server
restart: unless-stopped
Έπειτα ακολουθεί η εντολή που θα φτιάξει το docker μας
Προσοχη
- αν δεν έκανες το post installation στο docker, βάλε το sudo μπροστα
- Πρέπει να είμαστε μέσα στον φάκελο με το docker-compose.yml
**$ docker compose up -d **
Περιμένουμε λιγάκι καιιιιι
μπούμ…
Λογικά, αν μπεις σε κάποιο browser και πατήσεις
Θα πρέπει να δείς τον server σου…
Αλλά περίμενε λιγάκι…
βεβαιώσου πως η IP είναι μέσω του VPN
$ docker exec -it stremio-server curl ifconfig.me
Με την εντολή
$ hostname -I
ή
$ ip addr
Θα βρείς την IP του υπολογιστή σου… Δοκίμασε λοιπόν να δεις αν μπορείς να συνδεθείς και από κάποιο άλλο PC η κινήτο…
Είναι από KVM αλλά κάνει την δουλέια του
Τελευταίο δωράκι…
Μου αρέσει πολύ η εφαρμόγη του Stremio όποτε:
$ flatpak install flathub com.stremio.Stremio
Όπως βλέπουμε, η εφαρμογή παίζει με τον server μας
Αυτή ήταν η εγκατάσταση…
Μετά από εδώ μπορούμε να πειραματιστούμε με HTTPS - SSL ή απλά αν θέλουμε μόνο έμεις πρόσβαση, το tailscale, μπόρει να βοηθήσει…
Θα τα πούμε στην επόμενη στάση που θα σκεφτώ…
Καλή συνέχεια και καλή οπτικοακουστική χαλάρωση…


