Un nouveau projet open source nommé Moley propose une alternative gratuite à Ngrok pour exposer des services locaux sur Internet. Développé par un créateur indépendant, cet outil en ligne de commande (CLI) s'appuie sur les tunnels Cloudflare, offrant une expérience simplifiée, unifiée et incluant des fonctionnalités de sécurité Zero Trust.
Simplifier l'exposition de services locaux
De nombreux développeurs ont besoin de rendre accessible un service tournant sur leur machine locale – pour une démonstration, un hackathon ou le test d'un webhook. L'outil Ngrok remplit cette fonction, mais ses versions gratuites imposent des limitations, notamment des sous-domaines instables ou changeants. L'auteur de Moley explique avoir cherché une alternative économique et souveraine, en utilisant son propre domaine déjà hébergé chez Cloudflare.
Cloudflare Tunnels, via l'outil cloudflared, permet déjà de créer des tunnels gratuits vers un domaine personnel. Cependant, la procédure manuelle est jugée lourde : il faut s'authentifier, créer un tunnel, écrire un fichier YAML de configuration, ajouter des enregistrements DNS dans le tableau de bord, puis nettoyer manuellement ces enregistrements à l'arrêt. Moley vise à automatiser l'ensemble de ce processus en une seule commande.
Fonctionnement de Moley
Moley est décrit comme un « wrapper » autour de Cloudflare Tunnels. L'utilisateur déclare dans un fichier YAML les services locaux qu'il souhaite exposer. Par exemple, une application web sur le port 3000 et une API sur le port 8080, avec les sous-domaines respectifs web.mon-domaine.dev et api.mon-domaine.dev.
En exécutant la commande moley tunnel run, Moley se charge de créer le tunnel Cloudflare, de configurer les enregistrements DNS, d'établir les règles d'ingress et de lancer le tunnel. À l'arrêt (Ctrl+C), l'outil supprime automatiquement les enregistrements DNS et le tunnel, évitant tout résidu dans le compte Cloudflare. L'installation est possible via Homebrew.
Intégration native de Cloudflare Access (Zero Trust)
Une des fonctionnalités clés de Moley est l'automatisation de Cloudflare Access, la solution de Zero Trust de Cloudflare. Celle-ci permet d'ajouter des politiques d'authentification sur les sous-domaines exposés. Par exemple, un sous-domaine admin.mon-domaine.dev peut être protégé par une connexion SSO (Github) ou un code à usage unique envoyé par email.
L'auteur souligne que configurer manuellement ces politiques dans le tableau de bord Zero Trust est fastidieux. Moley permet de les déclarer directement dans le fichier YAML de configuration, en spécifiant les fournisseurs d'identité, la durée de session et les politiques d'accès (par exemple, autoriser uniquement une adresse email spécifique). Ces politiques sont créées et supprimées automatiquement avec le tunnel, offrant une protection complète sans intervention manuelle.
Un projet libre et en développement
Moley est publié sous licence MIT et est entièrement gratuit. L'auteur indique que le seul coût récurrent est celui du nom de domaine (environ 10 dollars par an), bien inférieur à un abonnement à Ngrok. Présenté comme l'un des premiers projets open source de son créateur, Moley a été développé en Go. L'auteur partage son outil dans un esprit de contribution à la communauté des développeurs.