Перейти к содержимому

Linux

mins для Linux собирается для x86-64 (amd64) в виде .deb, .rpm, пакета Arch pkg.tar.zst и tar.gz. Пакеты зависят от GTK 3, libsecret и nftables.

Часть Где Что делает
Приложение /usr/lib/mins/mins, ссылка /usr/bin/mins Окно, значок в трее, ваши данные
Движок /usr/lib/mins/mins-engine Передаёт трафик
Привилегированный хелпер /usr/lib/mins/mins-helper, работает от root Создаёт интерфейс TUN и маршруты, включает блокировку без VPN. Слушает /run/mins-helper.sock
Группа mins системная группа Только root и члены этой группы могут обращаться к хелперу

Три режима подключения требуют разного:

Режим Что нужно
Только прокси Ничего. Ни хелпера, ни группы. Приложения вы направляете на локальный прокси сами
Системный прокси Поддерживаемое окружение рабочего стола (см. ниже). Ни хелпера, ни группы
VPN (TUN) Работающий хелпер и ваш пользователь в группе mins

Пакеты .deb, .rpm и Arch запускают скрипт установки, который создаёт группу mins, создаёт /var/lib/mins, включает и запускает mins-helper в той системе инициализации, которая работает: systemd, OpenRC, dinit, runit или s6. Вас в группу он не добавляет — так задумано. Он выводит:

mins: TUN access grants root-equivalent routing control. An administrator must explicitly run: usermod -aG mins USER; then log out and back in. Proxy-only/system-proxy need no group membership.

Если установка идёт там, где нет работающей системы инициализации (контейнер, chroot, сборка образа), скрипт сообщает об этом и даёт команду для ручного запуска: /usr/lib/mins/mins-helper run от root.

tar.gz не запускает никаких скриптов. В нём та же раскладка файлов, что в пакетах, и скрипты в /usr/lib/mins/scripts/. Установите так:

  1. Распакуйте от root в /. Используйте --no-overwrite-dir, чтобы корневая папка архива не изменила права на /: sudo tar -xzf mins-<версия>-linux-x86_64.tar.gz -C / --no-overwrite-dir
  2. Установите зависимости (GTK 3, libsecret, nftables) менеджером пакетов.
  3. Запустите скрипт после установки от root: sudo sh /usr/lib/mins/scripts/postinstall. Он создаёт группу и папку состояния и включает хелпер.
  4. Добавьте себя в группу (следующий раздел).

Чтобы вручную удалить установку из tar-архива, сначала выполните sudo sh /usr/lib/mins/scripts/preremove. Он останавливает хелпер и снимает блокировку без VPN.

TUN helper unavailable: <причина>; install/enable mins-helper and join group mins

Причина в конце первой части подсказывает, какая из двух причин у вас:

Причина Источник Что делать
No such file or directory (os error 2) или Connection refused (os error 111) Хелпер не запущен Проверьте и запустите его (ниже)
Permission denied (os error 13) Ваш сеанс не входит в группу mins Добавьте себя в группу, затем выйдите из сеанса и войдите снова

Проверьте хелпер (показан systemd; в других системах инициализации служба называется так же, mins-helper):

Окно терминала
systemctl status mins-helper
journalctl -u mins-helper -b

Если он не активен: sudo systemctl enable --now mins-helper. Без системы инициализации выполните sudo /usr/lib/mins/mins-helper run в свободном терминале.

Вступите в группу

Окно терминала
sudo usermod -aG mins "$USER" # или аналог вашего дистрибутива

Затем выйдите из сеанса и войдите снова (или перезагрузитесь). Запущенный сеанс хранит старый список групп. Проверьте командой id -nG: в списке должна быть mins.

Другие отказы хелпера видны в его журнале:

  • uid N is not in group `mins` : то же, что выше, для другой учётной записи.
  • group `mins` does not exist: скрипт установки не завершился; запустите его снова (sudo sh /usr/lib/mins/scripts/postinstall).
  • executable … is not under /usr/lib/mins: хелпер обслуживает только установленное приложение. Если запустить копию mins из домашней папки или /opt, TUN будет отклонён. Запускайте /usr/bin/mins.
  • mins-helper must run as root: хелпер запустили от обычного пользователя.

Системный прокси поддерживается в GNOME, Cinnamon, Unity (через gsettings) и KDE Plasma 6 (через kreadconfig6, kwriteconfig6 и dbus-send). Окружение определяется по XDG_CURRENT_DESKTOP. Везде в остальных случаях, включая MATE, вы получите:

System proxy is unavailable on this desktop; select proxy_only

Используйте вместо него Только прокси и направьте приложения на 127.0.0.1, порт Порт mixed-прокси (по умолчанию 10808, Настройки → Расширенные); он принимает и HTTP, и SOCKS5. Если нужной утилиты нет, вы получите сообщение вроде /usr/bin/gsettings: No such file or directory (os error 2).

Прежние настройки прокси рабочего стола сохраняются и восстанавливаются при отключении. Если восстановление не удалось, вы получите Cannot recover original proxy settings from <файл>: … Backup preserved; restore the original settings manually before reconnecting. Верните прокси в значение «нет» в сетевых настройках рабочего стола, затем нажмите Отключить и подключитесь снова. another mins host is active or still restoring the original proxy settings означает, что запущен второй mins; выйдите из него.

Настройки → Подключение → Блокировка без VPN требует nftables (nft) и VPN (TUN). Без nftables вы получите arming the kill switch failed (is nftables installed?). С прокси-режимом — kill switch requires TUN.

Хелпер сохраняет свою таблицу межсетевого экрана (inet mins_killswitch), когда движок падает, а также при перезапуске хелпера и обновлении пакета, так что машина остаётся закрытой, а не «протекает». Блокировка снимается:

  1. Отключить в mins;
  2. sudo /usr/lib/mins/mins-helper killswitch-clear;
  3. удалением пакета.

Если что-то другое сбрасывает межсетевой экран (перезагрузка nftables или firewalld), хелпер возвращает свою таблицу в течение секунды.

Ключ, которым шифруются ваши серверы, mins хранит в Secret Service вашего пользовательского сеанса (libsecret). Поставщик вроде GNOME Keyring, KWallet или KeePassXC должен работать и быть разблокирован в сеансовой шине D-Bus. Иначе mins остановится при запуске (Не удалось запустить mins) или сообщит о потерянных данных (Невозможно расшифровать профиль), если связка ключей оказалась новой и пустой. Запускайте mins из обычного сеанса рабочего стола, а не из su, sudo или голой SSH-оболочки.

  • Закрытие окна прячет mins; приложение продолжает работать. Выйти можно пунктом Выход в меню значка в трее. Без трея (общий совет: GNOME нужно расширение AppIndicator) вернуть скрытое окно нельзя: запустите mins ещё раз.
  • Настройки → Подключение → Запуск при входе создаёт ~/.config/autostart/mins.desktop. Подключаться при входе подключает при запуске приложения.
  • Пакет регистрирует обработчик ссылок mins:// через свой файл .desktop.

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