Omdat ik een stapel HP T5700 thinclients had liggen zonder functie en graag zoiets als Sonos in mijn huis zou hebben, maar arm, gierig en een ontzettende geek ben, ben ik vorig jaar gaan vogelen om zelf een netwerk audiospeler in elkaar te zetten. Het resultaat hiervan is gebaseerd op Music Player Daemon als server, die de muziek multicast naar clients op basis van Buildroot. De clients PXE-booten, starten socat (netcat op steroïden) op om op een multicast adres te luisteren, MPD op de server heeft een pipe output om eveneens via socat de muziek naar dat zelfde adres te spuwen. Werkt als een zonnetje, waarom moeilijk doen als het ook makkelijk kan, toch.
Het enige wat mijn systeem nog nodig heeft, is een manier om de clients uit te zetten/commando's geven vanaf de server. Telnet en SSH zijn hiervoor niet geschikt, omdat die een sessie opzetten naar een daemon. Ik wil het liefst de commando's achteloos het netwerk op schreeuwen en dan moeten die clients maar zelf besluiten of ze er naar luisteren of niet. Ik heb al geprobeerd om commando's via netcat naar /bin/sh te echo'en, maar dat leverde niet echt een bruikbaar mechanisme op.
Wie o wie heeft er een creatief idee?
NB: het client OS is in totaal 2,4 MB groot, dus constructies met Python of Perl gaan ook niet echt lukken..
Het enige wat mijn systeem nog nodig heeft, is een manier om de clients uit te zetten/commando's geven vanaf de server. Telnet en SSH zijn hiervoor niet geschikt, omdat die een sessie opzetten naar een daemon. Ik wil het liefst de commando's achteloos het netwerk op schreeuwen en dan moeten die clients maar zelf besluiten of ze er naar luisteren of niet. Ik heb al geprobeerd om commando's via netcat naar /bin/sh te echo'en, maar dat leverde niet echt een bruikbaar mechanisme op.
Wie o wie heeft er een creatief idee?
NB: het client OS is in totaal 2,4 MB groot, dus constructies met Python of Perl gaan ook niet echt lukken..
Unix doesn't prevent a user from doing stupid things, because that would necessarily prevent them from doing brilliant things.
while true ; do echo -n "bla" ; sleep 1 ; done