- Подключаемся к серверу: Советую обменяться ключами с сервером, чтобы потом заходить без пароля.
ssh-copy-id root@<SERVER-IP-ADDRESS>
ssh root@<SERVER-IP-ADDRESS>
- Далее автоматически обновляем систему: apt update -y && apt upgrade -y
- Включаем Google BBR для повышения эффективности обмена трафиком (без этого работать будет медленно): echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p
- Ставим 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 # пароль
- После вставляем конфиг в 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 сервера или разблокировать региональный контент.
- Установить зависимости: apt install -y curl gnupg lsb-release
- Установка 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