7 Νοεμβρίου 2026 / Lef
Mus-Eq: η μουσική μου, στον δικό μου server
7 Νοεμβρίου 2026
Το Mus-Eq είναι ένας μουσικός server και player που τον τρέχεις μόνος σου. Ένας μικρός server σε Rust, web player πάνω στο Webamp με την κλασική όψη του Winamp, και μια πρώιμη εφαρμογή για Android. Τι δουλεύει, τι έχει δοκιμαστεί, και τι όχι ακόμη.

Ήθελα έναν server για τη μουσική μου που να τον ελέγχω εγώ. Να μη δίνω τη βιβλιοθήκη μου σε καμία υπηρεσία, να έχει την κλασική όψη του Winamp, και να παίζει και στο κινητό. Έτσι ξεκίνησε το Mus-Eq. Είναι ανοιχτού κώδικα (MIT ή Apache-2.0, ό,τι προτιμάς) και είναι ακόμη στην αρχή του.
Τι είναι
Ένας μικρός server σε Rust κρατά τη βιβλιοθήκη σου και τη σερβίρει μέσα από ένα API, που είναι και τεκμηριωμένο. Τον τρέχεις σε Docker. Πάνω του μιλάνε οι clients: ένας web player πάνω στο Webamp, οπότε το πρώτο skin είναι το κλασικό Winamp, και μια πρώιμη εφαρμογή για Android. Clients για Windows και Linux είναι στα σχέδια, δεν υπάρχουν ακόμη.

Ο web player με το κλασικό skin, με δοκιμαστικά αρχεία.
Τι κάνει σήμερα: σαρώνει έναν φάκελο, διαβάζει τα tags, και η αναζήτηση αγνοεί τόνους και κεφαλαία, και στα ελληνικά. Γράφεις «λαμψη» και βρίσκει το «Λάμψη». Έχει playlists, και μια playlist μπορεί να μεγαλώνει μόνη της: όταν τελειώνει, προσθέτει τραγούδια από καλλιτέχνες που δεν έχει ήδη, στο ίδιο είδος, από τη δική σου βιβλιοθήκη. Βρίσκει διπλά αρχεία από το αποτύπωμα του ήχου και προτείνει ποιο να κρατήσεις, αλλά δεν σβήνει ποτέ τίποτα. Προτείνει tags από το MusicBrainz, και η πρόταση αλλάζει τη βάση μόνο αν την αποδεχτείς. Τα αρχεία ήχου δεν τα ξαναγράφει ποτέ.
Έχει και ραδιόφωνα. Μια λίστα σταθμών, με μια ελληνική λίστα μέσα από το Tray-FM του Constantinos (Unlicense), και έλεγχο για το ποιοι σταθμοί παίζουν. Και ένα ραδιόφωνο φτιαγμένο από τα δικά σου αρχεία, με τον τίτλο του τραγουδιού να φαίνεται στους players που το υποστηρίζουν.
Δεν πακετάρει προγράμματα τρίτων
Αυτό το ήθελα από την αρχή. Το Mus-Eq δεν έχει μέσα ούτε ffmpeg, ούτε yt-dlp, ούτε deno, ούτε καν το container image. Είναι ξεχωριστά προγράμματα με δικές τους άδειες. Όταν χρειαστείς κάποιο, ο server σου λέει πρώτα τι ακριβώς θα κατεβάσει, από πού, πόσο μεγάλο είναι, γιατί το χρειάζεται και με ποια άδεια. Κατεβαίνει μόνο αν το επιβεβαιώσεις, και πριν χρησιμοποιηθεί ελέγχεται με ένα SHA-256 που είναι καρφωμένο στην έκδοση. Αν δεν ταιριάζει, δεν μπαίνει. Το έχω δοκιμάσει σε πραγματικό μηχάνημα, με τα κανονικά downloads από το GitHub.



Η εφαρμογή στο κινητό: η ερώτηση πριν από ένα download, η οθόνη Tools, κι ένα ραδιόφωνο από τη βιβλιοθήκη.
Offline που μπορείς να εμπιστευτείς
Στο κινητό καρφιτσώνεις ένα τραγούδι ή μια ολόκληρη playlist, και κατεβαίνει. Κάθε αρχείο ελέγχεται με το μέγεθος και το SHA-256 που ξέρει ο server. Το «Check pinned copies» ξαναελέγχει όσα έχεις, και ό,τι έχει χαλάσει το κατεβάζει ξανά. Το παλιό μένει μέχρι να ελεγχθεί το καινούργιο. Αυτά τα δοκίμασα με το χέρι στο κινητό μου: έπαιξε με τον server σταματημένο, και ένα αρχείο που χάλασα επίτηδες διορθώθηκε. Το token του server αποθηκεύεται πλέον κρυπτογραφημένο στο κινητό.
Τι δεν είναι έτοιμο
Αυτό είναι το κομμάτι που μετράει, οπότε το λέω καθαρά:
- Δεν υπάρχουν ακόμη clients για Windows και Linux, skins στο Android, ούτε ζωντανό ραδιόφωνο από το μικρόφωνο του κινητού.
- Η εφαρμογή Android υπάρχει μόνο σαν debug build, και έχει δοκιμαστεί σε ένα κινητό (ένα OnePlus 13).
- Οι τίτλοι στο ραδιόφωνο από τα δικά σου αρχεία είναι καινούργιοι. Έχουν τεστ, αλλά δεν τους έχω δοκιμάσει ακόμη σε VLC ή σε browser. Ένα ραδιόφωνο τρέχει αυτή τη στιγμή για 24 ώρες, και αποτέλεσμα δεν έχει ακόμη.
- Το HTTPS δεν το έχω δοκιμάσει με πραγματικό πιστοποιητικό.
- Το κατέβασμα τραγουδιών από YouTube Music ή Spotify υπάρχει, αλλά είναι κλειστό από προεπιλογή και δεν έχει τρέξει ποτέ πάνω στις πραγματικές υπηρεσίες, μόνο σε ψεύτικες για τα τεστ.
- Τα downloads για ARM δεν τα έχω τρέξει.
Όλα αυτά, φάση προς φάση, με το τι έχει ελεγχθεί και τι όχι, είναι στο roadmap του έργου. Το ίδιο και η λίστα με το τι δουλεύει σήμερα στο README. Δεν θέλω να υπόσχομαι κάτι που δεν έχω δει να δουλεύει.
Δοκίμασέ το
Χρειάζεσαι Docker, έναν φάκελο με μουσική κι ένα token. Οι οδηγίες είναι στο README. Για το Android, φτιάχνεις το debug APK από τον φάκελο android/. Issues για bugs, ιδέες και σταθμούς είναι ανοιχτά στο GitHub.
Ευχαριστώ το Webamp (MIT) για τον player και τον Constantinos για τη λίστα σταθμών του Tray-FM (Unlicense). Όλα τα προγράμματα τρίτων και οι άδειές τους είναι στο THIRD_PARTY.md. Η σελίδα του Mus-Eq θα κρατά την τρέχουσα κατάσταση.