Добавить в корзинуПозвонить
Найти в Дзене
Ivan-Yurievich

NaiveProxy — свой прокси который не блокируется: полный гайд с реальными ошибками и их решениями

NaiveProxy — свой прокси который не блокируется: полный гайд с реальными ошибками Я потратил несколько дней на настройку NaiveProxy и столкнулся со всеми возможными проблемами. В этой статье — не просто инструкция, а реальный путь с ошибками и их решениями. Если у вас что-то не работает — скорее всего вы найдёте ответ здесь. Что такое NaiveProxy и почему он лучше обычных прокси Обычные прокси — SOCKS5, Shadowsocks, даже V2Ray — оставляют характерные паттерны в трафике. Системы DPI научились их распознавать и блокировать. NaiveProxy работает принципиально иначе. Он использует настоящий сетевой стек браузера Chromium. Цензор смотрит на ваш трафик и видит обычный Chrome, который ходит на HTTPS-сайт. Потому что это буквально и есть Chrome — только тоннелирующий ваши запросы через сервер. Что понадобится — VPS с Ubuntu 20.04/22.04/24.04 (от 512 MB RAM)
— Домен с A-записью на IP сервера
— 15–20 минут времени Установка через скрипт Я написал скрипт-менеджер который делает всё автоматически. В

NaiveProxy — свой прокси который не блокируется: полный гайд с реальными ошибками

Я потратил несколько дней на настройку NaiveProxy и столкнулся со всеми возможными проблемами. В этой статье — не просто инструкция, а реальный путь с ошибками и их решениями. Если у вас что-то не работает — скорее всего вы найдёте ответ здесь.

Что такое NaiveProxy и почему он лучше обычных прокси

Обычные прокси — SOCKS5, Shadowsocks, даже V2Ray — оставляют характерные паттерны в трафике. Системы DPI научились их распознавать и блокировать.

NaiveProxy работает принципиально иначе. Он использует настоящий сетевой стек браузера Chromium. Цензор смотрит на ваш трафик и видит обычный Chrome, который ходит на HTTPS-сайт. Потому что это буквально и есть Chrome — только тоннелирующий ваши запросы через сервер.

Что понадобится

— VPS с Ubuntu 20.04/22.04/24.04 (от 512 MB RAM)
— Домен с A-записью на IP сервера
— 15–20 минут времени

Установка через скрипт

Я написал скрипт-менеджер который делает всё автоматически. Выполните на сервере:

bash <(curl -fsSL https://raw.githubusercontent.com/ivanstudiya-cpu/naiveproxy/main/naiveproxy.sh)

Скрипт установит Go, соберёт Caddy с нужным модулем forwardproxy, настроит systemd-сервис, UFW фаервол и выдаст готовые конфиги для клиентов на всех платформах.

Главная ошибка которая не даёт подключиться

Если вы настраивали NaiveProxy вручную и клиенты не подключаются — почти наверняка проблема в файле Caddyfile. Эта ошибка встречается во множестве гайдов в интернете.

Неправильно (не работает):

your-domain.com:443 { ... }

Правильно (работает):

:443, your-domain.com { ... }

Ключевое правило: :443 должен быть ПЕРВЫМ. Это указано в официальном README проекта klzgrad/naiveproxy но легко пропустить. Из-за этой одной строчки я потерял несколько часов.

Вторая частая ошибка — неправильная сборка Caddy

Многие гайды советуют собирать Caddy командой с флагом @naive — это не работает. xcaddy игнорирует ветку @naive и подтягивает стандартный модуль без поддержки NaiveProxy padding протокола.

Правильный способ — клонировать forwardproxy напрямую, прочитать нужную версию Caddy из go.mod и собрать именно её. Мой скрипт делает это автоматически.

Как проверить что Caddy собран правильно — выполните на сервере:

strings /usr/local/bin/caddy | grep -i "padding" | head -5

Должно показать: padding, Padding, SetPadding, NamePadding, WithPadding. Если этих строк нет — Caddy собран без naive модуля и ничего работать не будет.

Клиентские приложения

Android — NekoBox (бесплатно, рекомендую)
Скачать APK с GitHub: MatsuriDayo/NekoBoxForAndroid. Добавить профиль: + → Naïve → заполнить сервер, порт 443, логин, пароль, протокол HTTPS, SNI = ваш домен.

Windows — naive.exe (официальный клиент)
Скачать с github.com/klzgrad/naiveproxy/releases. Создать config.json рядом с exe, запустить в CMD: naive config.json. Затем в Firefox настроить SOCKS5 прокси 127.0.0.1:1080.

iPhone — Shadowrocket (~$2.99 в App Store)
Вставить URI: naive+
https://user:pass@your-domain.com:443

Важно: v2rayNG не поддерживает NaiveProxy. Используйте NekoBox или Hiddify.

Что умеет скрипт-менеджер

— SSH Hardening: ED25519 ключ, смена порта, Fail2Ban
— Мультипользователь: раздать доступ друзьям без перезапуска
— Несколько доменов на одном сервере
— Telegram-уведомления: упал/поднялся, статистика трафика
— Проверка сертификата с алертом
— Обновление скрипта прямо из меню
— Страница-камуфляж: сервер выглядит как обычный IT-блог

Итог

NaiveProxy — один из лучших вариантов для обхода блокировок. Chromium network stack — это не самодельная маскировка, а буквально тот же код что в браузере Chrome.

Две вещи которые нужно запомнить:

  1. В Caddyfile пишите :443, domain — не domain:443
  2. Caddy нужно собирать правильно — с проверкой padding строк

Скрипт с открытым исходным кодом: github.com/ivanstudiya-cpu/naiveproxy

Если статья помогла — подписывайтесь, впереди ещё много практических гайдов по Linux и самохостингу ⭐