Інтеграція з Mysterium Network
Конкретна ситуація: ви будуєте застосунок, якому потрібен децентралізований VPN або residential proxy — без єдиного провайдера, без KYC на користувачів, з оплатою в крипті. Наприклад, вам потрібно зібрати дані з сайтів, які блокують дата-центрові IP, або забезпечити приватність для користувачів мобільного застосунку без збору особистих даних. Mysterium Network — це p2p мережа з ~13 000 нод, що працює на Proof-of-Traffic. Кожен учасник може продавати невикористовуваний трафік за MYST токени. Для розробника завдання не в тому, щоб «підключитися до VPN», а в тому, щоб вбудувати Mysterium у свій застосунок як програмований транспортний шар.
Ми займаємося інтеграцією децентралізованих мереж більше п'яти років і реалізували понад 50 проєктів, кілька — саме на Mysterium. В одному з кейсів клієнт заощадив до 90% від звичних розцінок на residential proxy, що становить близько $0.1 за GB замість $15–20 за GB у традиційних провайдерів — Mysterium у 5-10 разів дешевший.
Як Mysterium обробляє платежі?
Mysterium використовує payment channels через Hermes контракт на Polygon. Це off-chain micropayments з періодичним settlement. Програмне поповнення — прямий transfer MYST через ethers.js. Нижче приклад створення платіжного каналу:
const channelAddress = await api.paymentOrderGetChannelAddress(identity.id); const order = await api.paymentOrderCreate(identity.id, { mystAmount: "10.0", payCurrency: "USD", gateway: "coingate", country: "US", callerData: "{}", }); console.log("Payment URL:", order.publicGatewayData.paymentUrl); Wireguard — транспортний протокол, на якому побудована мережа Mysterium. Він забезпечує мінімальну затримку (до 5 мс) та високу пропускну здатність (до 1 Гбіт/с на ноду).
Архітектура Mysterium: що під капотом
Mysterium працює поверх кількох протоколів. Ось їх порівняння:
Таблиця протоколів
| Протокол | Призначення | Коли використовувати |
|---|---|---|
| Wireguard | Основний VPN (UDP, швидкий) | Висока пропускна здатність, сучасні клієнти |
| OpenVPN | Legacy, сумісність | Старі пристрої, специфічні конфігурації |
| NATS | Discovery та signaling | Пошук нод, передача сигналів |
| Hermes | Payment settlement на Polygon | Офчейн-мікроплатежі |
Ключовий компонент для розробника — SDK mysterium-vpn-js (TypeScript) та REST API ноди (tequilapi).
Як підключитися через SDK?
SDK дозволяє керувати нодою та сесіями програмно. Приклад базового запуску:
import { TequilapiClientFactory, NodeHttpTransport } from "mysterium-vpn-js"; const factory = new TequilapiClientFactory( "http://127.0.0.1:4050", 5000 ); const api = factory.build(NodeHttpTransport()); const nodeInfo = await api.healthCheck(); console.log("Node version:", nodeInfo.version); const proposals = await api.findProposals({ serviceType: "wireguard", qualityMin: 0.9, locationCountry: "DE", }); Створення, управління та моніторинг сесії
const identities = await api.identityList(); if (identities.length === 0) { const identity = await api.identityCreate("your_passphrase"); await api.identityRegister(identity.id, { token: undefined }); } const identity = identities[0]; const status = await api.identityStatus(identity.id); if (status.registrationStatus !== "Registered") { throw new Error("Identity not registered"); } const connection = await api.connectionCreate({ consumerId: identity.id, providerId: proposals[0].providerId, serviceType: "wireguard", connectOptions: { dnsOption: "auto" } }); console.log("Session ID:", connection.sessionId); const stats = await api.connectionStatistics(); console.log({ bytesSent: stats.bytesSent, bytesReceived: stats.bytesReceived, tokensSpent: stats.tokensSpent, duration: stats.duration }); const location = await api.connectionLocation(); console.log("Exit IP:", location.ip, "Country:", location.country); await api.connectionCancel(); Чому варто використовувати власний Discovery?
За замовчуванням Mysterium node використовує централізований Discovery сервіс Mysterium Foundation. Для enterprise або закритої мережі потрібен self-hosted NATS:
version: '3.8' services: nats: image: nats:2.9-alpine ports: - "4222:4222" - "8222:8222" command: "--jetstream --cluster_name mysterium-private" discovery: image: mysteriumnetwork/discovery:latest environment: - NATS_URL=nats://nats:4222 - BROKER_ADDRESS=nats://nats:4222 depends_on: - nats Ноди конфігуруються з --discovery.address, що вказує на ваш NATS. Це дає повний контроль над списком провайдерів і якістю з'єднань.
Часті помилки: відсутність fallback
Mysterium не гарантує стабільну пропускну здатність. Для критично важливих застосунків закладайте fallback-провайдера. Ми реалізуємо логіку перемикання за часом відгуку та помилками. Тестування на етапі інтеграції виявляє до 30% нод з низькою продуктивністю — їх виключаємо з пулу.
Порівняння вартості: Mysterium vs традиційні residential proxy
| Параметр | Mysterium | Oxylabs/Brightdata |
|---|---|---|
| Ціна за GB | до 90% дешевше ($0.05–0.1) | висока ($10–30) |
| KYC | Не потрібен | Потрібен |
| Пропускна здатність | 10–100 Mbps | 100–1000 Mbps |
| Доступні геолокації | ~130 країн | ~150 країн |
Mysterium у 5-10 разів дешевший за традиційні residential proxy, що дає суттєву економію при масштабному scraping.
Типові сценарії застосування
- Decentralized proxy для web scraping — замість rotating residential proxy використовуєте Mysterium. Надійність варіюється, тому ми закладаємо fallback.
- Privacy-preserving API виклики — мобільний застосунок приховує IP користувача через Mysterium.
- Geo-distributed тестування — тестування з різних геолокацій без оренди VPS.
Обмеження: Mysterium не дає гарантій bandwidth або uptime. Для latency-sensitive застосунків потрібен fallback. Наша інтеграція передбачає логіку перемикання провайдерів.
Що ми зробимо в рамках інтеграції: deliverables
- Модуль інтеграції SDK Mysterium у ваш код (TypeScript/JavaScript) «під ключ».
- Налаштування та запуск тестової ноди з платіжним каналом на Polygon.
- Реалізація self-hosted Discovery на NATS (опціонально).
- Автоматичне поповнення балансу MYST і моніторинг витрат.
- Документація по API, конфігурації та troubleshooting.
- Навчання команди (2–3 години воркшопу).
- Підтримка протягом місяця після релізу.
Як ми допомагаємо з інтеграцією: покроковий алгоритм
- Аналізуємо ваш сценарій і архітектуру.
- Налаштовуємо та запускаємо тестову ноду Mysterium.
- Інтегруємо SDK у ваш застосунок.
- Реалізуємо платіжний шар через Polygon (MYST баланс, поповнення, моніторинг).
- Опціонально: розгортаємо власний Discovery сервіс (NATS).
- Готуємо документацію з експлуатації та troubleshooting.
- Надаємо підтримку після релізу.
За типову інтеграцію беремося від 2 тижнів, повний кастом — до 10 тижнів. Пишіть нам — оцінимо ваш проєкт безкоштовно та запропонуємо рішення під ключ.







