Skip to content

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

Packages

Contributors

Languages