Skip to content

Obscura

Un navigateur headless construit de zéro en Rust avec V8 et un endpoint Chrome DevTools, vendu sur sa faible mémoire et son anti-détection intégré.

Avis de Sheela · Mis à jour

Voir sur GitHub Open source

Notre note

3.7/5

Obscura est une manière prometteuse de réduire la facture de mémoire du scraping à grande échelle, mais c'est un moteur de six mois avec un propriétaire anonyme et un argumentaire furtif, si bien qu'il a sa place derrière vos propres tests, pas devant.

Qu’est-ce que Obscura ?

Obscura est un moteur de navigateur headless écrit en Rust plutôt qu'une enveloppe autour de Chrome. Il fait tourner le JavaScript des pages dans un V8 embarqué, implémente assez du Chrome DevTools Protocol pour que Puppeteer et Playwright s'y connectent, et depuis la version 0.2 rend les pages lui-même pour les captures d'écran, screencasts et PDF sans Chromium. Il se livre comme un seul binaire avec une commande fetch, une commande scrape parallèle, un serveur CDP et un serveur MCP avec 14 outils de navigateur.

Le projet est réel et actif, mais jeune et pseudonyme. Le dépôt a été créé le 13 avril 2026 par un compte ouvert deux semaines plus tôt, a dépassé 1 500 commits, et a livré une version environ toutes les deux semaines depuis août ; v0.2.5 est sortie le 17 octobre 2026. La plupart des commits viennent d'un contributeur autre que le propriétaire. Le billet d'ingénierie de Cloudflare sur son navigateur d'agent Kitesurf, publié le 6 août 2026, dit que l'équipe « a tiré son inspiration initiale d'obscura ».

Le code est Apache-2.0. Un Obscura Cloud hébergé avec des proxys résidentiels est sur liste d'attente, sans prix publié.

Obscura vaut-il le coup ?

L'attrait d'Obscura est arithmétique. Le README revendique environ 30 Mo de mémoire par instance contre 200 Mo ou plus pour Chrome headless, des chargements de page de 51 à 84 ms contre 500 à 800 ms, et un démarrage instantané. Ce sont les propres chiffres du projet, avec la suite de benchmark gardée dans un dépôt séparé ; aucune mesure indépendante n'est apparue dans les sources que nous avons vérifiées. S'ils tiennent même à peu près, une machine de scraping qui fait tourner des dizaines d'instances Chrome pourrait faire tourner plusieurs fois plus de workers Obscura.

Le compromis est la compatibilité. C'est un moteur indépendant, pas Chromium, et le README dit clairement que le CSS de longue traîne, certaines Web API, la lecture de médias, les effets de compositeur et la rastérisation des polices peuvent différer. La surface CDP couvre les méthodes communes Target, Page, Runtime, DOM, Network, Fetch, Storage et Input, ce qui suffit pour la plupart des scripts de scraping Puppeteer et Playwright mais n'est pas une promesse qu'une suite de tests de bout en bout complète se comporte comme dans Chrome. Les applis monopages lourdes peuvent atteindre le budget de script par défaut de 30 secondes.

Le positionnement mérite une description claire. Le build furtif optionnel randomise les empreintes GPU, canvas, audio et écran par session, rapporte navigator.webdriver comme undefined, marque les événements dispatchés comme fiables et bloque 3 520 domaines de trackers. Son seul sponsor listé est un vendeur de proxys résidentiels qui annonce « No KYC required ». Le respect de robots.txt est désactivé sauf si vous passez --obey-robots. L'outil vise les sites qui ne veulent pas être scrapés, et l'exposition légale et aux conditions d'utilisation retombe sur quiconque le fait tourner.

Les réglages de sécurité par défaut sont soignés. Les serveurs CDP et HTTP MCP refusent de se lier au-delà de loopback sauf si un jeton bearer d'au moins 32 octets est défini, les fetches vers les adresses privées et de métadonnées cloud sont bloqués par défaut pour arrêter la falsification de requête côté serveur, et l'image Docker tourne comme utilisateur non-root sur une base distroless. Contre cela, le propriétaire est un compte sans nom ni entreprise attaché, si bien qu'une équipe qui l'adopte devrait épingler les versions et construire depuis les sources plutôt que de faire passer le dernier binaire en production.

Là où il fait la différence

  • Un ingénieur données dans une start-up de surveillance de prix

    Rendre 50 000 pages produit lourdes en JavaScript par nuit sur moins de serveurs

    Lancez obscura scrape avec --concurrency réglé par machine et une expression --eval qui renvoie le prix et le stock en JSON. Testez un échantillon contre Chrome headless d'abord ; toute page qui se rend différemment retourne au pool Chrome.

  • Un développeur d'agent qui utilise Claude Desktop ou Cursor

    Donner à l'agent un navigateur léger sans installer Chrome

    Ajoutez obscura mcp comme serveur stdio ; l'agent reçoit les outils navigate, snapshot, click, fill, evaluate, screenshot et PDF. browser_evaluate exécute du JavaScript arbitraire, alors traitez les pages que l'agent visite comme une entrée non fiable.

  • Une équipe plateforme qui fait tourner un service de scraping partagé

    Héberger un endpoint CDP pour plusieurs clients internes

    Lancez obscura serve avec --workers et les options de recyclage --worker-max-rss et --worker-max-age, derrière OBSCURA_CDP_TOKEN. Un crash de worker ferme ses sessions, si bien que les clients doivent se reconnecter.

Avant de vous engager

Mise en route
Téléchargez une archive de version pour Linux, macOS ou Windows (builds plain, -stealth ou -no-render), utilisez l'image Docker, ou nix-env -iA nixpkgs.obscura. Construire depuis les sources a besoin de Rust 1.75 ou plus récent et d'environ cinq minutes pour la première compilation de V8 ; le build furtif a aussi besoin de CMake, Clang et LLVM.
Intégrations
Puppeteer et Playwright via connectOverCDP ; un serveur MCP via stdio ou HTTP avec 14 outils ; une bibliothèque Rust ; un plugin communautaire pour l'agent Hermes. Les proxys HTTP et SOCKS5 sont pris en charge sur chaque commande.
Données et confidentialité
Tourne localement ; une recherche du dépôt n'a trouvé aucun code de télémétrie. CDP et HTTP MCP ont besoin d'un jeton bearer de 32 octets pour se lier au-delà de loopback ; les fetches de réseau privé sont bloqués sauf si --allow-private-network est défini. Aucun avis de sécurité publié.
Coût à grande échelle
Gratuit à part les serveurs et les proxys. L'affirmation du projet de 30 Mo par instance, si elle tient pour vos sites, réduit la RAM nécessaire par page simultanée plusieurs fois contre Chrome. La tarification d'Obscura Cloud n'est pas publiée.
Limites
Environ 213 issues ouvertes. Le rendu est décrit comme encore en évolution ; la lecture vidéo, certaines Web API et les polices peuvent ne pas correspondre à Chromium. Les corps de réponse de plus de 2 Mio ne sont pas conservés par défaut. Versionnement pré-1.0, avec des changements cassants possibles.

Les points forts

  • Un seul binaire Rust, pas de Chrome ni de Node.js nécessaires
  • Puppeteer et Playwright se connectent via CDP
  • Jeton requis pour tout bind CDP ou MCP non-loopback
  • Protection SSRF activée par défaut

Les points faibles

  • Moteur indépendant ; le rendu et les Web API diffèrent de Chromium
  • Les chiffres de vitesse et de mémoire sont ceux du projet
  • Propriétaire pseudonyme, projet âgé de six mois
  • robots.txt ignoré sauf si vous l'activez

Idéal pour

Les équipes de scraping et d'agents qui paient de nombreuses instances Chrome et peuvent d'abord tester leurs sites cibles contre un moteur non-Chromium.

Alternatives à Obscura

Obscura : questions fréquentes

Obscura vaut-il le coup ?
Obscura est une manière prometteuse de réduire la facture de mémoire du scraping à grande échelle, mais c'est un moteur de six mois avec un propriétaire anonyme et un argumentaire furtif, si bien qu'il a sa place derrière vos propres tests, pas devant. Nous lui donnons 3.7 sur 5.
Combien coûte Obscura ?
Gratuit sous Apache-2.0. Obscura Cloud (hébergé, avec proxys) est sur liste d'attente uniquement et sans prix.
Quels sont les inconvénients de Obscura ?
Moteur indépendant ; le rendu et les Web API diffèrent de Chromium; les chiffres de vitesse et de mémoire sont ceux du projet; propriétaire pseudonyme, projet âgé de six mois; robots.txt ignoré sauf si vous l'activez.
À qui s’adresse Obscura ?
Les équipes de scraping et d'agents qui paient de nombreuses instances Chrome et peuvent d'abord tester leurs sites cibles contre un moteur non-Chromium.
Combien coûte Obscura pour une équipe ou en production ?
Gratuit à part les serveurs et les proxys. L'affirmation du projet de 30 Mo par instance, si elle tient pour vos sites, réduit la RAM nécessaire par page simultanée plusieurs fois contre Chrome. La tarification d'Obscura Cloud n'est pas publiée.
Obscura est-il sûr pour les données de l’entreprise ?
Tourne localement ; une recherche du dépôt n'a trouvé aucun code de télémétrie. CDP et HTTP MCP ont besoin d'un jeton bearer de 32 octets pour se lier au-delà de loopback ; les fetches de réseau privé sont bloqués sauf si --allow-private-network est défini. Aucun avis de sécurité publié.
Quelles sont les meilleures alternatives à Obscura ?
Les alternatives les plus proches que nous avons testées sont Crawl4AI, Firecrawl, Stagehand et Browser Use.

Réponses vérifiées le 26 oct. 2026.