Ich suche nach einer einfachen Möglichkeit, Telnet-Verbindungen zu akzeptieren, ohne eine Shell-Schnittstelle bereitzustellen, ähnlich wie bei einem MUD-Server. Eigentlich möchte ich statischen Inhalt liefern, eher wie folgt:
telnet towel.blinkenlights.nl
Der Server muss für jede neue Telnet-Verbindung eine neue Instanz einer Drittanbieteranwendung (in diesem Fall VLC) starten und die Ausgabe der Anwendung (ASCII-Video-Rendering) direkt an den Remotebenutzer übermitteln.
Irgendwelche Vorschläge, wo ich hier anfangen kann?
quelle
vlc
ohne Kennwort erstellt und dies veröffentlicht hätten, würde dies Ihre Anonymitätsanforderung erfüllen?vlc
's hinzufügen.profile
, um die Quelladresse zu validieren, aber das würde sehr wenig Sicherheit bieten.telnetd
Ubuntu unterstützt wird, aber ich untersuche sie immer noch. Ich habe es jedoch geschafft, das Video für einen authentifizierten Benutzer zum Abspielen zu bringen,test
indem ich ein einfaches Shell-Skript geschrieben und es als Anmeldeshell festgelegt habe:#!/bin/bash \n cvlc -V aa /var/local/vlc/test.mp4
(Verwenden von \ n anstelle von newline hier, da Superuser Zeilenumbrüche in Antworten minimiert.)http://www.dest-unreach.org/socat/doc/socat.html#EXAMPLE_ADDRESS_EXEC
Sie können 5555 in 23 ändern (die Standardportnummer von Telnet).
Ändern Sie / bin / myscript in Ihr VLC-Skript oder Ihre Binärdatei.
http://www.dest-unreach.org/socat/doc/socat.html#ADDRESS_TYPES
Ich glaube, dass ähnliche Lösungen mit netcat oder inetd möglich sind
quelle
Wenn dies ein Linux-System ist, verwenden Sie
inetd
oderxinetd
. Erstellen Sie einen neuen Dienst, der auf den Standard-Telnet-Port verweist, und geben Sie Ihre ausführbare Datei als tatsächlichen Dienst an.quelle