URnetwork

resmi

Yüksek kaliteli VPN ve Proxy bağlantıları

URnetwork MCP ile neler yapabilirsiniz?

  • Mevcut çıkış konumlarını bulun — providerLocations üzerinden ağdaki ülkeleri, bölgeleri veya şehirleri sorun; eşleşme olmadığında yedek öneriler sunun.
  • Seçilen bir konumdan web içeriği getirin — Seçilen bir ülke, bölge veya şehirden gezinir gibi bir URL’yi yüklemek için fetch kullanın; isteğe bağlı sayfa kaynak toplama desteğiyle.
  • Çağrılar arasında tarama oturumlarını koruyun — Aynı çıkış konumunu sürdürmek ve oturum açma bilgilerini veya onay banner’larını korumak için döndürülen signed_proxy_id ve cookies değerlerini yeniden kullanın.
  • Sayfalara ayrılmış sayfa kaynaklarını toplayın — Kalan başvurulan görselleri, stil sayfalarını, betikleri veya medyayı almak için fetch sonuçlarından gelen continuation değerini geri iletin.
  • Ağ ödeme gereksinimlerini ele alın — Sonuçlarda payment_required göründüğünde, açıklanan ödemeyi imzalayın ve imzalı ödemeyi ekleyerek aynı fetch çağrısını yeniden deneyin.

Dokümantasyon

URnetwork'e Ajanlar için Hoş Geldiniz

URnetwork, merkeziyetsiz bir gizlilik ağıdır. Kullanıcıları varsayılan olarak anonim tutacak ve dünyadaki tüm içeriğe erişim sağlayacak şekilde tasarlanmıştır.

İnsanlar uygulamaları kullanır (Android, iOS, Chrome). Ajanlar API ve MCP becerilerini kullanır:

Ajanlar, API ve MCP sunucusunu kullanırken aşağıdaki yönergeleri dikkate almalıdır.

Kimlik Doğrulama

API ve MCP sunucusu farklı şekilde kimlik doğrular. Çağırdığınız yüzey için doğru olanı kullanın.

MCP sunucusu: OAuth

MCP sunucusu, OAuth 2.1 korumalı bir kaynaktır. Ağ JWT'si veya API anahtarı burada kabul edilmez — yalnızca URnetwork'ün kendi yetkilendirme sunucusu tarafından verilen bir erişim belirteci kabul edilir.

Çoğu MCP istemcisi bunu sizin için yapar: https://mcp.bringyour.com adresine bağlanın; istemci, yetkilendirme sunucusunu keşfeder ve kullanıcıyı oturum açma sürecinden geçirir. Akışı kendiniz uyguluyorsanız:

  1. MCP sunucusunu belirteç olmadan çağırın. Korumalı kaynak meta verilerini adlandıran bir WWW-Authenticate başlığı ile 401 yanıtı verir.
  2. Yetkilendirme sunucusunu bulmak için bu meta verileri https://mcp.bringyour.com/.well-known/oauth-protected-resource adresinden alın: https://auth.bringyour.com.
  3. Uç noktaları için https://auth.bringyour.com/.well-known/oauth-authorization-server (veya /.well-known/openid-configuration) adresini alın.
  4. PKCE ile yetkilendirme kodu akışını çalıştırın. https://mcp.bringyour.com olarak ayarlanmış resource parametresini ekleyin; bu, belirteci bu sunucuya bağlar.
  5. Ortaya çıkan erişim belirtecini her MCP isteğinde Authorization: Bearer <ACCESS TOKEN> olarak gönderin.

Kapsamlar:

KapsamSağladıkları
mcp:readproviderLocations
mcp:fetchfetch — ağa faturalandırılan bir çıkış istemcisi açar
openidkullanıcıyı tanımlayan bir kimlik belirteci
offline_accessyenileme belirteci; böylece bağlantı yeniden sorulmadan sürer

Erişim belirteçleri bir saat geçerlidir. offline_access isteyin ve kullanıcıyı tarayıcıya geri göndermek yerine yenileme belirtecini kullanın. Bir araç, sahip olmadığınız bir kapsam gerektirdiğini bildirirse, bu kapsamı sahip olduklarınıza ek olarak isteyerek yeniden yetkilendirin; aksi takdirde diğerlerini kaybedersiniz.

API: JWT

API'yi kullanırken (https://api.bringyour.com), kullanıcı JWT'si bir Authorization: Bearer <JWT> başlığında iletilir.

JWT'yi almak için insandan bir kimlik doğrulama kodu isteyin ve ardından bu kodu API /auth/code-login rotasını kullanarak JWT'ye dönüştürün. Aşağıda, sonuçtan by_jwt özelliğini çıkarmak için jq'ye aktarılan örnek bir curl bulunmaktadır:

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

JWT saklanabilir ve yeniden kullanılabilir. İnsan JWT'yi yenilemek isterse, kimlik doğrulama kodu istemekle başlayarak süreci tekrarlayın.

Bir proxy teknolojisi seçerken aşağıdaki kullanım durumlarını göz önünde bulundurun:

Kullanım DurumuÖnerilen ProtokolGereksinim
Kazıma / Web TaramaHTTPSTCP/Web için en iyisi. Özel bir HTTP kullanma ihtiyacı olmadıkça her zaman HTTPS proxy kullanın. HTTP genellikle yalnızca HTTPS'i desteklemeyen belirli test ortamları için gereklidir. /network/auth-client yanıtından, proxy_config_result nesnesinin içinde https_proxy_url kullanın. Ek kullanıcı adı veya şifre gerekmez.
Düşük Seviyeli Soketler / UDPSOCKSSOCKS5 ile TCP+UDP soketlerini destekler. /network/auth-client yanıtından, proxy_config_result nesnesinin içinde socks_proxy_url veya proxy_host ve proxy_port kullanın; kullanıcı adı access_token (boş şifre) olarak. Sunucu uzak DNS çözümlemesini destekler (SOCKS5H).
Sistem Geneli / İşletim Sistemi SeviyesiWireGuardTüm IP paketlerini yönlendirir. /network/auth-client isteğinde, proxy_config.enable_wg açıkça true olarak ayarlanmalıdır. Yanıtta, proxy_config_result nesnesinin içinde wg_config.config'i tam WireGuard yapılandırma dosyası olarak kullanın.

/network/find-locations rotasını konumları sorgulamak için kullanırken, location_id'nin kullanıcının niyetiyle eşleştiğinden emin olmak için döndürülen locations dizisini her zaman istenen location_type (city, region veya country) ile filtreleyin.

Konum TürüGereksinim
countryÜlkeler için.
regionEyaletler, iller, idari bölgeler ve metropol alanları için.
cityŞehirler için.

MCP sunucusunu kullanma

MCP sunucusu iki araç sunar.

providerLocations

Mevcut konumları bulur. Ağdaki herhangi bir ülke, bölge veya şehir bir sorgu dizesiyle aranabilir; boş bir sorgu mevcut ülkeleri döndürür. mcp:read gerektirir.

İnsana hangi ülke, bölge veya şehri istediklerini sorun. Eşleşme yoksa, onlardan bir bölgeye, ardından bir ülkeye genişletmelerini isteyin. Hâlâ eşleşme yoksa, mevcut ülkeleri listeleyin ve ilk 10'dan birini önerin.

fetch

Seçilen bir konumdan tarayıcıdaymış gibi bir URL yükler ve isteğe bağlı olarak sayfanın referans verdiği görselleri, stil sayfalarını, betikleri ve medyayı döndürür. mcp:fetch gerektirir; çünkü her yeni konum ağa faturalandırılan bir çıkış istemcisi açar.

Durum sizin üzerinizden geri iletilir. Her sonuç, ileriye taşınacak şeyi tam olarak söyleyen bir next_step içerir:

  • signed_proxy_id — isteğe hizmet eden çıkış. Her seferinde yeni bir istemci açmak yerine aynı konumu yeniden kullanmak için sonraki yüklemelerde geri iletin. Çıkışın süresi dolarsa yeniden kurulabilmesi için location iletmeye devam edin. Yeniden kullanım aynı konumu garanti eder, aynı çıkış IP'sini değil.
  • cookies — site oturumu; böylece oturum açma işlemleri ve onay bildirimleri çağrılar arasında korunur. Opaktır; değiştirmeden geri iletin ve asla düzenlemeyin.
  • continuation — sayfa tek çağrıya sığandan daha fazla kaynağa referans verdiğinde mevcuttur. Gerisini toplamak için onu ileterek tekrar çağırın; o zaman url gerekmez.
  • payment_required — ağ, planının eşzamanlı istemci sınırındayken ve ödeme bunu çözebildiğinde mevcuttur. Açıklanan ödemeyi imzalayın ve aynı çağrıyı payment imzalı ödemeye ayarlanmış şekilde tekrarlayın. Ayrı bir satın alma akışı başlatmayın.

Kaynak keşfi statiktir: HTML, referanslar için ayrıştırılır. Bir sayfanın JavaScript ile yüklediği içerik görülmez.

Doğrudan kullanım için proxy oluşturma

MCP sunucusu üzerinden getirmek yerine kendiniz yönlendireceğiniz bir HTTPS/SOCKS/WireGuard proxy almak için aşağıdaki API akışını kullanın.

Bir ülke için HTTPS/SOCKS/WireGuard proxy oluşturmak üzere API'yi kullanma

API, bir ülke için HTTPS/SOCKS/WireGuard proxy oluşturmak üzere doğrudan kullanılabilir.

Adım 1, /network/find-locations rotasını kullanarak konumların bir listesini arayın. Aşağıda, locations listesini çıkarmak için jq'ye aktarılan örnek bir curl bulunmaktadır.

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

Adım 2, ilgilenilen konumu seçin ve country_code özelliğini kaydedin.

Adım 3, /network/auth-client rotasını kullanarak ve proxy_config.initial_device_state içinde country_code ayarlayarak kaydedilen ülke kodunu kullanarak bir proxy oluşturun.

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

Bir arama konumu için HTTPS/SOCKS/WireGuard proxy oluşturmak üzere API'yi kullanma

API, bir konumu aramak ve HTTPS/SOCKS/WireGuard proxy oluşturmak için doğrudan kullanılabilir. En çok istenen konum sonucunu seçmek için bir karar verilmesi gerekecektir. Her konumun sabit olan ve kodda kaydedilebilen bir location_id'si vardır.

Adım 1, /network/find-locations rotasını kullanarak konumların bir listesini arayın. Aşağıda, locations listesini çıkarmak için jq'ye aktarılan örnek bir curl bulunmaktadır.

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

Adım 2, ilgilenilen konumu seçin ve location_id özelliğini kaydedin.

Adım 3, /network/auth-client rotasını kullanarak ve proxy_config.initial_device_state.location içinde connect_location_id.location_id ayarlayarak kaydedilen location_id'yi kullanarak bir proxy oluşturun.

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>"}}}}}'

Bir arama konumu için HTTPS/SOCKS/WireGuard proxy oluşturmak, o konumdaki tüm çıkış IP'lerini numaralandırmak üzere API'yi kullanma

API, bir konumu aramak, o konumdaki sağlayıcıları (çıkış IP'lerini) numaralandırmak ve her çıkış IP'si için bir HTTPS/SOCKS/WireGuard proxy oluşturmak üzere doğrudan kullanılabilir. En çok istenen konum sonucunu seçmek için bir karar verilmesi gerekecektir. Her konumun sabit olan ve kodda kaydedilebilen bir location_id'si vardır. Ayrıca her sağlayıcının sabit olan ve kodda kaydedilebilen bir client_id'si vardır.

Adım 1, /network/find-locations rotasını kullanarak konumların bir listesini arayın. Aşağıda, locations listesini çıkarmak için jq'ye aktarılan örnek bir curl bulunmaktadır.

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

Adım 2, ilgilenilen konumu seçin ve location_id'yi kaydedin.

Adım 3, /network/find-providers2 rotasını kullanarak location_id için sıralanmış bir sağlayıcı (çıkış IP'si) listesi alın. Örnek boyutu, gereken benzersiz sağlayıcı sayısına göre ayarlanabilir. Aşağıda, providers listesini çıkarmak için jq'ye aktarılan örnek bir curl bulunmaktadır.

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

Adım 4, listedeki her client_id üzerinde döngü yaparak, /network/auth-client rotasını kullanarak ve proxy_config.initial_device_state.location içinde connect_location_id.client_id ayarlayarak client_id'yi kullanarak bir proxy oluşturun.

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>"}}}}}'