Знание должно быть доступно!

Путь /ОС/Linux

Делай так.

Установка tinyproxy на чистый Arch Linux — коротко и по делу

Файлы и команды выполняй под root или через sudo.

  1. Включить форвардинг IP (если машина — gateway) Временно (для теста): echo 1 > /proc/sys/net/ipv4/ip_forward

Постоянно (сохраняется через sysctl): echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-tinyproxy.conf sysctl --system

  1. Установка sudo pacman -Syu tinyproxy

  2. Основной конфиг Файл: /etc/tinyproxy/tinyproxy.conf

Минимальный рабочий конфиг (скопируй в файл): User nobody Group nobody Port 8888 Timeout 600

DefaultErrorFile "/usr/share/tinyproxy/default.html" Logfile "/var/log/tinyproxy/tinyproxy.log" LogLevel Info PidFile "/run/tinyproxy/tinyproxy.pid"

MaxClients 100 MinSpareServers 5 MaxSpareServers 20 StartServers 10 MaxRequestsPerChild 0

ViaProxyName "tinyproxy"

  1. Разрешения доступа (ACL) В конфиге добавь строки Allow для сетей, которым доверяешь. Пример (временно — для теста разрешить всё локальное): Allow 127.0.0.1 Allow ::1 Allow 10.0.0.0/8 Allow 192.168.0.0/16

Не оставляй Allow 0.0.0.0/0 в продакшне без авторизации.

  1. HTTP Basic Auth (опционально) Tinyproxy поддерживает basic auth. В конфиге: BasicAuth username password (Пароль хранится в конфиге — не идеально, но есть.)

  2. Важное про HTTPS Tinyproxy НЕ делает MITM. Он форвардит HTTPS через CONNECT — то есть туннелирует. Если нужен MITM / фильтрация HTTPS — используй mitmproxy или аналог.

  3. Запуск и автозапуск sudo systemctl enable tinyproxy sudo systemctl start tinyproxy

Проверка статуса: systemctl status tinyproxy

  1. Проверка работы На клиенте: curl -x http://<IP_or_host>:8888 http://example.com

Если всё ок — страница загрузится через прокси.

  1. Логи tail -f /var/log/tinyproxy/tinyproxy.log

  2. Безопасность По умолчанию слушает все интерфейсы — опасно. Защита: в конфиге прописать Bind 127.0.0.1 Или ограничь доступ через iptables/nftables. Не пускай наружу без авторизации или ACL.

  3. Удаление sudo pacman -Rns tinyproxy

  4. Альтернатива для сложных сценариев squid — кэширование, ACL, аутентификация. mitmproxy — анализ и подмена HTTPS (требует установки CA). 3proxy — low-level, гибкость.

Конец.