🔧 I. Инфраструктура и базовая архитектура¶
1. Выбор облака и конфигурация¶
- Провайдер: Rackspace Cloud
- Локации: выбрать регионы (желательно с низкой ценой трафика и низким пингом)
- Тип инстансов:
1 CPU / 1-2 GB RAMдля Outline / WireGuard2 CPU / 4 GB RAMдля OpenVPN и Amnezia Nodes
- Обязательные компоненты:
- Ubuntu 22.04 LTS
- Статический IP (или DDNS)
🛠️ II. Развёртывание VPN-протоколов¶
1. Outline (Shadowsocks + Management)¶
- Установка через Outline Manager
- Настройка Firewall для порта 443 и Outline API
- Генерация ключей и ssconf-ссылок
2. WireGuard¶
- Установка через
wg-quickилиdocker-wireguard - Конфиги генерируются автоматически при создании пользователя
- Сохраняются как
.confили QR-ссылка
3. OpenVPN¶
- Использовать
openvpn-installскрипт - Сертификаты, ключи,
.ovpn-файлы – по шаблону для Telegram-бота
4. Amnezia VPN¶
- Развёртывание с официального репозитория
- Обязательно использовать Amnezia Gateway
- Интеграция с ботом через shell/API
🤖 III. Telegram-бот (ссылка генератор)¶
1. Функции бота¶
- Авторизация по ключу / логину
- Генерация ссылок:
ssconf://– Outlineopenvpn://– ссылку на.ovpnwireguard://– файл или QRamnezia://– по API Gateway
- Панель администратора (Telegram ID, квоты)
2. Стек¶
- Python +
python-telegram-bot - Redis / PostgreSQL для хранилища
- Dockerized microservice
- Возможность интеграции Stripe/crypto для коммерции
🔐 IV. Безопасность и автоматика¶
- Fail2Ban, ufw/nftables
- Автообновление через Ansible или Watchtower (для Docker)
- Автоматическое создание новых серверов по API Rackspace
- Хранилище конфигов – S3-compatible (например, Cloudflare R2)
💰 V. Коммерческий задел (на будущее)¶
1. Биллинг¶
- Stripe или CryptoPay
- Привязка к Telegram ID
- Тарифы: кол-во конфигов, регионов, трафика
2. Мониторинг и логгинг¶
- Prometheus + Grafana (через Pushgateway)
- Отдельный логгер действий бота (например, Sentry)
3. Панель управления (на потом)¶
- Admin UI (например, Django Admin или TUI)
- Возможность сброса, удаления, логирования
🧱 VI. Резервное копирование и масштабирование¶
- Бэкапы конфигов и Redis → S3 или Backblaze
- Расширение через Terraform + Ansible:
- Автоматическая установка новых узлов
- Балансировка по локациям
📦 VII. Пример структуры проекта¶
vpn-platform/
├── bot/
│ ├── main.py
│ ├── handlers/
│ └── services/
├── outline/
│ └── install-outline.sh
├── wireguard/
│ └── setup.py
├── openvpn/
│ └── install.sh
├── amnezia/
│ └── gateway-setup.sh
├── configs/
│ ├── users.db
│ └── templates/
├── infra/
│ ├── docker-compose.yml
│ ├── ansible/
│ └── terraform/
└── README.md
🔍 Почему Kubernetes на Spot-инстансах выгоден?¶
- Дешевле до 70%, особенно при auto-scaling.
- Восстановление через Deployment/StatefulSet и
nodeAffinity/tolerationsпозволяет пережить прерывание узла. - Хорошо ложится на архитектуру: Outline, OpenVPN, WireGuard, Amnezia Gateway – все можно завернуть в поды.
⚙️ Структура Helm-чарта¶
Вот базовая структура Helm-чарта для мульти-VPN сервиса:
vpn-helm-chart/
├── Chart.yaml
├── values.yaml
├── templates/
│ ├── outline-deployment.yaml
│ ├── wireguard-deployment.yaml
│ ├── openvpn-deployment.yaml
│ ├── amnezia-deployment.yaml
│ ├── telegram-bot-deployment.yaml
│ ├── services.yaml
│ └── ingress.yaml
└── charts/
🧪 Пример содержимого Helm-чарта¶
Chart.yaml¶
apiVersion: v2
name: vpn-multistack
description: Deploy Outline, WireGuard, OpenVPN, Amnezia VPN and Telegram bot
type: application
version: 0.1.0
appVersion: "1.0.0"
values.yaml¶
replicaCount: 1
image:
outline: outlinevpn/outline-server:latest
wireguard: weejewel/wg-easy
openvpn: angristan/openvpn
amnezia: amnezia/gateway
bot: yourdockerhub/telegram-vpn-bot
resources:
limits:
cpu: "500m"
memory: "512Mi"
requests:
cpu: "250m"
memory: "256Mi"
service:
type: ClusterIP
ports:
outline: 443
wireguard: 51820
openvpn: 1194
amnezia: 4443
bot: 8080
templates/outline-deployment.yaml¶
apiVersion: apps/v1
kind: Deployment
metadata:
name: outline
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: outline
template:
metadata:
labels:
app: outline
spec:
containers:
- name: outline
image: {{ .Values.image.outline }}
ports:
- containerPort: {{ .Values.service.ports.outline }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
templates/wireguard-deployment.yaml¶
apiVersion: apps/v1
kind: Deployment
metadata:
name: wireguard
spec:
replicas: 1
selector:
matchLabels:
app: wireguard
template:
metadata:
labels:
app: wireguard
spec:
containers:
- name: wireguard
image: {{ .Values.image.wireguard }}
ports:
- containerPort: {{ .Values.service.ports.wireguard }}
securityContext:
capabilities:
add:
- NET_ADMIN
templates/openvpn-deployment.yaml¶
apiVersion: apps/v1
kind: Deployment
metadata:
name: openvpn
spec:
replicas: 1
selector:
matchLabels:
app: openvpn
template:
metadata:
labels:
app: openvpn
spec:
containers:
- name: openvpn
image: {{ .Values.image.openvpn }}
ports:
- containerPort: {{ .Values.service.ports.openvpn }}
templates/amnezia-deployment.yaml¶
apiVersion: apps/v1
kind: Deployment
metadata:
name: amnezia
spec:
replicas: 1
selector:
matchLabels:
app: amnezia
template:
metadata:
labels:
app: amnezia
spec:
containers:
- name: amnezia
image: {{ .Values.image.amnezia }}
ports:
- containerPort: {{ .Values.service.ports.amnezia }}
templates/telegram-bot-deployment.yaml¶
apiVersion: apps/v1
kind: Deployment
metadata:
name: telegram-bot
spec:
replicas: 1
selector:
matchLabels:
app: telegram-bot
template:
metadata:
labels:
app: telegram-bot
spec:
containers:
- name: bot
image: {{ .Values.image.bot }}
ports:
- containerPort: {{ .Values.service.ports.bot }}
templates/services.yaml¶
apiVersion: v1
kind: Service
metadata:
name: outline-svc
spec:
selector:
app: outline
ports:
- port: 443
targetPort: {{ .Values.service.ports.outline }}
---
apiVersion: v1
kind: Service
metadata:
name: wireguard-svc
spec:
selector:
app: wireguard
ports:
- port: 51820
protocol: UDP
---
# аналогично openvpn, amnezia, telegram-bot
✅ Выгода подхода через K8s + Helm:¶
| Компонент | Kubernetes + Spot | Прямая установка |
|---|---|---|
| Цена | 🔥 Дешевле | Дороже |
| Масштабируемость | ✅ Автоматическая | Ручная |
| Надежность | 🟡 Зависит от spot | 🟢 Стабильнее |
| Управление | ✅ Helm + GitOps | 🟡 Скрипты |
| Мониторинг | ✅ Prometheus-ready | 🟡 Нужно добавлять |
🧠 Как использовать¶
-
Добавьте Helm‑репозиторий (локально или в GitHub Pages):
-
Установите чарт:
⚙️ Что внутри (кратко)¶
- Deployment для:
- Outline (та же схема, что описана в Medium‑гайде: порт 40000/60000, TLS-секрет) (sosedoff.com, medium.com)
- WireGuard, c
NET_ADMINcapability (по аналогии с helm-wireguard) (sosedoff.com) - OpenVPN (использует
stable/openvpnHelm‑чарт) (repo1.dso.mil) - Amnezia Gateway (ресурсный контейнер)
- Telegram-bot: Python-сервис для генерации ssconf-ссылок
- Service: UDP/TCP порты настроены: WireGuard 51820/UDP, OpenVPN 1194/UDP, Outline TLS 40000/60000.
- Ingress для TLS-автоматизации (Let’s Encrypt) с поддержкой SSL Passthrough.
- ConfigMaps/Secrets:
- TLS-сертификаты для Outline
- Ключи для VPN-протоколов
- Конфиги бота (бот‑токен, webhook, доступы)
- values.yaml шаблон с настройками реплик, ресурсов, портов.
🧪 CI/CD с GitHub Actions¶
Пример Workflow .github/workflows/release.yml:¶
name: Build & Publish Helm Chart
on:
push:
tags:
- 'v*.*.*'
jobs:
build-publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Helm
uses: azure/setup-helm@v3
- name: Package chart
run: helm package vpn-multistack-helm
- name: Publish to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./
publish_branch: gh-pages
Это позволит автоматически публиковать .tgz и модерировать Helm-репо.
🔧 Terraform для Spot‑Kubernetes в Rackspace¶
Примерная логика:
provider "rackspace" {
region = "LON"
}
module "k8s" {
source = "terraform-aws-modules/eks/kubernetes" # адаптировать под Rackspace
spot_instances = true
instance_type = var.instance_type
desired_capacity = var.node_count
}
resource "helm_release" "vpn" {
name = "vpn-stack"
repository = "https://your-org.github.io/vpn-multistack-helm"
chart = "vpn-multistack"
version = "0.1.0"
values = [file("${path.module}/chart-values.yaml")]
}
Так можно одновременно поднимать кластер и деплоить VPN-чарт.
💼 Интеграция и дальнейшее¶
-
Ingress: настроен для TLS (Let’s Encrypt) и пасстру PASS перед Outline/OpenVPN.
-
Мониторинг: WireGuard-чарт из ArtifactHub + Prometheus-ready (artifacthub.io).
-
Outline: Documented установка через K8s/Ingress .
-
Telegram-бот: Мы можем вшить простой Go-бот от
rem11/simple-wg-telegram-bot(github.com), доработав для мульти-VPN.
Итог¶
✅ Цель¶
Создать масштабируемый и экономичный VPN‑сервис на Kubernetes, который можно развернуть на инфраструктуре Rackspace, со следующим стеком:
- Протоколы: OpenVPN, WireGuard, Outline, Amnezia VPN
- Интерфейс для пользователей: Telegram-бот (генерация конфигов)
- Управление: Helm-чарты, CI/CD, Terraform
- Мониторинг, безопасность, автоматизация масштабирования
- Потенциал для коммерческой монетизации
🧭 Пошаговый план реализации¶
🔹 Шаг 1: Подготовить инфраструктуру на Rackspace¶
- Создай аккаунт на https://rackspace.com (если нет).
- Разверни кластер Kubernetes:
- Лучше использовать Spot-инстансы для экономии.
- Можно через
terraformили вручную в панели. - Убедись, что:
- Установлены
kubectl,helm,docker,terraform. - У кластера есть Load Balancer, PersistentVolume, доступ в интернет.
- Установлены
- Подключись к кластеру:
🔹 Шаг 2: Настройка Helm и CI/CD¶
- Инициализируй Helm:
- Создай структуру Helm-проекта (можно генерировать автоматически):
vpn-infra/
├── charts/
│ ├── outline/
│ ├── wireguard/
│ ├── openvpn/
│ ├── amnezia/
│ └── telegram-bot/
├── Chart.yaml
├── values.yaml
├── templates/
├── terraform/
│ └── main.tf
├── .github/
│ └── workflows/
│ └── deploy.yaml
🔹 Шаг 3: Развёртывание VPN-протоколов¶
Каждый сервис — отдельный Helm-чарт.
Outline¶
- Используй официальный docker:
outlinevpn/outline-server - Оберни в
DeploymentиService(TCP 443) - TLS и firewall внутри кластера
WireGuard¶
- Бери
weejewel/wg-easyили Helm-чарт с ArtifactHub - Нужны
NET_ADMINи проброс UDP-порта51820
OpenVPN¶
angristan/openvpnилиdperson/openvpn-client- Установка через Helm или собственный Dockerfile
Amnezia¶
- Устанавливается через Amnezia Gateway
- Оборачивается в Deployment, работает через отдельный API порт
🔹 Шаг 4: Telegram-бот¶
- Разверни
telegram-botкак отдельный pod - Используй Python или Go
- Хранит:
- Telegram ID пользователя
- связанный конфиг
- Генерирует ссылки:
ssconf://.ovpn.confWireGuardamnezia://
🔹 Шаг 5: Мониторинг, логгинг, TLS¶
- Добавь
Prometheus + Grafana(через Helm) Ingress Controller(Nginx) + cert-manager (Let’s Encrypt)- Обеспечь:
- fail2ban или firewall внутри кластера
- логирование подов и действий бота (например, в Loki или Sentry)
🔹 Шаг 6: CI/CD и Terraform¶
- CI/CD (GitHub Actions / GitLab CI):
- Автоматическая упаковка Helm-чартов
- Публикация на GitHub Pages
- Автодеплой в кластер
- Terraform:
- Поднятие spot-инстансов
- Автоматическое подключение к кластеру
- Деплой Helm-чартов
🔹 Шаг 7: Коммерциализация¶
- Подключи платежную систему (Stripe, Cryptopay)
- Расширь Telegram-бота:
- подписки
- управление доступами
- логика тарифов (по числу конфигов или регионов)
📁 Структура проекта (обновлённая)¶
vpn-stack/
├── helm/
│ ├── Chart.yaml
│ ├── values.yaml
│ └── charts/
│ ├── outline/
│ │ ├── Chart.yaml
│ │ ├── templates/
│ │ │ ├── deployment.yaml
│ │ │ └── service.yaml
│ │ └── values.yaml
│ ├── wireguard/
│ │ ├── Chart.yaml
│ │ ├── templates/
│ │ └── values.yaml
│ ├── openvpn/
│ │ ├── Chart.yaml
│ │ ├── templates/
│ │ └── values.yaml
│ ├── amnezia/
│ │ ├── Chart.yaml
│ │ ├── templates/
│ │ └── values.yaml
│ └── telegram-bot/
│ ├── Chart.yaml
│ ├── templates/
│ └── values.yaml
├── terraform/
│ ├── main.tf
│ ├── k8s.tf
│ └── variables.tf
├── bot/
│ ├── main.py
│ ├── requirements.txt
│ ├── templates/
│ │ ├── outline.conf.j2
│ │ ├── wireguard.conf.j2
│ │ ├── openvpn.ovpn.j2
│ │ └── amnezia.conf.j2
│ └── ssconf_utils.py
├── .github/
│ └── workflows/
│ └── deploy.yml
└── README.md
🎯 helm/¶
Основной Helm-чарт Chart.yaml + values.yaml с глобальными настройками. В каталоге charts/ размещены 5 subcharts — для Outline, WG, OpenVPN, Amnezia, и Telegram‑бота. В templates/ каждого — базовые манифесты Deployment + Service.
🏗 terraform/¶
Файлы для развёртывания инфраструктуры на Rackspace:
main.tf— провайдер и кластерk8s.tf— подключение Helm‑релизовvariables.tf— параметры (регионы, типы инстансов, количество узлов)
🤖 bot/¶
Простой Telegram‑бот (main.py) на Python. Генерирует и отправляет конфиги через шаблоны *.j2. Умеет:
- принимать команды от юзеров
- генерировать ссылки
.ssconf://,.ovpn,.conf,amnezia:// - хранить ключи/конфиги в локальной базе или Redis
⚙ .github/workflows/deploy.yml¶
GitHub Actions-пайплайн, собирающий Helm-чарты и деплоящий их в кластер при пуше в main или тэге v*.*.*.
📘 README.md¶
Инструкция по запуску, настройке, деплою: Terraform → helm install → запуск Telegram‑бота.
🚀 Что ты получаешь¶
- Масштабируемую систему с авторазвёртыванием и самовосстановлением
- Telegram-бот в качестве интерфейса
- Возможность запускать новые регионы и узлы по кнопке (через Terraform)
- Поддержка монетизации
- Возможность добавить кастомную панель (если Telegram станет узким местом)
🧪 Сравнение VPN-протоколов (2025)¶
| Протокол | Скорость | Безопасность | Простой UX | Блокировка | Мобильность | Коммерческий UX | Особенности |
|---|---|---|---|---|---|---|---|
| WireGuard | 🚀 Очень высокая | 🔒 Очень высокая | 🟢 Средний | ❌ Блокируем | 🟢 Отличная | 🟢 Возможен | Современный, быстрый, легкий |
| OpenVPN | 🟡 Средняя | 🔒 Надежный | 🟡 Сложный | 🟠 Частично блокируется | 🟡 Умеренный | 🟢 Популярный | Стабильный и гибкий |
| Outline | 🟢 Высокая | 🟡 Средняя | 🟢 Очень простой | 🟠 Блокируется в Китае | 🟢 Отличная | 🟢 Отличный | Только Shadowsocks, но красивый UX |
| Amnezia VPN | 🟢 Высокая | 🔒 Высокая | 🟢 Простой | 🟢 Обходит DPI | 🟢 Отлично | 🟡 Молодой UX | Работает как клиент-сервер с Docker |
| IKEv2/IPSec | 🟢 Высокая | 🔒 Очень высокая | 🟢 Простая интеграция | 🟢 Сложнее заблокировать | 🟢 Отлично | 🟢 Используется в VPN-сервисах | Нативный для iOS/macOS |
| L2TP/IPSec | 🟡 Средняя | 🟠 Слабая | 🟢 Нативный | ❌ Часто блокируется | 🟢 Отлично | 🟢 Устаревающий, но стабильный | Поддержка в Windows |
| SoftEther | 🟢 Высокая | 🔒 Хорошая | 🟠 Неудобный | 🟢 DPI-обход | 🟠 Неудобный | 🟡 Сложный UI | Работает через HTTPS (Stealth VPN) |
💡 Подробные выводы по каждому¶
✅ WireGuard¶
- Современный, минималистичный, супербыстрый (в 3–4 раза быстрее OpenVPN).
- Работает в Linux kernel, легко деплоится.
- Отлично подходит для серверов с высокой производительностью.
- Хорошо автоматизируется.
Недостатки:
- Не имеет встроенной аутентификации — приходится управлять ключами вручную.
- Может блокироваться DPI (в Китае, Иране и т.п.).
✅ OpenVPN¶
- Старый добрый, гибкий, надежный.
- Поддерживает и TCP, и UDP (можно «спрятаться» за порт 443).
- Большая документация, mature-решение.
Недостатки:
- Медленнее, громоздкий по сравнению с WG.
- Неудобен для неподготовленного пользователя.
- Частично палится DPI.
✅ Outline (Shadowsocks с UX)¶
- Создан Google Jigsaw, open-source.
- Простой UX: менеджер, кнопка «добавить сервер».
- Популярный у пользователей, не технарей.
Недостатки:
- Это не VPN, а прокси (Shadowsocks) — не тянет весь трафик, не работает с VPN-зависимыми приложениями.
- Блокируется в странах с сильным DPI.
✅ Amnezia VPN¶
- Новичок, но интересный подход:
- Сам пользователь развертывает сервер через Docker
- Поддерживает множество протоколов (Shadowsocks, OpenVPN, WireGuard и др.)
- Автоматическая настройка, обфускация
Недостатки:
- Молодой проект, UX неидеален
- Требует установки Docker, что может отпугнуть часть аудитории
➕ IKEv2/IPSec (дополнительно)¶
- Быстрый, безопасный, нативная поддержка на всех устройствах.
- Используется в NordVPN, ProtonVPN и др.
- Не требует приложений, легко настраивается.
Недостатки:
- Сложно автоматизировать конфигурацию массово.
- Не столь гибок, как WG/OpenVPN.
➕ SoftEther VPN¶
- Универсальный мульти-протокольный VPN (может эмулировать L2TP/IPSec, OpenVPN, SSL VPN).
- Отличный DPI-обход (работает по HTTPS).
- Есть GUI‑панель, подходит для бизнес-подключений.
Недостатки:
- Сложный деплой.
- Проблемы с производительностью на слабом железе.
📊 Выбор для коммерческого VPN-сервиса¶
| Задача | Протокол |
|---|---|
| Быстрый и безопасный VPN | ✅ WireGuard |
| Для «чайников» / UX | ✅ Outline |
| Для сильной блокировки | ✅ Amnezia, IKEv2 |
| Универсальность | ✅ OpenVPN |
| Эмуляция VPN в HTTPS | ✅ SoftEther |
💡 Рекомендованный стек на старте (минимум):¶
- WireGuard — база, скорость, стабильность
- Outline — для не технарей (мобильные пользователи)
- Amnezia — для обхода DPI и кастомизации
- OpenVPN — fallback и надёжность
Итог для личного пользовани¶
🎯 Цель:¶
- Обеспечить надёжный, быстрый и безопасный доступ ко всем устройствам.
- С минимальной нагрузкой и стоимостью.
- Простой в установке, кросс-девайсный, легко управляемый.
✅ Рекомендованный протокол: WireGuard¶
Почему именно WireGuard:¶
| Критерий | WireGuard |
|---|---|
| 🔐 Безопасность | Очень высокая (современная криптография) |
| 🚀 Скорость | Максимальная из всех (ближе к теоретическому лимиту сети) |
| 📱 Поддержка устройств | iOS, macOS — нативные клиенты; Huawei роутеры — можно прошить или настроить вручную |
| ⚙️ Простота конфигурации | Автоматические .conf файлы, легко встраивается |
| 🧠 Управляемость | Можно быстро сгенерировать новый peer для любого члена семьи |
| 💰 Стоимость | Подходит для VPS на 512 MB RAM и 1 CPU — идеально для Spot-инстанса |
🧱 Что нужно сделать (пошагово)¶
Шаг 1: Зарегистрироваться на Rackspace¶
- Создать аккаунт
- Выбрать регион (Европа или ближе к тебе)
- Запустить Spot-инстанс (или самый дешевый VPS)
- Ubuntu 22.04
1 vCPU,512-1024 MB RAM,20 GB SSD- Статический IP желательно
Шаг 2: Установить WireGuard¶
🛠 Автоматический скрипт:¶
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
sudo ./wireguard-install.sh
- Выбираешь порт (по умолчанию
51820) - Создаешь peer для каждого устройства (например: iphone, macbook, huawei-router)
Пример генерации нового пользователя:¶
Шаг 3: Установить клиенты¶
| Устройство | Что делать |
|---|---|
| iPhone / iPad | Установить WireGuard из App Store, отсканировать QR |
| macOS | Установить WireGuard Desktop |
| Huawei роутер | В зависимости от модели: вручную скопировать .conf, или прошить OpenWRT с поддержкой WG |
Шаг 4: Настроить автозапуск и firewall¶
📉 Примерная стоимость¶
| Ресурс | Описание |
|---|---|
| VPS (Rackspace Spot) | от 3–5 USD/мес при малом трафике |
| Трафик | До 1 TB включено в минимальный план |
| WireGuard | Бесплатно, open source |
| Установка | 15–20 минут |
📦 Опционально¶
- Telegram-бот можно настроить позже для генерации
.confи QR. - Можно добавить Outline, если кто-то в семье не умеет настраивать VPN — очень удобно на мобильных.
🟢 ИТОГ: WireGuard — лучший выбор на старте¶
| Причина | Обоснование |
|---|---|
| 📱 Работает на всех устройствах | Да (iOS/macOS) |
| 💸 Очень дешёв в хостинге | Подходит для 1 CPU VPS |
| ⚡ Максимальная производительность | Поддерживает до 1 Gbps |
| 🔧 Просто ставится и настраивается | Весь стек на 1 bash-скрипте |
| 💼 Легко расширяется (бот, мониторинг) | Да |
🧪 Сравнение: Amnezia VPN vs Outline vs WireGuard¶
| Характеристика | Amnezia VPN | Outline | WireGuard |
|---|---|---|---|
| Тип | Мультипротокольный клиент/сервер | Shadowsocks-сервер с GUI | VPN-протокол |
| Архитектура | Клиент и сервер (Docker-based) | Только сервер + клиент GUI | Только протокол (клиенты/серверы) |
| Протоколы | ✅ WireGuard✅ OpenVPN✅ Shadowsocks✅ Cloak✅ V2Ray✅ Obfs | ✅ Shadowsocks (AEAD) | ✅ WireGuard |
| Обфускация/DPI | ✅ Да (через Cloak, Obfs, V2Ray) | ⚠️ Нет (можно вручную добавить Obfs) | ⚠️ Нет встроенной |
| Установка | CLI, Docker | GUI-менеджер, auto-script | CLI или Helm, скрипты |
| Нативность | Нужно ставить клиента Amnezia | Есть мобильные клиенты (Outline) | Есть клиенты на всех системах |
| Простота UX | Средняя (много опций) | Очень простая (один ключ) | Средняя (конфиг-файлы/QR) |
| Цель | Обход блокировок, конфигурация вручную | Быстрый запуск для нетехнарей | Безопасный быстрый VPN |
🔍 Поддерживаемые протоколы подробно¶
✅ Amnezia VPN¶
Amnezia — это GUI-клиент с CLI-деплоем, использующий контейнеризированные VPN‑сервисы.
Протоколы:
-
WireGuard
-
OpenVPN
-
Shadowsocks (через
shadowsocks-libev) -
V2Ray (с поддержкой TLS, WebSocket, мимикрия под HTTPS)
-
Cloak (обфускация для Shadowsocks)
-
Obfs3/Obfs4 (для OpenVPN/Shadowsocks)
Особенности:
-
Отличен для обхода DPI и фаерволов.
-
Сам клиент с UI — open source (amnezia.org).
-
Сервер разворачивается через Docker или CLI‑скрипт.
-
Можно работать как шлюз на VPS.
✅ Outline VPN¶
Outline = обёртка над Shadowsocks с удобным UX.
Протокол:
- Shadowsocks (AES-256-GCM, ChaCha20-Poly1305)
Особенности:
-
Не является полноценным VPN — это прокси.
-
Не тянет весь системный трафик на Android без root.
-
Очень легко настроить, но блокируется в Китае и РФ (если без Obfs).
-
Отличен как временное решение для нетехнарей.
✅ WireGuard¶
Протокол:
- WireGuard (UDP‑основанный VPN)
Особенности:
-
Современный VPN, безопасный и быстрый.
-
Поддержка в ядре Linux, на Windows/macOS — нативные клиенты.
-
Нет встроенного обфуска, но можно поверх обфусцировать (через obfsproxy, UDP-over-TCP, TCP-over-TLS, Shadowsocks).
🧩 Протоколы VPN¶
| Протокол/Технология | Особенности | Поддержка DPI | UX | Нативность |
|---|---|---|---|---|
| OpenVPN | Стабильный, старый, TCP/UDP | Частично | Средняя | + |
| IKEv2/IPSec | Нативный на iOS/macOS | Высокая | Простая | ++ |
| L2TP/IPSec | Старый, но работает в Windows | Низкая | Устарел | + |
| SoftEther VPN | Обходит DPI через HTTPS | Отличная | Сложная | – |
| V2Ray | Мощный, поддерживает TLS/WebSocket/QUIC | Отличная | CLI/JSON | – |
| Trojan | TLS-подобный VPN через порт 443 | Отличная | Средняя | – |
| Obfsproxy | Обфускация для других VPN | Используется как прослойка | – | – |
| Hysteria (v2) | QUIC + obfuscation VPN с высокой устойчивостью | Очень высокая | Средняя | – |
Вывод:
- Amnezia VPN поддерживает WireGuard, OpenVPN, Shadowsocks, V2Ray, Cloak.
- Outline поддерживает только Shadowsocks.
- WireGuard (native) — только WireGuard.
- SoftEther — поддерживает почти всё, кроме Cloak и Trojan.
- IKEv2/IPSec — только соответствующий протокол.