[Твой ПК] ←— WireGuard Tunnel —→ [Бесплатный сервер Oracle Cloud]
↕ ↕
GUI (Electron) WireGuard Server
React + Tailwind UDP :51820
Glassmorphism UI Full tunnel (0.0.0.0/0)
| Компонент | Решение | Стоимость |
|---|---|---|
| Сервер | Oracle Cloud Free Tier | $0 навсегда |
| Протокол | WireGuard | Open Source |
| GUI | Electron + React | Open Source |
| DNS | Cloudflare 1.1.1.1 | $0 |
-
Зайди на https://cloud.oracle.com и создай аккаунт
-
Понадобится банковская карта для верификации (деньги НЕ списываются)
-
Выбери Home Region ближе к тебе (например Frankfurt для EU)
-
Создай VM Instance:
- Compute → Instances → Create Instance
- Image: Ubuntu 22.04
- Shape: VM.Standard.A1.Flex (ARM — 4 CPU, 24GB RAM бесплатно!)
- Или VM.Standard.E2.1.Micro (AMD — 1 CPU, 1GB RAM)
- Скачай SSH-ключ (.pem файл) при создании
-
ВАЖНО — Открой порт WireGuard:
- Virtual Cloud Network → Security Lists → Default
- Add Ingress Rule:
- Source:
0.0.0.0/0 - Protocol: UDP
- Port:
51820
- Source:
-
Запиши Public IP инстанса
- https://cloud.google.com → Free Tier
- Создай e2-micro VM (free tier: 1 vCPU, 1GB RAM)
- Firewall: открой UDP 51820
- SSH-ключ генерируется автоматически
- https://one.one.one.one → скачай WARP клиент
- Это самый простой вариант, но без полного контроля
- Подходит для базового обхода блокировок
- Открой приложение:
npm run dev(илиnpm run electron:dev) - Вкладка Config: введи IP сервера, путь к SSH-ключу
- Вкладка Setup: нажми Deploy WireGuard
- Дождись завершения в логах
# Из папки проекта:
bash scripts/deploy-remote.sh <SERVER_IP> <PATH_TO_SSH_KEY>
# Пример:
bash scripts/deploy-remote.sh 129.213.45.67 ~/.ssh/oracle_key.pemssh -i your_key.pem ubuntu@<SERVER_IP>
# На сервере:
curl -sL https://raw.githubusercontent.com/user/repo/main/scripts/deploy-wireguard.sh | bashcd vpn
npm install
npm run dev # веб-версия на http://localhost:5173
npm run electron:dev # десктоп приложение- Скачай: https://wireguard.com/install
- Import tunnel → выбери файл
wireguard-client.conf - Activate
.\scripts\connect-wireguard.ps1
# Отключиться:
.\scripts\connect-wireguard.ps1 -DisconnectЕсли WireGuard блокируется провайдером, используй VLESS + Reality:
bash scripts/deploy-remote.sh <SERVER_IP> <SSH_KEY>
# Затем на сервере:
bash scripts/deploy-xray-vless.shПолученную VLESS-ссылку импортируй в:
- Windows: Nekoray, v2rayN
- Android: v2rayNG, Hiddify
- iOS: Shadowrocket, Streisand
- macOS: V2BOX
vpn/
├── src/ # React UI
│ ├── components/ # Компоненты интерфейса
│ │ ├── Header.jsx
│ │ ├── ConnectionButton.jsx
│ │ ├── StatusPanel.jsx
│ │ ├── StatsPanel.jsx
│ │ ├── ServerSetup.jsx
│ │ ├── ConfigPanel.jsx
│ │ └── LogPanel.jsx
│ ├── lib/
│ │ └── vpnManager.js # Логика подключения и деплоя
│ ├── App.jsx
│ ├── main.jsx
│ └── index.css # Tailwind + Glassmorphism стили
├── electron/
│ └── main.js # Electron main process
├── scripts/
│ ├── deploy-wireguard.sh # Автоустановка WireGuard
│ ├── deploy-xray-vless.sh# VLESS + Reality установка
│ ├── deploy-remote.sh # Деплой с локальной машины
│ └── connect-wireguard.ps1 # Windows подключение
├── package.json
├── vite.config.js
├── tailwind.config.js
└── SETUP_GUIDE.md # Эта инструкция
| Что нужно | Где получить | Куда вставить |
|---|---|---|
| Oracle Cloud аккаунт | cloud.oracle.com | Только для создания VM |
| SSH-ключ (.pem) | Скачивается при создании VM | Config → SSH Private Key Path |
| Public IP сервера | Oracle Dashboard → Instance | Config → Server Host |
| SSH username | ubuntu (Oracle), root (другие) |
Config → SSH User |
Никаких платных API-ключей не требуется. Всё работает через SSH + WireGuard.
| Проблема | Решение |
|---|---|
| Не подключается | Проверь что порт UDP 51820 открыт в Security List |
| Медленный VPN | Попробуй сервер ближе к тебе, уменьши MTU до 1280 |
| Блокируется провайдером | Используй VLESS + Reality (скрипт deploy-xray-vless.sh) |
| SSH timeout | Проверь IP, ключ и что инстанс запущен |
| WireGuard не ставится | Убедись что Ubuntu 20.04+ |