freenet/initializator
2026-03-24 03:30:16 +07:00
..
2026-03-24 03:30:16 +07:00
2026-03-24 03:30:16 +07:00
2026-03-24 03:30:16 +07:00
2026-03-24 03:30:16 +07:00
2026-03-24 03:30:16 +07:00
2026-03-24 03:30:16 +07:00
2026-03-24 03:30:16 +07:00

Initializator

Набор скриптов для быстрой настройки нового VPS-сервера с нуля: файрвол, веб-сервер, SSL и VPN.

Требования

  • Ubuntu / Debian
  • root-доступ

Быстрый старт

git clone <repo> && cd initializator

1. Базовая настройка

sudo bash common.sh     # UFW-файрвол (deny incoming, allow SSH)
sudo bash nginx.sh      # Nginx + правила UFW
sudo bash certbot.sh    # Certbot для SSL-сертификатов

2. VPN-сервер

Два варианта — выбирай нужный:

vless.sh vless_ip.sh
Подключение По домену По IP-адресу
Транспорт WebSocket TCP
Шифрование TLS (Let's Encrypt) Reality (XTLS)
Nginx Нужен (проксирует WS) Не нужен
Маскировка Обычный HTTPS-сайт TLS-хендшейк с реальным сайтом

Скрипты

common.sh

Устанавливает и настраивает UFW:

  • deny incoming / allow outgoing
  • Открывает порт 22 (SSH)

nginx.sh

  • Устанавливает Nginx (если не установлен)
  • Включает автозапуск
  • Открывает порты 80/443 в UFW

certbot.sh

  • Устанавливает Certbot + плагин для Nginx

vless.sh — VLESS + WebSocket + TLS (по домену)

Поднимает Xray-core за Nginx с WebSocket-транспортом и настоящим TLS-сертификатом.

Переменные .env:

DOMAIN=example.com
VLESS_WS_PATH=stream
PORT=10001

Что делает:

  1. Скачивает Xray-core с GitHub в ~/services/vless
  2. Генерирует UUID, создаёт config.json
  3. Создаёт systemd-сервис xray-vless
  4. Получает SSL-сертификат через Certbot (webroot)
  5. Настраивает Nginx: HTTP -> HTTPS редирект, WebSocket-прокси
  6. Выводит строку подключения

Архитектура:

Клиент -> :443 (Nginx, TLS) -> WS /$VLESS_WS_PATH -> :$PORT (Xray) -> интернет

Строка подключения:

vless://UUID@DOMAIN:443?encryption=none&security=tls&sni=DOMAIN&type=ws&path=%2FPATH#Fish-VLESS

Запуск:

sudo bash vless.sh

vless_ip.sh — VLESS + Reality (по IP)

Поднимает Xray-core напрямую на порту 443 с протоколом Reality. Nginx не нужен — Xray сам обрабатывает TLS, маскируясь под реальный сайт.

Переменные .env:

SERVER_IP=45.146.202.107

Что делает:

  1. Скачивает Xray-core с GitHub в ~/services/vless_ip
  2. Генерирует UUID + x25519 keypair + short ID
  3. Создаёт config.json с Reality
  4. Создаёт systemd-сервис xray-vless-ip
  5. Открывает порт 443 в UFW
  6. Выводит строку подключения

Архитектура:

Клиент -> :443 (Xray, Reality/XTLS) -> интернет
                  |
                  └─ TLS fingerprint = www.kuper.ru (маскировка)

Строка подключения:

vless://UUID@IP:443?encryption=none&security=reality&sni=www.kuper.ru&fp=chrome&pbk=PUBLIC_KEY&sid=SHORT_ID&type=tcp&flow=xtls-rprx-vision#VLESS-Reality

Запуск:

sudo bash vless_ip.sh

Файл .env

Создай initializator/.env перед запуском VPN-скриптов:

# Для vless.sh (доменный вариант)
DOMAIN=example.com
VLESS_WS_PATH=stream
PORT=10001

# Для vless_ip.sh (IP вариант)
SERVER_IP=45.146.202.107

Управление сервисом

# Статус
systemctl status xray-vless        # доменный
systemctl status xray-vless-ip     # IP

# Перезапуск
systemctl restart xray-vless
systemctl restart xray-vless-ip

# Логи
journalctl -u xray-vless -f
journalctl -u xray-vless-ip -f

Структура файлов на сервере

~/services/
├── vless/                     # доменный вариант
│   ├── xray                   # бинарник Xray-core
│   ├── config.json            # конфиг сервера
│   └── connection.txt         # строка подключения
└── vless_ip/                  # IP вариант
    ├── xray
    ├── config.json
    └── connection.txt

/etc/systemd/system/
├── xray-vless.service
└── xray-vless-ip.service

/etc/nginx/sites-available/
└── vless-$DOMAIN              # только для доменного варианта

Клиенты

Строку подключения можно импортировать в:

  • Android: v2rayNG, NekoBox
  • iOS: Streisand, V2Box
  • Windows: Nekoray, v2rayN
  • macOS: V2RayXS, Nekoray
  • Linux: Nekoray