À propos du projet
websocketd offre un moyen simple d'exposer des programmes en ligne de commande existants via WebSockets, sans nécessiter de bibliothèques réseau dans le programme lui-même. Après avoir démarré sur un port choisi, il accepte les connexions WebSocket et lance l'exécutable configuré pour chaque connexion. Les messages provenant du navigateur sont écrits sur l'entrée standard (STDIN) du processus avec un saut de ligne final, tandis que la sortie standard (STDOUT) terminée par un saut de ligne est renvoyée au client sous forme de messages WebSocket. Lorsque l'une ou l'autre des parties se déconnecte, le processus associé et son groupe de processus sont arrêtés.
Le programme backend peut être écrit dans tout langage prenant en charge l'entrée et la sortie standard, y compris les scripts shell, Python, Ruby, Perl, C, Go, PHP, Java, PowerShell, Lua et R. Les informations de requête telles que l'hôte distant, le chemin, les paramètres de requête et les cookies sont exposées aux scripts via les variables d'environnement CGI.
Les fonctionnalités supplémentaires incluent un serveur de fichiers statiques, la prise en charge classique de CGI, l'écoute sur un socket de domaine Unix avec des permissions configurables, le transfert optionnel de STDERR sous forme de JSON balisé, et une console de développement WebSocket intégrée pour se connecter, envoyer des trames et inspecter les réponses. L'outil est distribué sous forme d'un exécutable autonome unique pour Linux, macOS et Windows, avec une installation via Homebrew disponible sur macOS. Le dépôt contient également des liens vers des exemples et des projets d'exemple impliquant des statistiques système en temps réel, des REPL basés sur navigateur, l'accès à des bases de données, le listage de fichiers et la saisie de manette de jeu.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.