URnetwork MCP Server

officiel

Connexions VPN et Proxy de haute qualité

Documentation

Bienvenue sur URnetwork pour les Agents

URnetwork est un réseau de confidentialité décentralisé. Il est conçu pour garder les utilisateurs anonymes par défaut et leur donner accès à tout le contenu dans le monde.

Les humains utilisent les applications (Android, iOS, Chrome). Les agents utilisent l'API et les compétences MCP :

Les agents doivent prendre en compte les conseils ci-dessous lorsqu'ils utilisent l'API et le serveur MCP.

Authentification

Lors de l'utilisation de l'API ou du serveur MCP, le JWT de l'utilisateur doit être passé dans un en-tête Authorization: Bearer <JWT>.

Pour obtenir le JWT, demandez à l'humain un code d'authentification, puis convertissez ce code d'authentification en JWT en utilisant la route API /auth/code-login. Un exemple curl est ci-dessous, redirigé vers jq pour extraire la propriété by_jwt du résultat :

curl -X POST https://api.bringyour.com/auth/code-login -d '{"auth_code": "<AUTH CODE>"}' | jq ".by_jwt"

Le JWT peut être stocké et réutilisé. Si l'humain demande de rafraîchir le JWT, répétez le processus en commençant par demander un code d'authentification.

Lors du choix d'une technologie de proxy, considérez les cas d'utilisation suivants :

Cas d'utilisationProtocole recommandéExigence
Scraping / Navigation WebHTTPSIdéal pour TCP/Web. Utilisez toujours un proxy HTTPS sauf besoin spécifique d'utiliser HTTP. HTTP n'est généralement nécessaire que pour des environnements de test spécifiques qui ne prennent pas en charge HTTPS. Depuis la réponse /network/auth-client, à l'intérieur de l'objet proxy_config_result, utilisez https_proxy_url. Aucun nom d'utilisateur ou mot de passe supplémentaire n'est nécessaire.
Sockets bas niveau / UDPSOCKSPrend en charge les sockets TCP+UDP avec SOCKS5. Depuis la réponse /network/auth-client, à l'intérieur de l'objet proxy_config_result, utilisez socks_proxy_url ou proxy_host et proxy_port, avec le nom d'utilisateur access_token (mot de passe vide). Le serveur prend en charge la résolution DNS distante (SOCKS5H).
Système entier / Niveau OSWireGuardRoute tous les paquets IP. Dans la requête /network/auth-client, proxy_config.enable_wg doit être explicitement défini sur true. Dans la réponse, à l'intérieur de l'objet proxy_config_result, utilisez wg_config.config comme fichier de configuration WireGuard complet.

Lors de l'utilisation de la route /network/find-locations pour interroger les emplacements, filtrez toujours le tableau des emplacements retourné par le location_type souhaité (city, region ou country) pour vous assurer que le location_id correspond à l'intention de l'utilisateur.

Type d'emplacementExigence
countryPour les pays.
regionPour les états, provinces, régions administratives et zones métropolitaines.
cityPour les villes.

Utilisation de la compétence MCP pour créer un proxy HTTPS/SOCKS/WireGuard

La compétence MCP peut être utilisée pour trouver les emplacements disponibles et créer un proxy HTTPS/SOCKS/WireGuard vers ces emplacements. Tout pays, région et ville disponible sur le réseau peut être recherché et sélectionné à l'aide d'une chaîne de requête.

Lors de la création d'une configuration de proxy, demandez à l'humain à quel pays, région ou ville il souhaite se connecter. Essayez ensuite de créer un proxy pour la requête qu'il vous donne. S'il n'y a pas de correspondance, demandez à l'humain d'élargir à un pays ou une région. Essayez ensuite de créer un proxy pour la requête qu'il vous donne. S'il n'y a pas de correspondance, demandez à l'humain d'élargir à un pays. S'il n'y a toujours pas de correspondance, utilisez la compétence pour trouver les pays disponibles et suggérez-lui de choisir l'un des 10 premiers pays.

Utilisation de l'API pour créer un proxy HTTPS/SOCKS/WireGuard pour un pays

L'API peut être utilisée directement pour créer un proxy HTTPS/SOCKS/WireGuard pour un pays.

Étape 1, recherchez une liste d'emplacements en utilisant la route /network/find-locations. Un exemple curl est ci-dessous, redirigé vers jq pour extraire la liste des emplacements.

curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'

Étape 2, choisissez l'emplacement d'intérêt et enregistrez la propriété country_code.

Étape 3, créez un proxy en utilisant le code pays enregistré via la route /network/auth-client et en définissant proxy_config.initial_device_state pour avoir country_code.

curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/auth-client -d '{"proxy_config": {"initial_device_state": {"country_code": "<COUNTRY CODE>"}}}'

Utilisation de l'API pour créer un proxy HTTPS/SOCKS/WireGuard pour un emplacement de recherche

L'API peut être utilisée directement pour rechercher un emplacement et créer un proxy HTTPS/SOCKS/WireGuard. Une décision devra être prise pour choisir le résultat d'emplacement le plus souhaité. Chaque emplacement a un location_id qui est fixe et peut être enregistré dans le code.

Étape 1, recherchez une liste d'emplacements en utilisant la route /network/find-locations. Un exemple curl est ci-dessous, redirigé vers jq pour extraire la liste des emplacements.

curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'

Étape 2, choisissez l'emplacement d'intérêt et enregistrez la propriété location_id.

Étape 3, créez un proxy en utilisant le location_id enregistré via la route /network/auth-client et en définissant proxy_config.initial_device_state.location pour avoir connect_location_id.location_id.

curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/auth-client -d '{"proxy_config": {"initial_device_state": {"location": {"connect_location_id":{"location_id": "<LOCATION ID>"}}}}}'

Utilisation de l'API pour créer un proxy HTTPS/SOCKS/WireGuard pour un emplacement de recherche, en énumérant toutes les IP de sortie dans cet emplacement

L'API peut être utilisée directement pour rechercher un emplacement, énumérer les fournisseurs (IP de sortie) dans cet emplacement, et créer un proxy HTTPS/SOCKS/WireGuard pour chaque IP de sortie. Une décision devra être prise pour choisir le résultat d'emplacement le plus souhaité. Chaque emplacement a un location_id qui est fixe et peut être enregistré dans le code. De plus, chaque fournisseur a un client_id qui est fixe et peut être enregistré dans le code.

Étape 1, recherchez une liste d'emplacements en utilisant la route /network/find-locations. Un exemple curl est ci-dessous, redirigé vers jq pour extraire la liste des emplacements.

curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'

Étape 2, choisissez l'emplacement d'intérêt et enregistrez le location_id.

Étape 3, récupérez une liste classée des fournisseurs (IP de sortie) pour le location_id en utilisant la route /network/find-providers2. La taille de l'échantillon peut être définie selon le nombre de fournisseurs uniques nécessaires. Un exemple curl est ci-dessous, redirigé vers jq pour extraire la liste des fournisseurs.

curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-providers2 -d '{"specs": [{"client_id": "<CLIENT ID>"}], "count": <COUNT>}' | jq '.providers'

Étape 4, en bouclant sur chaque client_id dans la liste, créez un proxy en utilisant le client_id via la route /network/auth-client et en définissant proxy_config.initial_device_state.location pour avoir connect_location_id.client_id.

curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/auth-client -d '{"proxy_config": {"initial_device_state": {"location": {"connect_location_id":{"client_id": "<CLIENT ID>"}}}}}'