Shadowsocks на Linux: настройка клиента
На десктопном Linux с Shadowsocks исторически хуже, чем с Windows или Android: готовых официальных клиентов с автообновлением нет, а часть популярных GUI-проектов давно не развивается. Тем не менее рабочая связка есть — и она даже удобнее, чем кажется, если один раз разобраться с системным прокси и автозапуском. Ниже — как поставить и настроить клиент на Ubuntu, Debian, Fedora и Arch, какой GUI выбрать и на что не рассчитывать.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Какой GUI-клиент выбрать под Linux
На Linux Shadowsocks-клиент — это почти всегда связка из демона (ss-local) и надстройки поверх него: либо GUI, либо ручная настройка системного прокси. Вариантов на практике три:
- shadowsocks-libev — эталонная реализация на C, ставится из репозиториев большинства дистрибутивов, работает как локальный SOCKS5-прокси. GUI у него нет, но есть тонкая qt5-обёртка
shadowsocks-qt5в некоторых репозиториях (не везде поддерживается). - Qv2ray — некогда самый популярный кроссплатформенный GUI для v2ray/Shadowsocks с системным треем и графическими профилями. Важная оговорка: проект официально заморожен, последний релиз — 2.7.0, с 2022 года обновлений ядра нет. Работает он и сегодня, но плагин Shadowsocks для него нужно подтягивать отдельно, а багов с новыми версиями GTK-тем и Wayland никто не чинит.
- NekoRay / NekoBox for PC — активно поддерживаемый форк идеи Qv2ray на Qt, с встроенной поддержкой shadowsocks через ядро sing-box или Xray. Если вам нужен именно современный GUI с автообновлением правил — практически это единственный живой вариант на 2026 год.
Если приоритет — стабильность и минимум зависимостей, берите shadowsocks-libev и системный прокси. Если хочется графический интерфейс с профилями и подпиской — ставьте NekoRay, а Qv2ray рассматривайте только если он у вас уже стоит и работает: переустанавливать его с нуля сейчас смысла немного.
Shadowsocks-libev: минимум зависимостей, максимум предсказуемости
Это самый надёжный путь, если вы не гонитесь за красивым интерфейсом.
Установка на Debian/Ubuntu:
sudo apt update
sudo apt install shadowsocks-libev
На Fedora:
sudo dnf install shadowsocks-libev
На Arch (из AUR):
yay -S shadowsocks-libev
Конфиг клиента — обычный JSON, кладём в ~/.config/shadowsocks-libev/config.json:
{
"server": "203.0.113.10",
"server_port": 8388,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "ваш_пароль",
"timeout": 300,
"method": "chacha20-ietf-poly1305",
"fast_open": false
}
Метод шифрования и пароль должны совпадать с тем, что задано на сервере — если вы настраивали его сами, эти параметры смотрите в конфиге ss-server. Если сервера ещё нет, порядок установки серверной части описан в статье про установку Shadowsocks на VPS.
Запуск вручную:
ss-local -c ~/.config/shadowsocks-libev/config.json -v
Флаг -v выводит подробный лог — полезно на первом запуске, чтобы сразу увидеть ошибку авторизации или недоступный порт, если что-то не совпало. После проверки клиент удобнее держать как systemd-сервис (см. раздел про автозапуск).
Арендуйте сервер под свои задачи!
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверQv2ray и NekoRay: графический интерфейс с профилями
Оба клиента распространяются как AppImage — это снимает головную боль с зависимостями, но требует пары ручных шагов.
NekoRay (рекомендуется):
wget https://github.com/MatsuriDayo/nekoray/releases/latest/download/nekoray-linux64.zip
unzip nekoray-linux64.zip -d ~/apps/nekoray
chmod +x ~/apps/nekoray/nekoray
~/apps/nekoray/nekoray
Конкретное имя архива и структура релиза может немного отличаться от версии к версии — сверьтесь со страницей релизов на GitHub перед загрузкой. После запуска: Program → New profile → Shadowsocks, вводите адрес сервера, порт, пароль и метод шифрования — те же значения, что в JSON-конфиге выше. Профиль активируется двойным кликом, статус подключения виден в трее.
Qv2ray (если уже используете или хотите попробовать архивную версию):
wget https://github.com/Qv2ray/Qv2ray/releases/download/v2.7.0/Qv2ray-v2.7.0-linux-x64.AppImage
chmod +x Qv2ray-v2.7.0-linux-x64.AppImage
./Qv2ray-v2.7.0-linux-x64.AppImage
Для работы с Shadowsocks ему нужен отдельный плагин QvPlugin-Shadowsocks (в старых сборках AppImage он обычно уже включён). Проверить это можно в Preferences → Plugins — если плагина нет в списке, добавление серверов Shadowsocks через GUI работать не будет, и проще использовать shadowsocks-libev напрямую или переходить на NekoRay.
Оба клиента по умолчанию поднимают локальный SOCKS5/HTTP-прокси (обычно 127.0.0.1:1080 для SOCKS и 127.0.0.1:1081 для HTTP) — точные порты настраиваются в разделе Inbound/Basic Settings каждого профиля.
Системный прокси: GNOME, KDE и отдельные приложения
Shadowsocks на Linux почти всегда работает в режиме прокси, а не полноценного VPN-туннеля — трафик конкретных приложений нужно направить через SOCKS5 явно.
GNOME (Settings → Network → Network Proxy → Manual), либо из терминала:
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.socks host '127.0.0.1'
gsettings set org.gnome.system.proxy.socks port 1080
Откатить обратно:
gsettings set org.gnome.system.proxy mode 'none'
KDE Plasma: System Settings → Network → Proxy → "Manually specify the proxy settings", в поле SOCKS вписываете 127.0.0.1 и порт 1080. GNOME- и KDE-настройки читают не все приложения — GTK/Qt-софт (Firefox, Telegram Desktop) обычно подхватывает системный прокси, а статически собранные бинарники его игнорируют.
Отдельные приложения через proxychains — когда нужно завернуть в прокси конкретную команду, не трогая систему целиком:
sudo apt install proxychains4
В /etc/proxychains4.conf в конце файла:
socks5 127.0.0.1 1080
Использование:
proxychains4 curl https://ifconfig.me
Полный TUN-туннель (весь трафик системы, включая приложения без поддержки прокси) на shadowsocks-libev напрямую не делается — нужна прослойка вроде tun2socks. Это усложняет настройку и требует прав root на управление интерфейсом, поэтому имеет смысл только если вам действительно нужен режим "прозрачного VPN", а не просто браузер через прокси:
sudo ip tuntap add dev tun0 mode tun
sudo ip addr add 10.0.0.1/24 dev tun0
sudo ip link set tun0 up
sudo tun2socks -device tun0 -proxy socks5://127.0.0.1:1080
sudo ip route add default dev tun0 metric 1
NekoRay умеет разворачивать такой TUN-режим из коробки (пункт "TUN Mode" в настройках профиля) — это заметно проще, чем собирать связку вручную.
Проверка соединения и автозапуск
После настройки прокси проверьте, что трафик действительно идёт через сервер:
curl --socks5 127.0.0.1:1080 https://ifconfig.me
IP в ответе должен совпадать с адресом вашего сервера, а не с реальным адресом провайдера. Дальше стоит проверить DNS — если резолвинг доменов идёт мимо прокси напрямую через провайдера, это DNS-утечка, по которой видно, какие сайты вы посещаете, даже если сам трафик зашифрован. Подробно про диагностику и закрытие такой утечки — в статье про проверку DNS-утечек; коротко: в Firefox включите network.proxy.socks_remote_dns = true в about:config, в других приложениях резолвинг через прокси нужно включать отдельно в их настройках.
Автозапуск shadowsocks-libev как systemd-сервиса пользователя:
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/shadowsocks-client.service << 'EOF'
[Unit]
Description=Shadowsocks client
After=network.target
[Service]
ExecStart=/usr/bin/ss-local -c %h/.config/shadowsocks-libev/config.json
Restart=on-failure
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now shadowsocks-client
Для GUI-клиентов (Qv2ray, NekoRay) автозапуск проще сделать через .desktop-файл в ~/.config/autostart/ — большинство desktop-окружений подхватывают его при входе в сессию. Учтите, что сам факт запуска приложения не означает автоматическое подключение профиля — эту опцию нужно включить отдельно в настройках клиента ("Auto-connect last profile" или аналог).
Частые проблемы и их решения
- AppImage не запускается, ошибка
FUSE— на некоторых дистрибутивах (особенно свежие Ubuntu и Fedora) FUSE2 отсутствует по умолчанию. Установитеlibfuse2(sudo apt install libfuse2) или запускайте с--appimage-extract-and-run. curlчерез прокси отдаёт ошибкуConnection refused— клиент не запущен или слушает не на том порту. Проверьтеss -tlnp | grep 1080и сверьте порт с тем, что указано в конфиге.- Соединение устанавливается, но сайты не грузятся — чаще всего рассинхронизация метода шифрования или пароля с сервером. Сверьте
methodиpasswordв клиентском конфиге с серверным; список типичных ошибок разобран в статье про частые проблемы Shadowsocks. - Wayland: иконка в трее не появляется (Qv2ray, старые сборки NekoRay) — известная проблема на GNOME с Wayland, где нет полноценной поддержки system tray. Временное решение — расширение GNOME Shell "AppIndicator and KStatusNotifierItem Support" или переход на сессию X11 при входе в систему.
- Провайдер режет Shadowsocks по DPI — если соединение обрывается или сильно тормозит именно на территории с активной блокировкой протокола, стоит сравнить, оправдан ли Shadowsocks в вашем случае, с альтернативами вроде VLESS — сравнение в статье Shadowsocks или VLESS.
Арендуйте сервер под свои задачи!
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать серверНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Нужен ли root для запуска клиента?
Нет, если вы используете режим SOCKS5-прокси — ss-local и GUI-клиенты работают от обычного пользователя. Root нужен только для TUN-режима, где создаётся сетевой интерфейс.
Можно ли использовать один клиент сразу с несколькими серверами?
Да, у NekoRay и Qv2ray это штатная функция — храните несколько профилей и переключаетесь между ними без перезапуска. В shadowsocks-libev для этого просто держите отдельные конфиги и запускайте ss-local с разными портами.
Работает ли это на Wayland?
Сам прокси и подключение — да, без ограничений. Проблемы бывают только с системным треем у GUI-клиентов на некоторых окружениях, само соединение это не затрагивает.
Чем клиент на Linux отличается от версии для Windows?
Логика та же — тот же протокол, тот же принцип SOCKS5-прокси. Отличаются в основном GUI и способ автозапуска; если у вас смешанный парк устройств, настройка на Windows описана в статье Shadowsocks на Windows.
Что делать, если ни один GUI не подходит?
Использовать shadowsocks-libev напрямую и системный прокси — это самый живучий вариант, не зависящий от того, поддерживает ли кто-то конкретный GUI-проект в 2026 году.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →