Получить ключ
Linux · deb, rpm и Arch

Happ на Linux: установка пакетом и настройка

Настольный Happ выходит и под Linux: в каждом релизе разработчика лежит шесть файлов — пакет .deb для Ubuntu и Debian, .rpm для Fedora и openSUSE, .pkg.tar.zst для Arch и Manjaro, каждый в вариантах под x64 и arm64. Ставится он скачанным файлом, а не из репозитория дистрибутива, — в этом единственная тонкость, из-за которой установка иногда кажется невозможной. Ниже — команда под каждый формат, проверка туннеля из терминала и автозапуск.

Если параллельно настраиваете телефон или вторую машину — порядок для остальных систем собран в разделе настройки.

Установка и подключение: порядок действий

Шаги одинаковы для Ubuntu, Debian, Mint, Pop!_OS, Fedora, openSUSE, Arch и Manjaro — меняется только формат пакета и команда установки. Отдельно разобраны машина без графики и Steam Deck.

  1. 1
    Узнайте архитектуру своей машины
    Команда uname -m отвечает одним словом. Ответ x86_64 — вам нужны файлы с пометкой x64, это обычный настольный компьютер или ноутбук. Ответ aarch64 — берите файлы arm64: так отвечают одноплатники и ноутбуки на ARM. Скачанный не под ту архитектуру пакет менеджер просто откажется ставить.
  2. 2
    Скачайте пакет своего формата
    Файлы лежат на странице релизов разработчика: Happ.linux.x64.deb для семейства Ubuntu и Debian, Happ.linux.x64.rpm для Fedora и openSUSE, Happ.linux.x64.pkg.tar.zst для Arch и Manjaro. Размер — от 70 до 100 МБ в зависимости от формата, это нормально. Прямые ссылки собраны в разделе «Скачать Happ».
  3. 3
    Поставьте пакет одной командой
    Из каталога со скачанным файлом: sudo apt install ./Happ.linux.x64.deb на Ubuntu и Debian, sudo dnf install ./Happ.linux.x64.rpm на Fedora, sudo pacman -U Happ.linux.x64.pkg.tar.zst на Arch. Главная ловушка — точка и слэш перед именем файла: без них менеджер считает, что вы просите пакет из репозитория, и отвечает «не найдено». Зависимости он подтянет сам.
  4. 4
    Запустите клиент и достаньте ссылку-подписку
    После установки Happ появляется в меню приложений как обычная программа. Ссылка-подписка — длинный адрес из письма, начинающийся с https://: список серверов, ключи и сроки клиент вытягивает по ней сам. Копируйте строку целиком — почтовые клиенты переносят её на вторую строку, и половина адреса теряется при выделении мышью.
  5. 5
    Добавьте подписку в клиент
    Ищите пункт добавления профиля по адресу — «из буфера обмена», «из URL» или «подписка». Вставили строку, обновили — и в списке появляются несколько локаций. Пустой список означает обрезанный адрес, а не проблему с оплатой: сверьте, что скопировалась вся строка до последнего символа.
  6. 6
    Решите, чем ловить трафик: прокси или TUN
    По умолчанию клиент поднимает локальный прокси на 127.0.0.1 — тогда через сервер идёт только то, что об этом прокси знает. Режим TUN заводит виртуальную сетевую карту и уводит туда весь трафик системы, но требует повышенных прав. Разница разобрана ниже, начинать проще с прокси.
  7. 7
    Проверьте подключение из терминала
    Не полагайтесь на индикатор в окне: он показывает, что клиент считает себя подключённым, а не что трафик реально идёт наружу через сервер. Пяти команд из таблицы ниже достаточно, чтобы увидеть свой адрес до и после туннеля.
  8. 8
    Поднимите автозапуск
    Графический клиент проще всего добавить в автозапуск рабочего стола. Для службы без окна правильнее пользовательский юнит systemd: файл кладётся в ~/.config/systemd/user/, включается командой systemctl --user enable --now имя-службы. Чтобы служба работала и до входа в систему, для учётной записи включают режим постоянного пользователя — loginctl enable-linger.

Команда установки под ваш дистрибутив

Выполняется в каталоге, куда скачан файл. Для машин на ARM в имени файла меняется только x64 на arm64 — команда остаётся той же.

ДистрибутивФайл из релизаКоманда
Ubuntu, Debian, Mint, Pop!_OSHapp.linux.x64.debsudo apt install ./Happ.linux.x64.deb
Fedora, openSUSEHapp.linux.x64.rpmsudo dnf install ./Happ.linux.x64.rpm
Arch, Manjaro, EndeavourOSHapp.linux.x64.pkg.tar.zstsudo pacman -U Happ.linux.x64.pkg.tar.zst
Ноутбук или одноплатник на ARMHapp.linux.arm64.deb и одноимённыеКоманда своего семейства, имя файла с arm64
Обновление на новую версиюСвежий файл того же форматаТа же команда установки поверх — удалять старое не нужно

Что важно понимать про Happ на Linux

Пакет есть, а команды apt install happ — нет

Разработчик собирает пакеты сам и выкладывает их в релизах, но не отдаёт их в репозитории дистрибутивов. Практическое следствие ровно одно: имя «happ» ничего не значит для менеджера пакетов, пока вы не указали ему файл. Отсюда и берётся ощущение, что версии под Linux не существует, — команда без пути к файлу честно отвечает, что такого пакета не знает.

Из этого же следует второе: не ставьте пакеты с названием «happ» из сторонних репозиториев и не собирайте их из чужих сборок. Клиент видит ваши ключи доступа целиком, поэтому источник у файла должен быть один — страница релизов автора.

Обновления сами не приезжают

Раз пакет пришёл не из репозитория, обычное обновление системы его не трогает: apt upgrade и его аналоги о нём просто не знают. Клиент так и останется той версии, которую вы поставили, сколько бы времени ни прошло.

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

AppImage у Happ нет — и искать его не нужно

Формат AppImage удобен тем, что не требует установки, и его часто ищут по привычке. У Happ такого файла в релизах нет, а то, что найдётся по запросу «happ appimage», собрано не автором проекта. Ставить это опасно ровно по той же причине, что и пакеты из чужих репозиториев.

Заодно снимается старая головная боль: возни с библиотекой FUSE и запуска с ключом --appimage-extract-and-run здесь не будет вовсе — обычный пакет ставится штатным менеджером и никаких дополнительных библиотек не просит.

Локальный прокси против TUN — главная развилка

В режиме прокси клиент слушает порт на локальном адресе и ждёт, когда к нему кто-нибудь придёт. Браузер придёт, если указать прокси в его настройках или включить системный прокси в параметрах рабочего стола. А вот утилиты командной строки туда не смотрят вообще: им нужны переменные окружения http_proxy и https_proxy. Классическая жалоба «в браузере работает, а в терминале нет» — это ровно она.

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

DNS — второе место, где на Linux всё ломается

Даже при поднятом туннеле имена сайтов может по-прежнему разрешать локальная служба systemd-resolved через сервер провайдера. Внешне это выглядит странно: адрес наружу уже чужой, а часть сайтов не открывается или открывается местная версия. Смотреть надо командой resolvectl status — она показывает, какой сервер имён назначен каждому интерфейсу.

Правильная картина: у виртуального интерфейса свой сервер имён, и он выше по приоритету. Клиент настраивает это самостоятельно при включении TUN, но если в системе прописан статичный DNS в настройках соединения, он побеждает — и его придётся убрать руками.

Списка приложений, как на Android, в Happ нет

На телефоне можно отметить галочками, каким программам ходить через сервер. В настольном Happ такой настройки нет — ни на Linux, ни на других системах. Ограничение это приложения, а не операционной системы: сам Linux разводить трафик по владельцу сокета умеет — правилами маршрутизации по идентификатору пользователя (ip rule с диапазоном uidrange), метками на сокете и группировкой процессов через cgroup второй версии. На этом построены правила «по процессу» в других клиентах, например в mihomo.

Штатный аналог в Happ — разделение по адресам, и повседневно он удобнее: российские сервисы уходят напрямую по списку маршрутизации, остальное — через сервер, всё это одним переключателем режима. Если нужен именно выбор по программам, придётся либо строить правила маршрутизации руками, либо брать клиент, где такая функция заявлена.

Проверка подключения командами

Пять команд, которые отвечают на вопрос «туннель поднялся или мне кажется». Порт локального прокси подставьте свой — клиент показывает его в настройках.

Что проверяемКомандаЧто должно получиться
Адрес без туннеля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 — через виртуальный интерфейс, а не через Wi-Fi
Кто разрешает имена сайтовresolvectl statusУ активного интерфейса свой сервер имён, а не адрес роутера

Частные случаи, о которых спрашивают чаще всего

Сервер без графической оболочки
Happ — программа с окном, на голой консоли она бесполезна. Там ставится ядро протокола одним исполняемым файлом, конфигурация лежит текстом, работа держится юнитом systemd, состояние смотрится журналом службы.
Steam Deck и подобные устройства
Системный раздел там доступен только для чтения и перезаписывается обновлением прошивки, поэтому поставленный пакетом клиент после апдейта исчезает. Либо ставить заново после каждого обновления, либо держать клиент в контейнере поверх системы.
Тот же ключ на второй машине
Подписка рассчитана на четыре одновременных подключения. Ноутбук на Linux, рабочий компьютер на Windows и телефон живут на одной строке без доплат.
Когда дело не в клиенте
Отключите туннель на десять секунд и повторите действие. Проблема осталась — она не в подключении; типовые случаи разобраны на странице «Happ не работает».

Запасной вариант: чужие клиенты на той же подписке

Когда родного клиента мало

Причин ровно три, и все узкие. Первая — нужен открытый исходный код, который можно прочитать и собрать самому. Вторая — экзотическая архитектура: в релизах Happ есть только x64 и arm64, и на чём-то другом пакет просто не поставится. Третья — нужна функция, которой в Happ нет, чаще всего это правила по конкретным программам.

Во всех остальных случаях смысла менять клиент нет: ставится Happ пакетом, и на этом вопрос закрыт.

Подписка не привязана к приложению

Ссылка-подписка — это не файл под конкретную программу, а адрес, по которому лежит список серверов в общепринятом формате. Любой клиент, умеющий протокол VLESS, забирает по нему тот же самый список: те же локации, те же ключи, тот же срок. Требование к замене ровно одно — поддержка VLESS и импорт профилей по адресу подписки.

Этому условию отвечают, например, Hiddify и v2rayA среди приложений с интерфейсом, а на серверах — ядра, настраиваемые конфигурационным файлом. Что именно зашито внутри такой ссылки, разобрано на странице про конфиг.

Проверяйте, что проект жив

Отдельная ловушка чужих клиентов — заброшенные проекты. Показательный пример: репозиторий nekoray у автора MatsuriDayo переведён в архив, разработка прекращена, и советы «поставьте NekoBox» до сих пор кочуют по форумам. Такой клиент не получает ни исправлений протокола, ни заплаток безопасности, а ключи доступа вы отдаёте ему целиком.

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

Частые вопросы про Happ на Linux

Есть ли официальный клиент Happ для Linux?

Да. В каждом релизе настольной части проекта лежат шесть файлов под Linux: пакет .deb для семейства Ubuntu и Debian, .rpm для Fedora и openSUSE, .pkg.tar.zst для Arch и Manjaro — и каждый из трёх форматов в вариантах под x64 и arm64.

Честно о том, чего нет: нет AppImage, нет пакета в репозиториях самих дистрибутивов (поэтому команда apt install happ без имени файла ничего не находит) и нет автообновления — новая версия ставится скачанным файлом поверх старой. Ссылки на актуальные сборки собраны в разделе «Скачать Happ».

Как установить на Ubuntu или Debian?

Скачиваете файл Happ.linux.x64.deb и из каталога с ним выполняете sudo apt install ./Happ.linux.x64.deb. Точка и слэш перед именем обязательны: без них менеджер ищет пакет в репозитории и отвечает, что такого нет. Зависимости подтянутся автоматически, отдельно ставить ничего не нужно.

Порядок одинаков для Ubuntu, Debian, Mint и Pop!_OS — они одного семейства и различий здесь не дают. На машине с ARM берётся файл с пометкой arm64, команда та же.

А на Fedora и Arch?

На Fedora и openSUSE берётся Happ.linux.x64.rpm и ставится командой sudo dnf install ./Happ.linux.x64.rpm — правило про точку перед именем файла здесь то же самое.

На Arch, Manjaro и родственниках нужен Happ.linux.x64.pkg.tar.zst, команда — sudo pacman -U Happ.linux.x64.pkg.tar.zst. Ключ -U означает установку из файла, а не из репозитория.

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

Потому что в репозиториях дистрибутива этого пакета нет, и такая команда там его и не найдёт — ищите не ошибку у себя, а правильную форму команды. Менеджеру нужно передать путь к скачанному файлу: sudo apt install ./Happ.linux.x64.deb.

Тот же ответ вы получите, если находитесь не в том каталоге, куда скачался файл. Проверить проще всего командой ls Happ.linux.x64.deb — если она отвечает, что файла нет, перейдите в каталог загрузок.

Где скачать Happ в формате AppImage?

Такого файла у проекта не существует, и по запросу «happ appimage» вам скорее всего попадётся чужая сборка под тем же именем. Скачивать её не стоит: клиент видит ваши ключи доступа целиком.

Ставьте штатный пакет своего формата — он проще AppImage: не нужны ни права на запуск файла, ни библиотека FUSE, ни запуск из терминала.

Как обновить клиент на новую версию?

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

Автоматически это не произойдёт: пакет пришёл не из репозитория, поэтому штатное обновление системы его не касается.

Мой ключ куплен для телефона — он подойдёт ноутбуку на Linux?

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

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

Значит автозапуск не настроен либо настроен не там. Графическое приложение добавляется в автозапуск рабочего стола, служба — юнитом systemd. Для пользовательского юнита не забудьте про режим постоянного пользователя: без него служба стартует только после вашего входа в систему и гаснет при выходе.

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

Ключ для подключения на Linux

Сам клиент бесплатный — платный только доступ к серверам, то есть та самая ссылка-подписка. Она приходит на почту за минуту и вставляется в приложение сразу после установки пакета.

  • Одна строка на все системы: Linux, Windows, macOS, телефон и приставка — до четырёх подключений сразу.
  • Работает и с родным Happ, и с любым другим клиентом, понимающим VLESS.
  • Несколько локаций внутри подписки, переключение без доплат и без нового ключа.
  • Оплата разовая за выбранный срок, карта не сохраняется, автопродления нет.
Выбрать период Оплата картой, СБП или Telegram-кошельком. Ссылка-подписка приходит на e-mail.