MixFetch — comme l’API Fetch, mais via le mixnet

Nym Francophone
4 min readOct 3, 2023

--

Les développeurs d’applications web peuvent améliorer la confidentialité de leurs applications facilement avec ce remplacement simple et direct pour Fetch.

L’API Fetch est l’interface JavaScript standard et facile à utiliser pour les constructeurs qui souhaitent extraire des informations du web. Cependant, comme presque toutes les interactions en ligne, l’utilisation de cette API révèle des métadonnées, ce qui signifie que le trafic vers et depuis l’API est traçable, et donc vulnérable à l’analyse des motifs. Pour résoudre ce problème, les développeurs peuvent désormais faire fonctionner l’API Fetch à travers le mixnet de Nym avec mixFetch, offrant une couverture au trafic réseau lors de la récupération de ressources à partir de sites web ou de services en ligne.

Qu’est-ce que mixFetch ?

Pensez à mixFetch comme un remplacement direct pour l’API Fetch, mais avec une différence : les schémas de trafic qui seraient normalement exposés sont maintenant protégés par le mixnet.

Avec mixFetch, les développeurs peuvent créer des applications améliorées en matière de confidentialité qui récupèrent des ressources du web, sans laisser de trace. Par exemple, mixFetch pourrait être utilisé pour créer une simple application de chat JavaScript avec anonymat garanti via le mixnet.

Que signifie “fetch” via le mixnet ?

Voici ce qui se passe lorsque n’importe quel type de message, transaction ou demande est envoyé via le mixnet de Nym : tout d’abord, il est enveloppé dans des “packets” cryptés de manière identique et mélangés avec des paquets factices. Ceux-ci sont ensuite envoyés via trois “hops” vers des mixnodes partout dans le monde, rendant ainsi impossible le traçage des motifs de communication.

Ces paquets sont ensuite déchiffrés et réassemblés à l’extrémité réceptrice, protégeant les adresses IP, les métadonnées et donc tous les motifs de communication qui peuvent être utilisés pour désanonymiser les personnes ou en savoir plus sur les services.

Lorsqu’un paquet émerge de l’autre côté, il est acheminé via un “Demandeur de réseau” Nym qui interagit avec les services au nom de l’utilisateur, un peu comme un proxy.

En savoir plus : Plongée technique : Nym Network Requesters

Avec mixFetch, les développeurs peuvent intégrer cette infrastructure dans les applications web, garantissant qu’il n’y a pas de lien direct entre l’utilisateur du mixnet et le service web qu’il utilise.

Comment améliorer la confidentialité des applications web avec mixFetch

Écrire du code avec mixFetch est simple.

Commencez par installer mixFetch :

npm install @nymproject/mix-fetch

Ensuite, collez le code suivant dans votre code, en remplaçant les exemples par l’API dont vous avez besoin.

import { mixFetch } from '@nymproject/mix-fetch';

// HTTP GET
const response = await mixFetch('https://nymtech.net');
const html = await response.text();

// HTTP POST
const apiResponse = await mixFetch('https://api.example.com', {
method: 'POST',
body: JSON.stringify({ foo: 'bar' }),
headers: { [`Content-Type`]: 'application/json', Authorization: `Bearer ${AUTH_TOKEN}` }
});

C’est tout ! Vous avez maintenant amélioré la confidentialité de Fetch avec mixFetch.

Wow, c’est assez facile. Quel est le piège ?

Il y a actuellement certaines limitations. Pour le moment, seulement quelques services web sont activés pour les Network Requesters du mixnet de Nym. Jusqu’à ce que ceux-ci soient ouverts, mixFetch ne fonctionnera qu’avec les services de cette liste. Rejoignez le chat de dev sur Discord ou Matrix pour demander à ce qu’un service soit ajouté à la liste !

Une solution possible pour étendre l’utilisation de mixFetch est que les demandeurs de réseau fonctionnent via un proxy ouvert, ce qui permettrait de contacter plus de services sans leur permission. L’utilisateur pourrait alors théoriquement tirer n’importe quelle information de n’importe quel site web ou service.

Cependant, cela pose un autre ensemble de défis, car les proxies ouverts peuvent être abusés par des acteurs malveillants.

Une solution potentielle à ce problème est d’exécuter un modèle similaire à Tor Null pour les opérateurs de nœuds de sortie Tor. Il s’agit essentiellement d’une liste de refus qui interdit le trafic vers et depuis des adresses problématiques connues. Alternativement, une liste blanche pourrait être introduite, permettant seulement le trafic vers et depuis des adresses web sûres garanties.

Nym core est actuellement en discussion avec les opérateurs pour trouver la meilleure solution possible afin de permettre l’utilisation du mixnet pour la plus large gamme possible de services.

En attendant : il y a deux options pour les développeurs qui souhaitent accéder à un service qui n’est pas actuellement sur la liste d’autorisation.

  • Exécutez votre propre demandeur de réseau et configurez-le pour permettre aux hôtes auxquels vous devez vous connecter
  • Contactez Nym core via Github, Matrix (Element) ou Discord au sujet des sites que vous aimeriez voir inclus dans la liste d’autorisation standard

MixFetch est disponible dès maintenant — essayez-le !

Développeurs : essayez d’utiliser mixFetch pour construire une application web améliorée en matière de confidentialité qui fonctionne sur le mixnet, et veuillez envoyer vos commentaires via les canaux de la communauté Nym ci-dessous.

Rejoignez la communauté Nym

Discord // Telegram // Element // Twitter

La confidentialité aime la compagnie

English // 中文 // Русский // Türkçe // Tiếng Việt // 日本 // Française // Español // Português // 한국인

--

--

Nym Francophone

Nym représente l'avenir de la privacy et de la protection des données.