Настройка на компьютере и роутере

Установите консольный клиент SecurQbit на Linux, Windows, FreeBSD или роутер OpenWrt одной командой, проверьте загруженный файл и переведите всю сеть за VPN.

У SecurQbit есть консольный клиент для машин, у которых нет приложения: серверов и десктопов на Linux, Windows, FreeBSD и роутеров OpenWrt. Это тот же VPN и тот же аккаунт, что и в мобильных приложениях — про iOS и Android см. Установка SecurQbit.

Устанавливаются две программы:

ПрограммаЧто это
securqbitdФоновая служба. Она хранит вашу сессию, поднимает туннель и настраивает маршрутизацию системы. Работает с системными правами, потому что создание туннельного устройства их требует.
sqctlКоманда, которую вы набираете. Она просит службу что-то сделать и показывает, что происходит. Учётных данных не хранит и собственных прав не требует.

Работаете вы с sqctl. Все команды — в Справочнике CLI.

Установка одной командой

На Linux, macOS, FreeBSD и OpenWrt:

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh

Это вся установка. Скрипт определяет, какой пакет нужен этой машине, скачивает его, сверяет с опубликованными контрольными суммами SHA-256, раскладывает обе программы и регистрирует службу в том, что управляет долгоживущими процессами именно здесь — systemd, OpenRC, runit, SysV init, procd, rc.d или launchd. Больше настраивать нечего.

По завершении:

sqctl login              # выдаёт ссылку для подтверждения в браузере
sqctl connect --fastest
sqctl status

Аккаунт нужен уже существующий. Настольный клиент входит через подтверждение в браузере и не умеет создавать аккаунты. Создайте его сначала в приложении для iOS или Android — в том числе гостевой аккаунт, который входит на accounts.securqbit.com по коду восстановления и подтверждает оттуда.

Параметры

Установщик принимает несколько флагов. Передавайте их после sh -s --:

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --no-start
ФлагЧто делает
--version <v>Ставит конкретный выпуск вместо текущего.
--from <path>Ставит из уже скачанного архива, без сети.
--prefix <dir>Ставит не в /usr/local, а в другое место (на OpenWrt — /usr).
--no-startРегистрирует службу, но не запускает её.
--no-routerНа OpenWrt ставит без перевода локальной сети за туннель.
--uninstallУдаляет службу и обе программы.

Поддерживаемые платформы

СистемаАрхитектуры
Linuxx86-64, arm64, armv7
Windowsx86-64, arm64
FreeBSDx86-64, arm64
OpenWrtx86-64, arm64, armv7
macOSApple silicon, Intel

Сборка статическая, поэтому один пакет для Linux одинаково подходит и glibc, и musl — Debian, Ubuntu, Fedora, Arch, Alpine и Void берут один и тот же файл.

Сборки под MIPS нет и не будет. У таких роутеров 8–16 МБ флеш-памяти, а SecurQbit требует около 40, так что пакет для них смог бы только упасть — уже после того, как вы дождались загрузки. Роутер на ARM или x86-64 работает.

На macOS лучше приложение. Продукт для Mac — нативное приложение SecurQbit из App Store. Консольный клиент собирается и работает на macOS, чтобы его можно было там разрабатывать; пользователю Mac ставить нужно не его.

Проверка загруженного файла

Установщик и так сверяет архив с контрольными суммами, опубликованными рядом с ним, и отказывается продолжать при расхождении. Чтобы проверить вручную или установить без сети:

V=$(curl -fsSL https://cdn.securqbit.com/securqbitd/latest)
BASE=https://cdn.securqbit.com/securqbitd/$V
 
curl -fsSLO $BASE/securqbit-$V-linux-amd64.tar.gz
curl -fsSLO $BASE/SHA256SUMS
 
sha256sum --check --ignore-missing SHA256SUMS

Затем поставьте из только что проверенного файла:

tar -xzf securqbit-$V-linux-amd64.tar.gz
sudo ./securqbit-$V-linux-amd64/install.sh

Запуск install.sh из распакованного архива ставит именно этот архив и вообще не обращается к сети — так и устанавливают на машину, у которой ещё нет маршрута в интернет.

Контрольные суммы приходят по тому же HTTPS-соединению, что и пакет, поэтому они доказывают, что файл дошёл целым, а не что сервер был честен. Доверие соединению обеспечивает TLS. Не устанавливайте по открытому http.

Работа без sudo

Служба работает от root. Сокет, который она слушает, принадлежит группе securqbit, создаваемой установщиком, так что её участники управляют VPN без пароля:

sudo usermod -aG securqbit "$USER"    # Linux
sudo pw groupmod securqbit -m "$USER" # FreeBSD

Выйдите из системы и войдите снова, чтобы новая группа применилась. На macOS это группа admin, в которой администраторы уже состоят. На Windows аналог — группа SecurQbit Users, наряду с SYSTEM и «Администраторы».

До этого sqctl будет сообщать, что прав нет, и печатать команду выше.

Windows

На Windows ставят из архива, а не однострочной командой.

  1. Скачайте securqbit-<version>-windows-amd64.tar.gz с cdn.securqbit.com/securqbitd и распакуйте.
  2. Положите wintun.dll — драйвер туннельного адаптера под вашу архитектуру — рядом с securqbitd.exe. Вместе с SecurQbit он не распространяется; скачайте его с wintun.net.
  3. Из консоли PowerShell, запущенной от имени администратора, в распакованной папке:
.\install.ps1

Это копирует обе программы в %ProgramFiles%\SecurQbit, регистрирует службу и добавляет папку в системный PATH, чтобы sqctl работал из любого терминала. После этого откройте новый терминал, чтобы он подхватил обновлённый PATH.

Для удаления запустите .\uninstall.ps1 из той же консоли с правами администратора.

OpenWrt: перевести за VPN всю сеть

На роутере SecurQbit защищает всё, что есть в сети — телефоны, ноутбуки, консоли, умный телевизор — и на них при этом ничего не ставится.

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sh
sqctl login
sqctl connect --fastest

Установка ещё и настраивает межсетевой экран: зону поверх туннельного устройства с NAT, перенаправление трафика локальной сети в неё и запрет IPv6 из локальной сети в сторону WAN. На роутере это поведение по умолчанию, потому что VPN на роутере, защищающий только трафик самого роутера, — не то, ради чего его ставят. Если вам нужно именно так, используйте --no-router.

Перед началом проверьте три вещи.

  • Флеш-память. Нужно около 90 МБ свободного места. У большинства домашних роутеров его нет, и установщик откажется, а не станет забивать overlay — роутер с заполненным overlay уже не починить по сети. Решение — extroot на флешке или SD-карте.
  • Модуль tun. В стандартный образ OpenWrt он не входит: opkg update && opkg install kmod-tun (или apk add kmod-tun). Без него падает первое подключение, а не установка.
  • curl. В некоторых образах нет ни curl, ни wget, умеющего нормально работать по HTTPS: opkg install curl.

Смотрите журнал через logread -f -e securqbitd. Он намеренно остаётся в оперативной памяти — писать мегабайты в день во флеш-память роутера значит убить её.

IPv6 именно отклоняется, а не отбрасывается, и это сделано намеренно. Туннель несёт IPv4, поэтому оставленный на WAN локальный IPv6 увёл бы половину трафика каждого устройства мимо VPN. Отклонение заставляет клиентов сразу переходить на IPv4, а не ждать таймаута на каждом запросе. Флаг --allow-ipv6 отключает эту защиту и принимает утечку.

Подключение при загрузке

sqctl set autoconnect on

Служба стартует вместе с машиной и поднимает туннель, как только появится сеть. Вместе с sqctl set country роутер или сервер возвращается после перезагрузки уже защищённым, и заходить в систему никому не нужно.

Оставаться в актуальной версии

sqctl update

Команда скачивает текущий выпуск, проверяет его, заменяет обе программы и перезапускает службу. SecurQbit ещё и сам проверяет раз в сутки и сообщает, когда появилось новое — строкой под sqctl status:

    Update         v1.1.0 available — run: sqctl update

Он только сообщает. Сам никогда не ставит, потому что завершение обновления означает перезапуск, а перезапуск рвёт поднятый туннель. sqctl set updates off прекращает проверки; sqctl update при этом продолжает работать.

Удаление

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --uninstall

Сначала опускается туннель, чтобы маршрутизация и DNS вернулись в прежнее состояние, затем удаляются служба и обе программы. На роутере удаляется и добавленная конфигурация межсетевого экрана. Ваш файл настроек и журналы остаются на месте.

Дальше