cd /news/cybersecurity/naive-proxy-guide · home topics cybersecurity article
[ARTICLE · art-8428] src=gist.github.com ↗ pub= topic=cybersecurity verified=true sentiment=· neutral

Naive Proxy Guide

Step-by-step guide for setting up a Naive Proxy using a modified version of the Caddy web server with the forwardproxy plugin. The instructions cover server preparation, including enabling Google BBR, installing Go, and compiling Caddy, followed by configuration of TLS certificates and proxy authentication. The guide also includes optional steps for setting up Cloudflare WARP to further conceal the server's IP address or bypass regional restrictions.

read3 min views21 publishedApr 5, 2026
  1. Подключаемся к серверу: Советую обменяться ключами с сервером, чтобы потом заходить без пароля.
ssh-copy-id root@<SERVER-IP-ADDRESS>
ssh root@<SERVER-IP-ADDRESS>
  1. Далее автоматически обновляем систему: apt update -y && apt upgrade -y
  2. Включаем Google BBR для повышения эффективности обмена трафиком (без этого работать будет медленно): echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p
  3. Ставим Go последней версии не из репозиториев Debian, так как там версия Go устаревшая: wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile

source ~/.profile 5. Качаем исходники модифицированного Caddy с плагином forwardproxy: go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest 6. Перед сборкой нужно сделать важный шаг, так как на арендованных VPS часто каталог /tmp бывает слишком мал, а все временные файлы качаются туда — мы подменим его на свой: mkdir /root/tmp export TMPDIR=/root/tmp echo $TMPDIR # Должно вывести /root/tmp 7. Далее собираем Caddy: ~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive 8. Создаём каталог для файла конфига Caddy: mkdir /etc/caddy touch /etc/caddy/Caddyfile 9. Этот шаг можно пропустить, но я рекомендую генерировать логин и пароль через openssl . Данные команды выведут 2 строки, сгенерированные в base64 , их нужно будет скопировать и использовать на следующем шаге как логин и пароль: apt install openssl -y # ставим openssl если он не стоит

openssl rand -base64 64 | tr -dc 'A-Za-z0-9' | head -c 16; echo # логин
openssl rand -base64 64 | tr -dc 'A-Za-z0-9' | head -c 16; echo # пароль
  1. После вставляем конфиг в Caddyfile, но перед этим нужно поменять: your-domain.com на купленный домен;example@example.com на свою почту (на неё зарегистрируется сертификат);user иpass на свои логин и пароль из предыдущего шага;https://demo.cloudreve.org меняем на любой сайт, под который хотим маскироваться. Также он будет доступен при прямом переходе по твоему домену. cat <<EOF > /etc/caddy/Caddyfile :443, your-domain.com tls example@example.com route { forward_proxy { basic_auth user pass hide_ip hide_via probe_resistance } reverse_proxy https://demo.cloudreve.org {
header_up Host {upstream_hostport}
header_up X-Forwarded-Host {host}
}
}

EOF 11. Перемещаем собранный бинарник Caddy в пользовательский каталог: mv caddy /usr/bin/caddy chmod +x /usr/bin/caddy 12. Создаём systemd юнит для автоматического перезапуска: touch /etc/systemd/system/caddy.service cat <<EOF > /etc/systemd/system/caddy.service [Unit] Description=Caddy with NaiveProxy After=network.target network-online.target

Requires=network-online.target
[Service]

Type=notify User=root Group=root

ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile --force

TimeoutStopSec=5s LimitNOFILE=1048576 LimitNPROC=512 PrivateTmp=true ProtectSystem=full AmbientCapabilities=CAP_NET_BIND_SERVICE Restart=always RestartSec=5s

[Install]
WantedBy=multi-user.target

EOF systemctl daemon-reload systemctl enable --now caddy 13. После запускаем Caddy в фоне. Он автоматически получит TLS-сертификат на указанную почту: caddy start --config /etc/caddy/Caddyfile 14. Далее на ПК клиента нужно будет создать файл config.json с таким конфигом и заменить: user на логин, указанный в Caddyfile;pass на пароль, указанный в Caddyfile;demo10.cscot.buzz на домен вашего сервера (НЕ САЙТА МАСКИРОВКИ); touch config.json cat <<EOF > config.json

{
"listen": "socks://127.0.0.1:20808",
"proxy": "https://user:pass@demo10.cscot.buzz"
}

EOF Нужно, если хотите скрыть IP сервера или разблокировать региональный контент.

  1. Установить зависимости: apt install -y curl gnupg lsb-release
  2. Установка WARP клиента:
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/cloudflare-client.list

apt update && apt install cloudflare-warp -y 3. Настройка режима прокси: warp-cli registration new warp-cli mode proxy warp-cli connect 4. Проброс трафика в Caddy: Добавьте строку upstream socks5://127.0.0.1:40000 в ваш Caddyfile внутрь блока forward_proxy и выполните systemctl restart caddy .

- Для Android (Nekobox): GitHub Releases
- Для Windows/Linux (NekoRay): GitHub Releases
- Официальный NaiveProxy: GitHub
── more in #cybersecurity 4 stories · sorted by recency
── more on @google bbr 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/naive-proxy-guide] indexed:0 read:3min 2026-04-05 ·