Получить ключ
deb, rpm и pkg.tar.zst

Установка Happ на Linux: шесть пакетов и три менеджера

Сборки под Linux у проекта есть, и их шесть: три формата пакета, каждый под x64 и под arm64. Ставится любой из них одной командой штатного менеджера, зависимости менеджер добирает сам. Вся разница между дистрибутивами сводится к тому, какой формат вы берёте и какой командой его скармливаете системе.

У этой программы есть окно, и без графического окружения она бесполезна: на голом сервере пакет встанет, а пользоваться им будет нечем.

Короткий ответ

Порядок укладывается в четыре действия и занимает пару минут. Сначала выясняете разрядность машины командой uname -m, затем берёте файл нужного формата со страницы выпусков разработчика, ставите его пакетным менеджером своего дистрибутива и запускаете из меню приложений. Собранный список файлов с весами лежит в каталоге сборок — там же видно, какое имя у ARM-варианта.

  • Источник — только страница выпусков настольной линии. Формат берётся по дистрибутиву, разрядность — по ответу uname -m.
  • Допуск — здесь нет ни фильтра репутации, ни подписи разработчика: на входе стоит сам пакетный менеджер, и единственное, что он проверяет, — сходится ли архитектура пакета с архитектурой системы.
  • Запуск — установленный клиент пуст. Чтобы в нём появились серверы, нужна ссылка-подписка: как её физически вставить, разобрано на странице импорта подписки.

Чего под Linux действительно нет

Три отсутствия стоит знать заранее, чтобы не тратить вечер на поиски несуществующего. Универсального переносимого образа в формате AppImage проект не собирает вовсе, и всё, что выдаёт поиск по такому запросу, сделано посторонними людьми. Нет программы и в самих репозиториях систем: попытка поставить её по короткому имени, без указания скачанного файла, заканчивается ответом «ничего не найдено» — сообщение пугает, но означает ровно то, что написано. Наконец, встроенного механизма обновления у пакета не предусмотрено: штатное обновление системы эту программу не видит и новых версий не предлагает.

Отсюда следует и порядок обновления: заново взять файл выбранного формата и повторить установку поверх. Предыдущую сборку удалять незачем, добавленные профили замену переживают, а заходить за свежим выпуском имеет смысл раз в пару месяцев, не чаще.

Паспорт установки

Пять строк, которые отвечают на вопрос «что меня ждёт» до того, как вы начнёте.

ПунктКак здесь
ИсточникСтраница выпусков настольной линии в репозитории разработчика. В репозиториях самих дистрибутивов пакета нет, AppImage у проекта не существует.
Файл и весHapp.linux.x64.deb, Happ.linux.x64.rpm или Happ.linux.x64.pkg.tar.zst; у ARM-версий в имени вместо x64 стоит arm64. Вес — от 71 до 100 МБ, тяжелее всех выходит .rpm.
Требование системыНастольная система с графической оболочкой, архитектура x86-64 либо ARM64. Дополнительных библиотек пакет не требует, FUSE не нужен: зависимости менеджер подтягивает сам.
Кто стоит на допускеПакетный менеджер и права через sudo. Файл чужой архитектуры он поставить откажется; на архитектурах, кроме x64 и arm64, пакета попросту нет.
Как обновляетсяТолько руками: заново взятый пакет выбранного формата и повторный запуск той же строки. Механизма самообновления нет, предыдущую копию удалять не требуется, профили остаются.

Пять шагов установки

Первый шаг важнее остальных: он определяет, какой из шести файлов вам нужен.

  1. 1

    Узнайте архитектуру машины

    Откройте терминал и выполните uname -m. Ответ x86_64 означает, что вам нужны файлы с x64 в имени, ответ aarch64 — файлы с arm64.

    Пакет не той архитектуры менеджер не примет и скажет об этом прямо. Если в ответе что-то третье, подходящей сборки для этой машины не выпускают.

  2. 2

    Выберите формат по дистрибутиву

    Семейство Debian берёт .deb, Fedora и openSUSE — .rpm, Arch и его производные — .pkg.tar.zst. Форматы не взаимозаменяемы: конвертировать один в другой ради установки не нужно, все три лежат в одном и том же выпуске.

    Полный перечень файлов с весами — на странице каталога сборок.

  3. 3

    Отдайте файл пакетному менеджеру

    Зайдите в каталог, куда лёг загруженный пакет, и выполните строку своего менеджера из таблицы ниже. Всё недостающее он доберёт сам, подключать посторонние репозитории не потребуется.

    Для apt и dnf путь обязан начинаться с ./. Стоит эти два символа потерять — и менеджер поймёт запрос как имя пакета из сети, поищет его там и ответит отказом. Заминка на этом шаге самая частая и лечится дописыванием точки со слэшем.

  4. 4

    Запустите клиент из меню приложений

    Значок встаёт в общее меню наравне с остальным софтом: ни ярлык прописывать, ни стартовать из консоли не нужно. Первое окно будет пустым — так и должно быть у только что поставленной копии.

  5. 5

    Вставьте ссылку-подписку

    Пока в клиенте нет подписки, список серверов пуст и кнопка подключения ни к чему не ведёт. Порядок вставки строки разобран отдельно — как добавить ссылку-подписку.

Формат под дистрибутив

Команды даны для x64. Для ARM-машины в имени файла меняется ровно одна подстрока: x64 на arm64, всё остальное совпадает дословно.

Ваша системаФормат и чем ставить
Ubuntu, Debian, Linux Mint, Pop!_OSРодной формат тут .deb, скармливается штатному менеджеру: sudo apt install ./Happ.linux.x64.deb. Путь самый ходовой, зависимости разрешаются молча.
Fedora, openSUSEЗдесь нужен .rpm, а строка выглядит как sudo dnf install ./Happ.linux.x64.rpm. Из трёх форматов этот самый увесистый — под сотню мегабайт.
Arch, Manjaro, EndeavourOSФормат .pkg.tar.zst, ставится строкой sudo pacman -U Happ.linux.x64.pkg.tar.zst. Ключ -U тут читается как «возьми вот этот файл», а не «поищи в сети».
Любая из перечисленных систем на ARMСинтаксис не меняется вообще: подставляется имя, где вместо x64 написано arm64. Промахнуться архитектурой не страшно — менеджер откажется и объяснит, почему.

Два режима работы: прокси и TUN

Единственная развилка, которую придётся пройти сразу после установки.

По умолчанию клиент поднимает локальный прокси на 127.0.0.1. Через сервер уходит только тот трафик, чьё приложение об этом прокси знает и умеет им пользоваться. Браузер обычно знает, а вот утилиты командной строки в системные настройки прокси не смотрят вовсе: им нужны переменные http_proxy и https_proxy. Отсюда классический симптом «в браузере работает, а в терминале нет» — он означает не поломку, а именно режим прокси.

Режим TUN устроен иначе: клиент создаёт виртуальную сетевую карту и уводит в неё весь трафик машины, включая пакетный менеджер и любые консольные утилиты. За это он просит административные полномочия — интерфейс надо создать, а таблицу маршрутов переписать. Начинать проще с прокси: он ничего не меняет в системе и выключается закрытием окна.

Как убедиться, что трафик действительно идёт в туннель

Индикатор в окне клиента показывает только одно: клиент считает себя подключённым. Проверять надо снаружи, и вот короткий набор команд.

  • Внешний адрес без туннеля: curl -s https://api.ipify.org.
  • Он же через локальный прокси: curl -s --socks5-hostname 127.0.0.1:10808 https://api.ipify.org — порт подставьте свой, клиент показывает его в настройках.
  • Совпали оба адреса — трафик идёт мимо туннеля, и дальше разбираться надо не с установкой.
  • Виртуальный интерфейс: ip -brief address, в выводе ожидается строка вида tun0.
  • Маршрут: ip route get 1.1.1.1 — в режиме TUN он должен уходить через виртуальный интерфейс.
  • Разрешение имён: resolvectl status.

Имена и статичный DNS

Даже при поднятом туннеле имена может по-прежнему разрешать systemd-resolved через сервер провайдера. Чаще всего виноват статичный DNS, вручную прописанный в настройках сетевого соединения: он побеждает то, что предлагает интерфейс, и убирается только руками. Это стоит проверить сразу, если resolvectl status показывает не то, что вы ожидали.

Автозапуск и Steam Deck

Держать окно открытым не обязательно: клиент заворачивается в пользовательский юнит systemd, файл кладут в ~/.config/systemd/user/, включают командой systemctl --user enable --now имя-службы. Чтобы служба работала и до входа в систему, для пользователя включают loginctl enable-linger.

Отдельная история — Steam Deck. Обновление прошивки перезаписывает системный раздел, и установленный клиент оттуда просто исчезает. Вариантов ровно два: переставлять пакет после каждого обновления или держать клиент в контейнере, который прошивка не трогает.

Пакет встал, а подключаться некуда

На Linux установка заканчивается там же, где на любой другой системе: программа в меню есть, окно открывается, а список серверов пуст. Happ поставляется без единой точки внутри — он умеет только читать чужой список по ссылке-подписке. Пока такой ссылки нет, проверить нечего: ни curl через прокси, ни ip route get ничего осмысленного не покажут. Если рабочей подписки под рукой не оказалось, оформите доступ и вставьте строку в клиент.

Получить ключ

Короткие ответы

Есть ли вообще версия Happ под Linux?

Есть. В настольном выпуске лежат шесть Linux-пакетов: форматы .deb, .rpm и .pkg.tar.zst, каждый в двух архитектурах — x64 и arm64. Веса — от 71 до 100 МБ.

Почему apt install happ пишет, что пакет не найден?

Потому что в репозиториях дистрибутивов этой программы нет, ставить надо скачанный файл. И перед именем файла обязательно нужны точка и слэш: без ./ менеджер ищет пакет в репозитории и честно не находит его.

Где взять AppImage?

Нигде: проект такой формат не выпускает. Файлы, которые находятся по этому запросу, собраны посторонними людьми, и что внутри — неизвестно. Берите пакет своего формата из выпуска разработчика.

Как обновить Happ на Linux?

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

Что выбрать — прокси или TUN?

Для начала прокси: он не требует прав администратора и ничего не меняет в системе. TUN нужен, когда в туннель надо увести весь трафик машины, включая консольные утилиты и пакетный менеджер.