Перейти к содержанию

🔧 I. Инфраструктура и базовая архитектура

1. Выбор облака и конфигурация

  • Провайдер: Rackspace Cloud
  • Локации: выбрать регионы (желательно с низкой ценой трафика и низким пингом)
  • Тип инстансов:
    • 1 CPU / 1-2 GB RAM для Outline / WireGuard
    • 2 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


🤖 III. Telegram-бот (ссылка генератор)

1. Функции бота

  • Авторизация по ключу / логину
  • Генерация ссылок:
    • ssconf:// – Outline
    • openvpn:// – ссылку на .ovpn
    • wireguard:// – файл или QR
    • amnezia:// – по 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-инстансах выгоден?

  1. Дешевле до 70%, особенно при auto-scaling.
  2. Восстановление через Deployment/StatefulSet и nodeAffinity/tolerations позволяет пережить прерывание узла.
  3. Хорошо ложится на архитектуру: 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 🟡 Нужно добавлять

🧠 Как использовать

  1. Добавьте Helm‑репозиторий (локально или в GitHub Pages):

    helm repo add vpn-multistack https://your-org.github.io/vpn-multistack-helm/
    helm repo update
    
  2. Установите чарт:

    helm install vpn‑stack vpn-multistack/vpn‑multistack \
      --set image.bot=YOUR_DOCKER_REGISTRY/telegram-vpn-bot \
      --set ingress.enabled=true \
      --set ingress.hosts[0]=vpn.example.com
    

⚙️ Что внутри (кратко)

  • Deployment для:
    • Outline (та же схема, что описана в Medium‑гайде: порт 40000/60000, TLS-секрет) (sosedoff.com, medium.com)
    • WireGuard, c NET_ADMIN capability (по аналогии с helm-wireguard) (sosedoff.com)
    • OpenVPN (использует stable/openvpn Helm‑чарт) (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

  1. Создай аккаунт на https://rackspace.com (если нет).
  2. Разверни кластер Kubernetes:
    • Лучше использовать Spot-инстансы для экономии.
    • Можно через terraform или вручную в панели.
    • Убедись, что:
      • Установлены kubectl, helm, docker, terraform.
      • У кластера есть Load Balancer, PersistentVolume, доступ в интернет.
  3. Подключись к кластеру:
    kubectl config use-context rackspace-cluster
    kubectl get nodes
    

🔹 Шаг 2: Настройка Helm и CI/CD

  1. Инициализируй Helm:
    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm repo update
    
  2. Создай структуру 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
    • .conf WireGuard
    • amnezia://

🔹 Шаг 5: Мониторинг, логгинг, TLS

  • Добавь Prometheus + Grafana (через Helm)
  • Ingress Controller (Nginx) + cert-manager (Let’s Encrypt)
  • Обеспечь:
    • fail2ban или firewall внутри кластера
    • логирование подов и действий бота (например, в Loki или Sentry)

🔹 Шаг 6: CI/CD и Terraform

  1. CI/CD (GitHub Actions / GitLab CI):
    • Автоматическая упаковка Helm-чартов
    • Публикация на GitHub Pages
    • Автодеплой в кластер
  2. 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

💡 Рекомендованный стек на старте (минимум):

  1. WireGuard — база, скорость, стабильность
  2. Outline — для не технарей (мобильные пользователи)
  3. Amnezia — для обхода DPI и кастомизации
  4. 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)

Пример генерации нового пользователя:

sudo ./wireguard-install.sh
# → Add a new client
# → Имя: macbook

Шаг 3: Установить клиенты

Устройство Что делать
iPhone / iPad Установить WireGuard из App Store, отсканировать QR
macOS Установить WireGuard Desktop
Huawei роутер В зависимости от модели: вручную скопировать .conf, или прошить OpenWRT с поддержкой WG

Шаг 4: Настроить автозапуск и firewall

sudo systemctl enable wg-quick@wg0
sudo ufw allow 51820/udp
sudo ufw enable

📉 Примерная стоимость

Ресурс Описание
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 — только соответствующий протокол.

Литература