VPN для Linux — CLI-клиент Relokant
Полноценный VPN-клиент для Linux с терминальным интерфейсом. Одна команда для установки, одна для подключения. Под капотом — sing-box с протоколом VLESS, тот же движок, что в мобильном приложении Relokant.
Содержание
Установка
Для установки CLI-клиента выполните одну команду в терминале:
curl -fsSL https://relokant.net/linux/install.sh | bash
Скрипт скачает relokant-vpn и установит его в /usr/local/bin/. Если нужен sudo — запросит автоматически.
Зависимости
Клиент требует стандартные утилиты, которые есть в большинстве дистрибутивов:
- curl — для загрузки конфигурации
- jq — для обработки JSON-конфигов
- python3 — для декодирования URL
- base64 — для декодирования подписки (часть coreutils)
Если чего-то не хватает:
# Ubuntu / Debian
sudo apt install curl jq python3
# Fedora
sudo dnf install curl jq python3
# Arch Linux
sudo pacman -S curl jq python
sing-box — VPN-движок — устанавливается автоматически при первом подключении. Не нужно качать вручную.
Быстрый старт
Три команды — и у вас российский IP:
Откройте @relokant_net_bot в Telegram и нажмите «Старт». Бот выдаст 8-значный код. Если у вас уже есть подписка — используйте существующий код.
relokant-vpn activate YOUR_CODE
Клиент проверит код, загрузит конфигурацию серверов и сгенерирует конфиг sing-box.
relokant-vpn connect
VPN активен. Весь трафик идёт через российский сервер. Проверьте: relokant-vpn status
$ relokant-vpn status
Connected
PID: 12847
Interface: relokant
Public IP: 185.x.x.x (Москва)
Code: A7K*****
Все команды
| Команда | Описание |
|---|---|
activate <CODE> |
Сохранить код активации и загрузить конфигурацию |
connect |
Подключиться к VPN (создаёт TUN-интерфейс) |
disconnect |
Отключиться от VPN |
status |
Показать статус подключения и текущий IP |
servers |
Показать список доступных серверов |
update |
Обновить подписку и конфигурацию |
install-service |
Создать systemd-сервис для автозапуска |
install-singbox |
Вручную установить sing-box |
logs |
Информация о логах и конфиге |
uninstall |
Удалить конфигурацию и данные |
Короткие алиасы: connect = up, disconnect = down, status = st, servers = list.
Автозапуск через systemd
Чтобы VPN запускался автоматически при загрузке системы, создайте systemd-сервис:
# Сначала активируйте и проверьте подключение
relokant-vpn activate YOUR_CODE
relokant-vpn connect
# Убедитесь, что всё работает
relokant-vpn status
relokant-vpn disconnect
# Установите сервис
relokant-vpn install-service
# Управление
sudo systemctl start relokant-vpn # запустить
sudo systemctl stop relokant-vpn # остановить
sudo systemctl status relokant-vpn # статус
sudo journalctl -u relokant-vpn -f # логи в реальном времени
Важно: systemd-сервис запускает sing-box напрямую, минуя скрипт. Это означает, что для обновления конфигурации (например, после продления подписки) нужно вызвать relokant-vpn update и перезапустить сервис: sudo systemctl restart relokant-vpn.
Поддерживаемые дистрибутивы
Ubuntu / Kubuntu / Xubuntu
20.04 LTS и новее. Самый популярный дистрибутив — всё работает из коробки.
Debian
11 (Bullseye) и новее. Стабильная база, все зависимости в стандартных репозиториях.
Fedora
38 и новее. DNF установит все зависимости за секунду.
Arch Linux / Manjaro
Rolling release — всегда свежие версии. sing-box доступен в AUR.
Linux Mint / Pop!_OS
Основаны на Ubuntu — всё идентично. Установка одной командой.
openSUSE
Tumbleweed и Leap. Зависимости через zypper.
Поддерживаемые архитектуры
- x86_64 (amd64) — стандартные ПК и ноутбуки
- ARM64 (aarch64) — Raspberry Pi 4/5, серверы ARM, Pinebook
- ARMv7 (armhf) — Raspberry Pi 2/3, старые ARM-платы
Ручная установка
Если вы не хотите использовать автоустановщик, можно установить всё вручную:
# 1. Скачайте скрипт
curl -fsSL https://relokant.net/linux/relokant-vpn -o relokant-vpn
chmod +x relokant-vpn
sudo mv relokant-vpn /usr/local/bin/
# 2. Установите sing-box вручную (или через пакетный менеджер)
relokant-vpn install-singbox
# Или через snap:
# sudo snap install sing-box
# Или через AUR (Arch):
# yay -S sing-box-bin
# 3. Активация и подключение
relokant-vpn activate YOUR_CODE
relokant-vpn connect
Как это работает
Клиент Relokant — это обёртка над sing-box, тем же VPN-движком, который используется в мобильном приложении. Вот что происходит при подключении:
- Загрузка конфигурации. Клиент обращается к API Relokant с вашим кодом активации и получает список VLESS-серверов с параметрами подключения
- Генерация конфига. VLESS URI преобразуются в формат sing-box — JSON-файл с настройками TUN-интерфейса, DNS, маршрутизации и серверов
- Создание TUN-интерфейса. sing-box создаёт виртуальный сетевой интерфейс
relokantи перенаправляет на него весь трафик - Шифрование. Трафик шифруется протоколом VLESS+TLS и маскируется под обычный HTTPS — не обнаруживается DPI
Приватность: конфигурация хранится локально в ~/.config/relokant/. Клиент не собирает логи, не отправляет телеметрию. Единственное обращение к серверу — загрузка подписки при activate и update.
Продвинутое использование
Конфигурация sing-box
Сгенерированный конфиг sing-box находится в ~/.config/relokant/config.json. Вы можете редактировать его вручную — например, добавить правила маршрутизации для split tunneling:
# Посмотреть текущий конфиг
cat ~/.config/relokant/config.json | jq .
# Проверить конфиг
sing-box check -c ~/.config/relokant/config.json
Split tunneling
По умолчанию весь трафик идёт через VPN. Чтобы исключить определённые сайты или IP-адреса, отредактируйте секцию route.rules в конфиге:
// Добавьте правило в route.rules:
{
"domain_suffix": [".local", ".lan"],
"outbound": "direct"
}
Проксирование только браузера
Если не нужен системный VPN, можно использовать sing-box как SOCKS5/HTTP-прокси. Для этого замените TUN-инбаунд в конфиге на:
{
"type": "socks",
"tag": "socks-in",
"listen": "127.0.0.1",
"listen_port": 1080
}
Затем настройте браузер на прокси 127.0.0.1:1080. Это не требует root.
Решение проблем
- «Permission denied» при connect — TUN-режим требует root. Клиент запросит sudo автоматически. Убедитесь, что ваш пользователь в группе sudo
- «sing-box not found» — выполните
relokant-vpn install-singboxдля ручной установки - DNS не работает после подключения — проверьте, что systemd-resolved не конфликтует. Попробуйте:
sudo resolvectl dns relokant 1.1.1.1 - Подключение зависает — попробуйте
relokant-vpn updateдля обновления конфигурации. Если не помогает — возможно, текущий сервер недоступен - Конфликт с Docker — Docker может конфликтовать с TUN-маршрутами. Добавьте подсеть Docker в исключения маршрутизации в конфиге sing-box
- Нет интернета после отключения — в редких случаях маршруты могут не восстановиться. Перезапустите NetworkManager:
sudo systemctl restart NetworkManager
Частые вопросы
Установите VPN на Linux за 2 минуты
3 дня бесплатно. Получите код в Telegram, выполните три команды — и у вас российский IP.