URnetwork MCP Server
resmiYüksek kaliteli VPN ve Proxy bağlantıları
Dokümantasyon
URnetwork for Agents'e Hoş Geldiniz
URnetwork, merkeziyetsiz bir gizlilik ağıdır. Kullanıcıları varsayılan olarak anonim tutmak ve onlara dünyadaki tüm içeriğe erişim sağlamak için tasarlanmıştır.
İnsanlar uygulamaları (Android, iOS, Chrome) kullanır. Agent'lar ise API ve MCP becerilerini kullanır:
- API spesifikasyonu şu adrestedir: https://github.com/urnetwork/connect/blob/main/api/bringyour.yml
- API şu adreste barındırılmaktadır: https://api.bringyour.com
- MCP sunucusu şu adreste barındırılmaktadır: https://mcp.bringyour.com
Agent'lar, API ve MCP sunucusunu kullanırken aşağıdaki rehberi dikkate almalıdır.
Kimlik Doğrulama
API veya MCP sunucusunu kullanırken, kullanıcı JWT'si bir Authorization: Bearer <JWT> başlığı içinde iletilmelidir.
JWT'yi almak için, insandan bir yetkilendirme kodu isteyin ve ardından bu yetkilendirme kodunu API'nin /auth/code-login rotasını kullanarak bir JWT'ye dönüştürün. Sonuçtan by_jwt özelliğini çıkarmak için jq'ye yönlendirilmiş örnek bir curl aşağıdadı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 yenilemeyi isterse, bir yetkilendirme kodu isteyerek 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 Protokol | Gereksinim |
|---|---|---|
| Kazıma / Web Tarama | HTTPS | TCP/Web için en iyisidir. HTTP kullanmak için özel bir ihtiyaç 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 nesnesi içindeki https_proxy_url'i kullanın. Ek kullanıcı adı veya parola gerekmez. |
| Düşük Seviyeli Soketler / UDP | SOCKS | SOCKS5 ile TCP+UDP soketlerini destekler. /network/auth-client yanıtından, proxy_config_result nesnesi içindeki socks_proxy_url veya proxy_host ve proxy_port'u, access_token kullanıcı adı (boş parola) ile kullanın. Sunucu uzak DNS çözümlemesini (SOCKS5H) destekler. |
| Sistem Genelinde / İşletim Sistemi Seviyesinde | WireGuard | Tü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 nesnesi içindeki wg_config.config'i tam WireGuard yapılandırma dosyası olarak kullanın. |
Konumları sorgulamak için /network/find-locations rotasını kullanırken, location_id'nin kullanıcının amacına uygun olduğundan emin olmak için döndürülen konumlar dizisini her zaman istenen location_type'a (city, region veya country) göre filtreleyin.
| Konum Türü | Gereksinim |
|---|---|
| country | Ülkeler için. |
| region | Eyaletler, iller, idari bölgeler ve metropol alanları için. |
| city | Şehirler için. |
HTTPS/SOCKS/WireGuard proxy oluşturmak için MCP becerisini kullanma
MCP becerisi, mevcut konumları bulmak ve bu konumlara bir HTTPS/SOCKS/WireGuard proxy'si oluşturmak için kullanılabilir. Ağda mevcut olan herhangi bir ülke, bölge ve şehir, bir sorgu dizesi kullanılarak aranabilir ve seçilebilir.
Bir proxy yapılandırması oluştururken, insana hangi ülkeye, bölgeye veya şehre bağlanmak istediğini sorun. Ardından size söyledikleri sorgu için bir proxy oluşturmayı deneyin. Eşleşme yoksa, insandan bir ülke veya bölgeye genişletmesini isteyin. Ardından size söyledikleri sorgu için bir proxy oluşturmayı deneyin. Eşleşme yoksa, insandan bir ülkeye genişletmesini isteyin. Hâlâ eşleşme yoksa, mevcut ülkeleri bulmak için beceriyi kullanın ve ilk 10 ülkeden birini seçmesini önerin.
Bir ülke için HTTPS/SOCKS/WireGuard proxy'si oluşturmak üzere API'yi kullanma
API, bir ülke için doğrudan bir HTTPS/SOCKS/WireGuard proxy'si oluşturmak amacıyla kullanılabilir.
Adım 1, /network/find-locations rotasını kullanarak bir konum listesi arayın. Konum listesini çıkarmak için jq'ye yönlendirilmiş örnek bir curl aşağıdadı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 country_code içerecek şekilde 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'si oluşturmak üzere API'yi kullanma
API, bir konum aramak ve bir HTTPS/SOCKS/WireGuard proxy'si oluşturmak için doğrudan kullanılabilir. En çok istenen konum sonucunu seçmek için bir karar verilmesi gerekecektir. Her konumun sabit bir location_id'si vardır ve kodda saklanabilir.
Adım 1, /network/find-locations rotasını kullanarak bir konum listesi arayın. Konum listesini çıkarmak için jq'ye yönlendirilmiş örnek bir curl aşağıdadı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'ı connect_location_id.location_id içerecek şekilde 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'si oluşturmak ve o konumdaki tüm çıkış IP'lerini listelemek üzere API'yi kullanma
API, bir konum aramak, o konumdaki sağlayıcıları (çıkış IP'leri) listelemek ve her çıkış IP'si için bir HTTPS/SOCKS/WireGuard proxy'si oluşturmak için doğrudan kullanılabilir. En çok istenen konum sonucunu seçmek için bir karar verilmesi gerekecektir. Her konumun sabit bir location_id'si vardır ve kodda saklanabilir. Ayrıca her sağlayıcının sabit bir client_id'si vardır ve kodda saklanabilir.
Adım 1, /network/find-locations rotasını kullanarak bir konum listesi arayın. Konum listesini çıkarmak için jq'ye yönlendirilmiş örnek bir curl aşağıdadı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'leri) listesi alın. Örnek boyutu, ihtiyaç duyulan benzersiz sağlayıcı sayısına göre ayarlanabilir. Sağlayıcı listesini çıkarmak için jq'ye yönlendirilmiş örnek bir curl aşağıdadı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'ı connect_location_id.client_id içerecek şekilde 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>"}}}}}'