URnetwork MCP Server
chính thứcKết nối VPN và Proxy chất lượng cao
Tài liệu
Chào mừng đến với URnetwork dành cho Tác nhân
URnetwork là một mạng lưới bảo mật phi tập trung. Mạng lưới này được thiết kế để giữ người dùng ẩn danh theo mặc định và cấp cho họ quyền truy cập vào tất cả nội dung trên thế giới.
Con người sử dụng các ứng dụng (Android, iOS, Chrome). Tác nhân sử dụng API và các kỹ năng MCP:
- Đặc tả API tại: https://github.com/urnetwork/connect/blob/main/api/bringyour.yml
- API được lưu trữ tại: https://api.bringyour.com
- Máy chủ MCP được lưu trữ tại: https://mcp.bringyour.com
Các tác nhân nên xem xét hướng dẫn bên dưới khi sử dụng API và máy chủ MCP.
Xác thực
Khi sử dụng API hoặc máy chủ MCP, JWT của người dùng phải được truyền trong tiêu đề Authorization: Bearer <JWT>.
Để lấy JWT, hãy yêu cầu con người cung cấp mã xác thực, sau đó chuyển đổi mã xác thực đó thành JWT bằng cách sử dụng route API /auth/code-login. Dưới đây là một ví dụ curl, được dẫn qua jq để trích xuất thuộc tính by_jwt từ kết quả:
curl -X POST https://api.bringyour.com/auth/code-login -d '{"auth_code": "<AUTH CODE>"}' | jq ".by_jwt"
JWT có thể được lưu trữ và tái sử dụng. Nếu con người yêu cầu làm mới JWT, hãy lặp lại quy trình bắt đầu bằng việc yêu cầu mã xác thực.
Khi chọn công nghệ proxy, hãy xem xét các trường hợp sử dụng sau:
| Trường hợp sử dụng | Giao thức khuyến nghị | Yêu cầu |
|---|---|---|
| Thu thập dữ liệu / Duyệt web | HTTPS | Tốt nhất cho TCP/Web. Luôn sử dụng proxy HTTPS trừ khi có nhu cầu cụ thể sử dụng HTTP. HTTP thường chỉ cần cho các môi trường kiểm thử cụ thể không hỗ trợ HTTPS. Từ phản hồi /network/auth-client, bên trong đối tượng proxy_config_result, sử dụng https_proxy_url. Không cần thêm tên người dùng hoặc mật khẩu. |
| Socket cấp thấp / UDP | SOCKS | Hỗ trợ socket TCP+UDP với SOCKS5. Từ phản hồi /network/auth-client, bên trong đối tượng proxy_config_result, sử dụng socks_proxy_url hoặc proxy_host và proxy_port, với tên người dùng access_token (mật khẩu để trống). Máy chủ hỗ trợ phân giải DNS từ xa (SOCKS5H). |
| Toàn hệ thống / Cấp hệ điều hành | WireGuard | Định tuyến tất cả các gói IP. Trong yêu cầu /network/auth-client, proxy_config.enable_wg phải được đặt rõ ràng thành true. Trong phản hồi, bên trong đối tượng proxy_config_result, sử dụng wg_config.config làm tệp cấu hình WireGuard hoàn chỉnh. |
Khi sử dụng route /network/find-locations để truy vấn vị trí, luôn lọc mảng locations trả về theo location_type mong muốn (city, region, hoặc country) để đảm bảo location_id khớp với ý định của người dùng.
| Loại vị trí | Yêu cầu |
|---|---|
| country | Dành cho quốc gia. |
| region | Dành cho tiểu bang, tỉnh, khu vực hành chính và vùng đô thị. |
| city | Dành cho thành phố. |
Sử dụng kỹ năng MCP để tạo proxy HTTPS/SOCKS/WireGuard
Kỹ năng MCP có thể được sử dụng để tìm các vị trí khả dụng và tạo proxy HTTPS/SOCKS/WireGuard đến các vị trí đó. Bất kỳ quốc gia, khu vực và thành phố nào có sẵn trên mạng lưới đều có thể được tìm kiếm và chọn bằng chuỗi truy vấn.
Khi tạo cấu hình proxy, hãy hỏi con người họ muốn kết nối đến quốc gia, khu vực hoặc thành phố nào. Sau đó, cố gắng tạo proxy cho truy vấn họ đưa ra. Nếu không có kết quả khớp, hãy yêu cầu con người mở rộng ra khu vực hoặc quốc gia. Sau đó, cố gắng tạo proxy cho truy vấn họ đưa ra. Nếu không có kết quả khớp, hãy yêu cầu con người mở rộng ra quốc gia. Nếu vẫn không có kết quả khớp, hãy sử dụng kỹ năng để tìm các quốc gia khả dụng và đề xuất họ chọn một trong 10 quốc gia hàng đầu.
Sử dụng API để tạo proxy HTTPS/SOCKS/WireGuard cho một quốc gia
API có thể được sử dụng trực tiếp để tạo proxy HTTPS/SOCKS/WireGuard cho một quốc gia.
Bước 1, tìm kiếm danh sách vị trí bằng route /network/find-locations. Dưới đây là một ví dụ curl, được dẫn qua jq để trích xuất danh sách locations.
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'
Bước 2, chọn vị trí quan tâm và lưu thuộc tính country_code.
Bước 3, tạo proxy bằng mã quốc gia đã lưu bằng route /network/auth-client và đặt proxy_config.initial_device_state có 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>"}}}'
Sử dụng API để tạo proxy HTTPS/SOCKS/WireGuard cho một vị trí tìm kiếm
API có thể được sử dụng trực tiếp để tìm kiếm vị trí và tạo proxy HTTPS/SOCKS/WireGuard. Sẽ cần đưa ra quyết định để chọn kết quả vị trí mong muốn nhất. Mỗi vị trí có một location_id cố định và có thể được lưu trong mã.
Bước 1, tìm kiếm danh sách vị trí bằng route /network/find-locations. Dưới đây là một ví dụ curl, được dẫn qua jq để trích xuất danh sách locations.
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'
Bước 2, chọn vị trí quan tâm và lưu thuộc tính location_id.
Bước 3, tạo proxy bằng location_id đã lưu bằng route /network/auth-client và đặt proxy_config.initial_device_state.location có 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>"}}}}}'
Sử dụng API để tạo proxy HTTPS/SOCKS/WireGuard cho một vị trí tìm kiếm, liệt kê tất cả các IP đầu ra trong vị trí đó
API có thể được sử dụng trực tiếp để tìm kiếm vị trí, liệt kê các nhà cung cấp (IP đầu ra) trong vị trí đó và tạo proxy HTTPS/SOCKS/WireGuard cho từng IP đầu ra. Sẽ cần đưa ra quyết định để chọn kết quả vị trí mong muốn nhất. Mỗi vị trí có một location_id cố định và có thể được lưu trong mã. Ngoài ra, mỗi nhà cung cấp có một client_id cố định và có thể được lưu trong mã.
Bước 1, tìm kiếm danh sách vị trí bằng route /network/find-locations. Dưới đây là một ví dụ curl, được dẫn qua jq để trích xuất danh sách locations.
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'
Bước 2, chọn vị trí quan tâm và lưu location_id.
Bước 3, lấy danh sách xếp hạng các nhà cung cấp (IP đầu ra) cho location_id bằng route /network/find-providers2. Kích thước mẫu có thể được đặt theo số lượng nhà cung cấp duy nhất cần thiết. Dưới đây là một ví dụ curl, được dẫn qua jq để trích xuất danh sách providers.
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-providers2 -d '{"specs": [{"client_id": "<CLIENT ID>"}], "count": <COUNT>}' | jq '.providers'
Bước 4, bằng cách lặp qua từng client_id trong danh sách, tạo proxy bằng client_id bằng route /network/auth-client và đặt proxy_config.initial_device_state.location có 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>"}}}}}'