Пакет устанавливает 3proxy 0.9.7 из исходников, применяет патчи UDP-over-SOCKS,
создаёт шесть listeners и запускает локальный health-check. Рассчитан на
Ubuntu/Debian с apt-get, systemd и доступом в интернет.
Версия 1.1.0 добавляет машинно-читаемый monitor_v1 logformat, ежедневную
встроенную ротацию, gzip и группу proxy-observability для непривилегированного
read-only мониторинга. Старый журнал при первом переключении сохраняется как
3proxy.log.pre-monitor-*.gz.
После распаковки на VM:
cd 3proxy-setup
cp config.example.yaml config.yaml
nano config.yaml
sudo ./setup3proxy.sh allНачиная с 1.1.1 ZIP хранит Unix mode metadata: setup, cleanup, step-скрипты и
Python tools получают 0755 при обычной распаковке на Linux; ручной chmod не нужен.
Для применения только конфига и systemd unit без повторной сборки patched binary используйте:
sudo ./setup3proxy.sh reconfigureВ config.yaml обязательно замените:
server.public_ipна публичный IPv4 новой VMlocal_authна локальные credentials прокси- адреса, порты и credentials обоих upstream
expected_egress_ipдля проверок upstream
Если UFW должен настраиваться автоматически, установите manage_ufw: true.
Облачный firewall/security group всё равно настраивается отдельно.
sudo ./setup3proxy.sh 0 # остановка, диагностика и backup
sudo ./setup3proxy.sh 1 # сборка и установка patched 3proxy
sudo ./setup3proxy.sh 2 # генерация config/systemd/UFW
sudo ./setup3proxy.sh 3 # запуск и VM-side health-checkМожно использовать YAML вне каталога:
sudo ./setup3proxy.sh all --config /secure/path/proxy.yamlПолный e2e-тест запускается с клиентской машины, имеющей доступ к VM:
python3 -m venv venv
venv/bin/pip install PyYAML
venv/bin/python tools/healthcheck.py --scope e2e --config config.yamlconfig.yaml содержит секреты: храните его с правами 600 и не добавляйте в
публичные репозитории или общедоступные архивы.
Версия 1.2.0 поддерживает ограниченный по source IPv4 режим без пароля. Возьмите
config.iponly.example.yaml, задайте access.allowed_client_cidrs и оставьте
только необходимые direct listeners. В режиме iponly установщик требует
непустой allowlist, запрещает /0 и завершает каждый ACL правилом deny *.
local_auth и upstreams для полностью direct-профиля не требуются.
Боевые профили именуйте по SSH-алиасу, например
config.yc-vm-0426.yaml, и всегда передавайте через --config.
Без --yes cleaner работает как dry-run и только показывает план:
./clean3proxy.sh
sudo ./clean3proxy.sh --yesОчистка останавливает service и процессы, удаляет binary, systemd unit, конфиги, логи, runtime state, build manifest и rollback-backup. Распакованный каталог сохраняется для повторной установки. Дополнительные режимы:
sudo ./clean3proxy.sh --yes --keep-backups
sudo ./clean3proxy.sh --yes --purge-setup
sudo ./clean3proxy.sh --yes --purge-ufw--purge-ufw включается только явно, поскольку совпадающие правила могли
существовать до установки. Cleaner не меняет cloud security groups и не очищает
глобальный systemd journal: выборочное удаление записей одного unit там
невозможно без затрагивания остальных сервисов.