Καθίστε, πιάστε έναν καφέ — έναν σωστό ελληνικό, όχι εκείνα τα νεροζούμια που σερβίρουν στους τουρίστες — γιατί αυτή η ιστορία κρατά δέκα χρόνια και θα την πω όπως πραγματικά έγινε.

Το AliveGR (γραμμένο ακριβώς έτσι, και ναι, ο κόσμος ακόμα το γράφει λάθος) είναι πρόσθετο του Kodi για περιεχόμενο κυρίως στα ελληνικά: ζωντανή τηλεόραση, ταινίες, σειρές, αθλητικά, μουσική, ραδιόφωνο, ειδήσεις, παιδικά, ντοκιμαντέρ. Δεν φιλοξενεί τίποτα. Είναι μηχανή αναζήτησης πάνω σε ελεύθερα διαθέσιμες δημόσιες πηγές. Αυτή η μία πρόταση μου πήρε μια δεκαετία για να μπορώ να τη γράφω με σοβαρό ύφος. Αφήστε με να εξηγήσω.

2016: χωρίς κεραία, χωρίς ιδέα, χωρίς μυαλό

Έτος 2016. Δεν έχω κεραία DVB-T. Η ελληνική επίγεια ψηφιακή τηλεόραση είναι εκεί, στον αέρα, δωρεάν, και δεν μπορώ να δω τίποτα γιατί δεν αξιώθηκα ποτέ να αγοράσω ένα κομμάτι μέταλλο των δέκα ευρώ. Υπάρχει ένα πρόσθετο — το Hellenic TV — και είναι χαλασμένο στα σημεία που με ένοιαζαν. Η φυσιολογική αντίδραση ενός λογικού ανθρώπου: αναφορά σφάλματος, αναμονή, ίσως ένα patch.

Δεν ήμουν λογικός. Αποφάσισα να το χτίσω όλο από την αρχή.

Γιατί; Γιατί το να φτιάχνεις την αρχιτεκτονική κάποιου άλλου σημαίνει να κληρονομείς τις παραδοχές κάποιου άλλου, κι εγώ είχα Απόψεις (με κεφαλαίο Α, όπως πάντα). Ήθελα ένα πρόσθετο για όλα τα ελληνικά, όχι ένα συμπλήρωμα ζωντανής τηλεόρασης plus πέντε άλλα πρόσθετα δεμένα με μονωτική ταινία. Ένα μενού. Μία αναζήτηση. Μία εμπειρία που να μπορεί να τη χρησιμοποιήσει ο πεθερός σου χωρίς να σε πάρει τηλέφωνο. Και για να το κάνω αυτό, έπρεπε πρώτα να μάθω να προγραμματίζω — σωστά, όχι σε επίπεδο tutorial, αλλά σε επίπεδο «ανάλυση εχθρικού HTML στις 2 το πρωί». Ατελείωτες άυπνες νύχτες. Python tracebacks καμένα στους αμφιβληστροειδείς μου. Το ιστορικό commit εκείνης της εποχής διαβάζεται σαν ημερολόγιο στέρησης ύπνου, και ειλικρινά ήταν.

Η ειρωνεία, που την απολαμβάνω καθημερινά: τελικά πήρα κεραία. Έκτοτε χάλασε. Δέκα χρόνια μετά χρειάζομαι πάλι το δικό μου πρόσθετο. Ο κύκλος της ζωής, ελληνική streaming edition.

Τα χρόνια του TVAddons: ag, offshoregit, co

Αν ήσασταν στη σκηνή του Kodi το 2017, θυμάστε τον Ιούνιο εκείνης της χρονιάς όπως οι κανονικοί άνθρωποι θυμούνται πού ήταν στους σεισμούς. Το TVAddons.ag — το αποθετήριο Fusion, κάπου 1.500 πρόσθετα, η χτυπούσα καρδιά του τρίτου Kodi — χτυπήθηκε με αγωγές και έκλεισε μέσα σε μια νύχτα. Κατασχεμένα domain, προγραμματιστές να ψάχνουν δικηγόρους, χρήστες να κοιτάζουν νεκρά URL ενημερώσεων.

Το AliveGR τα έζησε όλα. Το πρόσθετο έκανε τη διαδρομή από το TVAddons.ag στο προσωρινό offshoregit και τελικά στο TVAddons.co, το domain της ανάστασης. Κάθε μετακίνηση σήμαινε νέα zip αποθετηρίου, νέες διαδρομές ενημέρωσης, μπερδεμένους χρήστες που ρωτούσαν γιατί σταμάτησε να ενημερώνεται το πρόσθετο, κι εμένα να εξηγώ DNS και φιλοξενία GitHub σε ανθρώπους που απλώς ήθελαν να δουν τις ειδήσεις. Εκείνα ήταν τα χρόνια που το AliveGR έγινε από προσωπικό project υποδομή — κάτι από το οποίο εξαρτιόντουσαν ξένοι, που είναι και κολακευτικό και τρομακτικό.

Τα νούμερα των commit λένε την ιστορία: 66 commit το 2017, 59 το 2018. Αυτό δεν είναι χόμπι. Είναι δεύτερη δουλειά χωρίς πληρωμή και με θυμωμένους πελάτες.

2018: αποκλεισμένος από τα φόρουμ του Kodi (το αστείο μέρος — και η αληθινή ιστορία)

Το 2018 αποκλείστηκα από τα επίσημα φόρουμ του Kodi. Ιδού η αληθινή ιστορία, εν συντομία — κρίνετε μόνοι σας.

Ο φίλος μου ο bugatsinho, κρυπτο-κολλημένος τότε και τώρα (εγώ όχι — το θεωρώ τζόγο), είχε φτιάξει «συντομευμένους» συνδέσμους βασισμένους σε Monero: ανοίγματα με απόδειξη εργασίας που έκαναν mining ένα ελάχιστο ποσό μέσω της CPU του επισκέπτη. Σαν χάρη, πέρασα το program addon μου για Kodi μέσα από αυτούς — έκανε whitelist τις IP των χρηστών για αναπαραγωγή βίντεο, και η σελίδα εξουσιοδότησης περνούσε σύντομα πρώτα από εκείνους τους συνδέσμους. Ήμουν αφελής χομπίστας, δεν το σκέφτηκα καλά. Αυτό ήταν λάθος, και το αναλαμβάνω: οι σύνδεσμοι ήταν opt-out αντί για opt-in, ακριβώς ανάποδα, όπως σωστά επισήμαναν οι χρήστες μετά την απολογία μου. Χειρότερα, το πρόσθετο ήταν μισοχαλασμένο εκ σχεδίου — η ροή εξουσιοδότησης μέσω browser απλώς πέθαινε σε Android box, LibreELEC, Fire stick — οπότε πολλοί χρήστες έπαιρναν την πύλη miner χωρίς καμία λειτουργική δυνατότητα από πίσω. Άχρηστο και λάθος, εξ ολοκλήρου δικός μου σχεδιασμός.

Κι έπειτα ήρθε η φάρσα: κάποιος έγραψε blog γι’ αυτό, το Reddit το πήρε, και η Team Kodi μπήκε και με έκανε αποδιοπομπαίο τράγο — άμεσο θέατρο μηδενικής ανοχής, η ίδια μεταχείριση που είχαν δώσει σε πολλούς προγραμματιστές πριν από εμένα. Χωρίς συζήτηση για opt-in εναντίον opt-out, χωρίς δρόμο αποκατάστασης, μόνο ο αποκλεισμός. Μια αναλογική απάντηση (υποχρεωτική αφαίρεση, διόρθωση σε opt-in, επιτήρηση) θα είχε επανορθώσει την πραγματική βλάβη· ο αποκλεισμός απλώς παρίστανε κάτι. Τιμώρησε το άτομο αντί να φτιάξει το πρόβλημα — γι’ αυτό ακριβώς ήταν δυσανάλογος.

Οπότε διαμαρτυρήθηκα με τον μόνο τρόπο που μπορεί ένας προγραμματιστής: ανέβασα μια κενή έκδοση του προσθέτου. Το ιστορικό εκδόσεων το δείχνει καθαρά — 24 Ιουνίου 2018, μήνυμα commit «Blank addon push»: κάθε αρχείο εκκενωμένο, κώδικας διαγραμμένος, ένα άδειο κέλυφος εκεί που ήταν το AliveGR. Το μήνυμα προς τα φόρουμ, και προς τους χρήστες που τους ικέτευαν να με επαναφέρουν: ωραία, τότε κανένα πρόσθετο — να δούμε πώς σας φαίνεται. Οι χρήστες, να ‘ναι καλά, υπέγραψαν κιόλας για την ανάκλησή μου. Ο αποκλεισμός έμεινε, το πρόσθετο επέστρεψε, και το κενό commit μένει στο ιστορικό git σαν μνημείο πείσματος. Είμαι περίεργα περήφανος γι’ αυτό.

Οι εκδόσεις: γιατί υπάρχει η κάθε μία

  • 1.x (2017–2019): τα άγρια χρόνια. Ταχεία επανάληψη, μερικές φορές πολλές εκδόσεις τη μέρα — μόνο ο Σεπτέμβριος 2017 έχει καμιά δεκαριά ανεβάσματα εκδόσεων. Κάθε ελληνικός ιστότοπος άλλαζε markup κάθε βδομάδα, κάθε διόρθωση χάλαγε άλλα δύο πράγματα. Αυτή είναι η εποχή που οι χρήστες θυμούνται με νοσταλγία κι εγώ ως τραύμα.
  • Blank (Ιούνιος 2018): το push διαμαρτυρίας που περιγράφεται παραπάνω. Όχι έκδοση, δήλωση.
  • 2.x (2020): η μεγάλη επανεγγραφή. Αφού η αρχιτεκτονική 1.x κατέρρευσε κάτω από το ίδιο της το βάρος, τον Ιανουάριο 2020 είδαμε ένα τρελό σπριντ — alpha1 έως alpha13 σε δέκα μέρες — που κορυφώθηκε με το 2.0.0 τελικό στις 30 Ιανουαρίου. Ένα σωστό πρόσθετο βασισμένο σε framework αντί για σωρό scrapers. Αυτή είναι η έκδοση που επέζησε για χρόνια.
  • 2023–2026: η παύση. Τρία χρόνια σχεδόν σιωπής — τέσσερα commit σε όλο το 2023, με την πραγματική ζωή να μπαίνει στη μέση όπως κάνει. Το πρόσθετο κρατιόταν ζωντανό με μηχανική υποστήριξη όσο ήμουν αλλού. Κάθε επιστρέφων προγραμματιστής ξέρει αυτή την ενοχή: το issue tracker να γεμίζει όσο είσαι απασχολημένος να είσαι άνθρωπος.
  • 2026: η επιστροφή, δύο φορές refactored. Κι έπειτα ήρθε η ανάπτυξη με βοήθεια AI, και εννοώ ήρθε — παραγωγικότητα εύκολα δεκαπλάσια. Το βαρετό 80% (boilerplate, πίνακες δοκιμών, αρχαιολογία rebase, προσαρμογές markup) το κάνει η μηχανή· εγώ περνάω τον χρόνο μου σε αποφάσεις κρίσης. Το 2026 είδε όχι μία αλλά δύο μεγάλες αναδιαρθρώσεις, περνώντας από τις 3.0.0 alpha όλη την άνοιξη μέχρι την 3.0.0 beta1 τον Οκτώβριο. Το πρόσθετο είναι καθαρότερο τώρα από ποτέ, και το μεγαλύτερο μέρος της πίστωσης πάει σε μια ροή εργασίας που δεν υπήρχε τρία χρόνια πριν.

Γιατί υπάρχει αυτός ο ιστότοπος

Το alivegr.app είναι το καθυστερημένο σπίτι του προσθέτου: τεκμηρίωση, νέα, και ένα μέρος που είναι δικό μου — χωρίς συντονιστές φόρουμ, χωρίς πολιτικές αποθετηρίων, χωρίς να χρειάζονται κενά push. Το πρόσθετο ζει στο github.com/Twilight0/plugin.video.alivegr, εγκαθίσταται μέσω του zip repository.twilight0, και η αρχική σελίδα καλύπτει τι κάνει.

Δέκα χρόνια, εκατοντάδες commit, ένας αποκλεισμός από φόρουμ, ένα push πείσματος, ένας τριετής υπνάκος, και δύο αναδιαρθρώσεις με AI. Η κεραία χάλασε πάλι. Το πρόσθετο δουλεύει. Κάποια πράγματα δεν αλλάζουν ποτέ — και κάποια επιτέλους αλλάζουν.

Καλή διασκέδαση.