System Настройки Limitations
GNOME & KDE Plasma
В десктопных средах Linux (GNOME, KDE Plasma) глобальные настройки сетевого прокси (находятся в Настройки → Сеть) работают иначе, чем в других ОС. Хотя вы можете ввести SOCKS IP и порт, нет полей для логина и пароля.
Из-за этого настройки прокси в системном графическом интерфейсе работают только как «рекомендация» для приложений. Они не будут автоматически аутентифицировать приложения. Большинство сетевых инструментов просто отклонят соединение без учетных данных.
Web Браузеры
1. Firefox (Лучший выбор)
Firefox остается самым надежным вариантом на Linux, так как он обладает полной нативной поддержкой SOCKS5 с аутентификацией.
- Шаг 1: Перейти в
Настройки→Общее→ scroll toНастройки сетии нажмитеНастройки... - Шаг 2: Выбрать Ручная настройка прокси.
- Шаг 3: Введите SOCKS-хост и порт, и отметьте
SOCKS v5. - Шаг 4: Нажмите ОК. Когда вы перейдете на свой первый сайт, появится запрос на ввод логина и пароля прокси. Отметьте «Запомнить пароль».
about:config в адресной логах найдите network.proxy.socks_remote_dns, и переключите его на true.
2. Chrome / Chromium / Edge / Brave
Эти браузеры полагаются на несовершенный сетевой стек системы Linux. Чтобы обойти это, необходимо использовать специальное расширение для прокси.
- Шаг 1: Установите Переключатель проксиyOmega из веб-магазина расширений.
- Шаг 2: Откройте настройки расширения, создайте новый профиль, указав
SOCKS5, и введите данные вашего сервера. - Шаг 3: Нажмите на иконку замка справа, чтобы ввести данные для аутентификации прокси (логин и пароль).
- Шаг 4: Примените изменения и активируйте профиль через иконку расширения на панели инструментов.
Терминальные утилиты и переменные окружения
Прямые команды: cURL, wget, git
cURL: Всегда используйте --socks5-hostname флаг, чтобы DNS-запросы безопасно разрешались удаленно через прокси.
curl --socks5-hostname логин:пароль@ip:1080 https://api.ipify.org
Wget: Передавайте аргументы прокси явно.
wget --proxy=on --socks5-hostname=ip:1080 --proxy-user=логин --proxy-password=пароль https://example.com/file.zip
Git: Вы можете применить конфигурацию прокси глобально для всех операций clone и pull.
git config --global http.proxy "socks5://логин:пароль@ip:1080"
git config --global https.proxy " socks5://логин:пароль@ip:1080"
Настройка окружения (универсальный подход)
Самый простой способ заставить консольные приложения использовать прокси — задать стандартные переменные окружения. Их можно установить для текущей сессии или добавить в ~/.bashrc или ~/.zshrc файл для сохранения настроек.
export ALL_PROXY="socks5://логин:пароль@ip:1080"
export HTTP_PROXY="socks5://логин:пароль@ip:1080"
export HTTPS_PROXY="socks5://логин:пароль@ip:1080"
# Важно: Exclude local network routes
export NO_PROXY="localhost,127.0.0.1,.local,192.168.0.0/16"
Note on Безопасность: Хранение паролей в виде простого текста .bashrc файл может быть уязвимостью. В продакшене полагайтесь на зашифрованные переменные или менеджеры учетных данных, такие как pass.
Проксирование конкретных приложений (proxychains-ng)
Для приложений без нативных настроек прокси (таких как Spotify, Discord или Steam) самым надежным консольным инструментом на Linux является proxychains-ng. Он работает как оболочка, направляя весь сетевой трафик ПО через ваш кастомный прокси.
Установка и использование
- Шаг 1: Получение пакета
# Ubuntu/Debian:
sudo apt install proxychains-ng
# Arch Linux:
sudo pacman -S proxychains-ng
- Шаг 2: Настройка сервера
Отредактируйте файл конфигурации (/etc/proxychains.confили~/.proxychains/proxychains.conf). В конце файла в разделе[ProxyList]введите свои учетные данные:
socks5 1.2.3.4 1080 логин пароль
(Совет: Включите тихий режим (quiet_mode) в начале файла, чтобы proxychains не выводил подробные логи при каждом подключении).
- Шаг 3: Запуск приложений
Просто добавьте команду proxychains перед исполняемым файлом приложения:
proxychains curl https://api.ipify.org
proxychains spotify
Приложения с нативной поддержкой SOCKS5
Телеграм Desktop
- Открыть Telegram
Настройки→Продвинутые→Тип подключения. - Выбрать
Использовать пользовательский прокси. ВыберитеSOCKS5тип конфигурации. - Введите хост, порт, логин и пароль, затем сохраните.
qBittorrent
- Откройте
Опции→Подключениеtab. - Выбрать
SOCKS5в разделе прокси-сервера и примените данные авторизации. - Критически важно: Убедитесь, что галочки «Использовать прокси для пиринговых соединений» и «Использовать прокси для поиска имен хостов» отмечены.
Языки и Docker
1. Python
Перед отправкой запросов необходимо установить зависимость SOCKS:
pip install requests[socks]
import requests
proxies = { "http": "socks5://user:[email protected]:1080", "https": "socks5://user:[email protected]:1080" }
response = requests.get("https://api.ipify.org", proxies=proxies, timeout=10)
print(response.text)
2. Node.js
Использование socks-proxy-agent пакет:
const axios = require('axios');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5://user:[email protected]:1080');
axios.get('https://api.ipify.org', { httpsAgent: agent, httpAgent: agent })
.then(res => console.log(res.data));
3. Настройка Docker
Для запуска прокси локально через docker-контейнер внедрите ENV при запуске.
docker run --env HTTPS_PROXY="socks5://логин:пароль@1.2.3.4:1080" my-image
Чтобы принудительно использовать прокси в масштабе сетевого демона Docker, отредактируйте ~/.docker/daemon.json:
{
"proxies": {
"default": {
"httpsProxy": "socks5://login:[email protected]:1080"
}
}
}
Безопасность Checklist & Alternative Tools
Redsocks (Прозрачная маршрутизация трафика)
Если вам нужно абсолютное, прозрачное проксирование трафика на уровне всей ОС без настройки исключений для каждого приложения, администраторы используют redsocks наряду с iptables firewall.
RedSocks работает как невидимый системный демон. Он транслирует обычные TCP-соединения, генерируемые машиной, и направляет их напрямую в вашу авторизованную точку SOCKS5.
Примечание: этот процесс сложен, требует строгих цепочек правил iptables для предотвращения сетевых петель и требует предварительного тщательного тестирования в виртуальной машине.
Локальные SSH-туннели
Если вы напрямую управляете удаленным сервером через SSH, вы можете динамически создать локальный беспарольный туннель SOCKS5 с помощью SSH-клиента, обходя необходимость ввода паролей в настройках приложений.
ssh -D 1080 -N -C [email protected]
После запуска открывается неавторизованный локальный туннель по адресу 127.0.0.1:1080. Вы можете направить proxychains или ваши терминальные утилиты на этот локальный хост и избежать раскрытия пароля.
Критические правила безопасности
- Всегда указывайте NO_PROXY для локального трафика:
export NO_PROXY="localhost,127.0.0.1,.local". Никогда не направляйте запросы локальных docker-контейнеров или IP-адреса шлюза роутера на внешний прокси-сервер. - Безопасность конфигураций: Структуры параметров .env не должны загружаться в публичные репозитории Git. Обеспечьте ограничение иерархии прав доступа к файлам:
chmod 600 ~/.bashrc - Проверка DNS: Используйте dnsleaktest.com нативно в своем браузере. SOCKS5-соединения также должны туннелировать ваши IP-запросы через
socks_remote_dns=trueчтобы избежать утечки данных о посещенных сайтах вашему провайдеру.
Нашли ошибку или метод не работает?
Технологии постоянно меняются. Если руководство устарело, вы столкнулись с проблемой или что-то не работает — дайте нам знать! Мы оперативно проверим информацию и поможем с настройкой.
Нужна индивидуальная помощь?
Используйте мощь ИИ. Мы подготовили специальный промпт для ChatGPT, который проанализирует вашу ситуацию и предоставит пошаговое руководство по подключению для вашего устройства.