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/. Установите так:
- Распакуйте от root в
/. Используйте--no-overwrite-dir, чтобы корневая папка архива не изменила права на/:sudo tar -xzf mins-<версия>-linux-x86_64.tar.gz -C / --no-overwrite-dir - Установите зависимости (GTK 3, libsecret, nftables) менеджером пакетов.
- Запустите скрипт после установки от root:
sudo sh /usr/lib/mins/scripts/postinstall. Он создаёт группу и папку состояния и включает хелпер. - Добавьте себя в группу (следующий раздел).
Чтобы вручную удалить установку из tar-архива, сначала выполните sudo sh /usr/lib/mins/scripts/preremove. Он
останавливает хелпер и снимает блокировку без VPN.
Работа с VPN (TUN)
Заголовок раздела «Работа с VPN (TUN)»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-helperjournalctl -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
Заголовок раздела «Блокировка без VPN»Настройки → Подключение → Блокировка без VPN требует nftables (nft) и VPN (TUN). Без nftables вы получите
arming the kill switch failed (is nftables installed?). С прокси-режимом — kill switch requires TUN.
Хелпер сохраняет свою таблицу межсетевого экрана (inet mins_killswitch), когда движок падает, а также при
перезапуске хелпера и обновлении пакета, так что машина остаётся закрытой, а не «протекает». Блокировка снимается:
- Отключить в mins;
sudo /usr/lib/mins/mins-helper killswitch-clear;- удалением пакета.
Если что-то другое сбрасывает межсетевой экран (перезагрузка nftables или firewalld), хелпер возвращает свою таблицу в течение секунды.
Хранилище и libsecret
Заголовок раздела «Хранилище и libsecret»Ключ, которым шифруются ваши серверы, 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, если она была включена. Удаление пакета отключает службу и снимает блокировку, чтобы машина не оставалась закрытой фильтрами программы, которой уже нет.