Интерактивный установщик и менеджер NaïveProxy для Ubuntu/Debian. Ставит Caddy с naive-плагином forwardproxy, настраивает TLS, BBR, firewall и systemd — всё одним скриптом с удобным меню.
Прокси с маскировкой под обычный браузер Chrome. Использует сетевой стек Chromium → цензор видит стандартный HTTPS-трафик на обычный сайт, различить невозможно даже при глубоком DPI-анализе.
- TCP/443 — HTTP/2 CONNECT tunnel с TLS fingerprint Chrome
- Камуфляжная страница — при зондировании без auth сервер отвечает как обычный веб-сайт
- Padding — маскировка длин пакетов
Поставить и сразу запустить:
sudo curl -fsSL https://raw.githubusercontent.com/pumbaX/naiv/main/NaiveProxy.sh -o /usr/local/bin/naive && sudo chmod +x /usr/local/bin/naive && sudo naivesudo naiveПросто повтори команду быстрого старта — она перезапишет скрипт свежей версией с GitHub.
В панели регистратора (Reg.ru, Namecheap, Cloudflare и т.д.):
- Открой DNS настройки своего домена
- Добавь запись:
- Тип:
A - Имя:
vpn(или любой поддомен) - Значение: IP твоего сервера
- TTL:
300(5 минут)
- Тип:
Получится vpn.mydomain.com → IP сервера. Подожди 2-5 минут чтобы DNS обновился.
Проверка:
dig +short A vpn.mydomain.com
# должен вернуть IP сервераБез этой записи Let's Encrypt не выпустит TLS-сертификат и скрипт не доустановит.
- ОС: Ubuntu 22.04 / 24.04 или Debian 11 / 12
- Доступ: root
- Домен: поддомен с A-записью на IP сервера (см. выше)
- Порты: 80 и 443 свободны
- Архитектура: amd64 / arm64 / armv6l
1) Установить
2) Обновить Caddy
3) Переустановить
─
4) Добавить клиента
5) Список клиентов
6) Удалить клиента
7) Сменить пароль
8) QR-код
─
9) Создать бэкап
10) Восстановить бэкап
11) Экспорт JSON
─
12) Показать конфиг
13) Показать логи
14) Управление сервисом
15) Диагностика
16) Удалить установку
1. Установить — полный цикл: обновляет систему, включает BBR, настраивает UFW, ставит Go, собирает Caddy с naive-форком forwardproxy, создаёт камуфляжную HTML-страницу, генерирует Caddyfile, поднимает systemd сервис, получает TLS от Let's Encrypt.
2. Обновить Caddy — пересобирает Caddy с последними версиями (Go + форк). Использовать раз в 2-3 месяца — naive важно держать в актуальной версии чтобы TLS fingerprint совпадал с текущим Chrome.
4. Добавить клиента — генерирует логин+пароль (или принимает ручной ввод), добавляет basic_auth строку в Caddyfile, делает hot-reload без разрыва соединений других клиентов.
5. Список клиентов — печатает готовые ссылки naive+https://... для всех пользователей.
8. QR-код — показывает ASCII QR прямо в терминале. Сканируешь телефоном → импорт в Karing/NekoBox автоматом.
15. Диагностика — проверяет 12 пунктов: DNS, TLS сертификат, порты, Caddy, камуфляж, BBR. Сразу видно что чинить.
| Платформа | Приложение |
|---|---|
| iOS | Karing |
| Android | NekoBox, Karing |
| Windows | NekoRay, naive.exe напрямую |
| macOS | Karing |
| Linux | naive бинарник + systemd |
Формат ссылки: naive+https://LOGIN:PASSWORD@domain.com:443
Работает на всех клиентах одинаково — скопировал, вставил, включил.
Скачай naive.exe, создай config.json:
{
"listen": "socks://127.0.0.1:1080",
"proxy": "https://user:pass@domain.com:443"
}Запусти naive.exe config.json — получишь SOCKS5 на 127.0.0.1:1080. В браузере или через Proxifier направь трафик туда.
# Открыть меню
sudo naive
# Логи Caddy в реальном времени
sudo journalctl -u caddy -f
# Статус
sudo systemctl status caddy
# Ручная валидация конфига
sudo caddy validate --config /etc/caddy/CaddyfileКаждый запуск через быстрый старт перезаписывает /usr/local/bin/naive свежей версией с GitHub. Команда sudo naive запускает локальную копию — не качает с интернета каждый раз.
| Что | Где |
|---|---|
| Сам скрипт | /usr/local/bin/naive |
| Caddyfile | /etc/caddy/Caddyfile |
| Бэкапы | /etc/caddy/backups/ |
| Systemd unit | /etc/systemd/system/caddy.service |
| Caddy бинарник | /usr/bin/caddy |
| Камуфляжная страница | /var/www/html/index.html |
- Бэкапы — перед каждым изменением конфига скрипт делает снимок. По умолчанию хранит 10 последних, настраивается через
MAX_BACKUPS=20 naive. - Валидация — новый конфиг проверяется
caddy validateДО замены рабочего. Битый конфиг не применится. - Логин/пароль — генерируются через
openssl rand, толькоA-Z a-z 0-9, 12+24 символов. - Двойное подтверждение на удаление установки.
В меню: пункт 16 Удалить установку — снимает Caddy, systemd unit, но оставляет конфиг и бэкапы (на случай если передумаешь).
Полное удаление включая конфиги:
# В меню пункт 16 — снимает Caddy и systemd
sudo naive
# Потом удалить остатки
sudo rm -rf /etc/caddy /var/www/html
sudo rm -f /usr/local/bin/naiveПочему 443, а не нестандартный порт?
Наивный трафик маскируется под обычный HTTPS-сайт. На порту 8443 уже подозрительно — никто не ходит на сайты через такие порты.
Если на сервере уже nginx/3x-ui на 443?
443 может занимать только один процесс. Варианты:
- Переехать другой сервис на 8443, оставить 443 для naive
- Caddy заменяет nginx полностью (умеет всё то же самое + naive)
- SNI routing через nginx
stream— сложнее, но можно делить 443 между наивой и другими TLS-сервисами
Сколько клиентов выдерживает?
Десятки одновременно на 1 CPU / 1 GB RAM. Ограничение практически только по пропускной способности канала.
Обновляется ли TLS сертификат автоматически?
Да. Caddy сам перевыпускает Let's Encrypt за 30 дней до истечения. Ничего делать не нужно.
QUIC / HTTP/3?
Caddy по умолчанию работает на TLS/TCP. HTTP/3 (UDP/443) можно включить правкой Caddyfile, но для базового использования не нужно.
Что с мобильным интернетом / CGNAT?
Клиент работает с любым типом подключения, включая мобильный и CGNAT. Сервер должен быть на публичном IP.
MIT. Делайте что хотите, ответственности не несу.