Skip to content

pumbaX/naiv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 

Repository files navigation

NaïveProxy

Интерактивный установщик и менеджер NaïveProxy для Ubuntu/Debian. Ставит Caddy с naive-плагином forwardproxy, настраивает TLS, BBR, firewall и systemd — всё одним скриптом с удобным меню.

Что такое NaïveProxy

Прокси с маскировкой под обычный браузер 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 naive

🎁 Запуск в любой момент

sudo naive

🔄 Обновление

Просто повтори команду быстрого старта — она перезапишет скрипт свежей версией с GitHub.


Подготовь домен (A-запись)

В панели регистратора (Reg.ru, Namecheap, Cloudflare и т.д.):

  1. Открой DNS настройки своего домена
  2. Добавь запись:
    • Тип: 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
Работает на всех клиентах одинаково — скопировал, вставил, включил.

Windows без GUI

Скачай 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

FAQ

Почему 443, а не нестандартный порт?
Наивный трафик маскируется под обычный HTTPS-сайт. На порту 8443 уже подозрительно — никто не ходит на сайты через такие порты.

Если на сервере уже nginx/3x-ui на 443?
443 может занимать только один процесс. Варианты:

  1. Переехать другой сервис на 8443, оставить 443 для naive
  2. Caddy заменяет nginx полностью (умеет всё то же самое + naive)
  3. 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. Делайте что хотите, ответственности не несу.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages