Запускаем мессенджер Max в песочнице linux Firejail или Docker

Установка Max под Linux в изолированной песочнице с помощью Firejail.


Firejail


    Основные цели:
  • ограничить доступ к $HOME;
  • изолировать сеть и устройства;
  • скрыть системную информацию;
  • минимизировать права (capabilities) приложения.
0. Установка
sudo apt install -y firejail
Выполняйте следующие шаги от обычного пользователя.

1. Скачивание и распаковка
mkdir /tmp/max
cd /tmp/max
FILENAME=$(wget -qO- https://download.max.ru/linux/deb/dists/stable/main/binary-amd64/Packages.gz | gzip -d | awk '/Filename/ {print $2;exit}')
wget https://download.max.ru/linux/deb/${FILENAME} -O max.deb
7z x max.deb
tar xf data.tar
2. Размещение файлов
mv usr/share/max/ ~/
mv usr/share/icons/* ~/.local/share/icons/
sed "s#Exec=.*#Exec=firejail --profile=Max /home/$USER/max/bin/max %U#" usr/share/applications/max.desktop > ~/.local/share/applications/max.desktop
3. Настройка профиля
При необходимости измените сетевой интерфейс (в примере docker0).
mkdir -p ~/.config/firejail/  /home/$USER/Downloads/Max /home/$USER/.local/share/ONEME

FIREJAIL_INT=docker0
FIREJAIL_IP=172.17.0.212
FIREJAIL_GW=172.17.0.1

cat <<EOF > ~/.config/firejail/Max.profile
whitelist /home/$USER/max/
whitelist /home/$USER/.local/share/ONEME
whitelist /home/$USER/Downloads/Max
tmpfs /home/$USER/.local/share/ONEME/logs

whitelist /home/$USER/.themes
whitelist /home/$USER/.config/gtk*
whitelist /home/$USER/.local/share/fonts

whitelist \${RUNUSER}

private-tmp
private-dev
private-cache
private-bin /bin/bwrap
private-lib yes
private-etc ssl,ca-certificates,fonts

blacklist /var
blacklist /usr/src
blacklist /opt

# network
net $FIREJAIL_INT
ip $FIREJAIL_IP
netmask 255.255.255.0
defaultgw $FIREJAIL_GW
mac 1c:1a:df:f7:13:35
dns 77.88.8.8
dns 77.88.8.1
hostname $HOSTNAME

nosound # закомментируйте для включения звука
novideo

caps.drop all

machine-id
disable-mnt
EOF
4. Запуск
firejail --profile=Max /home/$USER/max/bin/max
5. Регистрация происходит в мобильном приложении, на десктопе логин по QR-коду.

6. Исправление проблем со звонками
Если звонки не работают из-за несовместимости библиотек, можно отключить max-service:
chmod -x ~/max/bin/max-service/bin/max-service
Либо заменить конфликтующие библиотеки системными:
mv ~/max/bin/max-service/lib64/libselinux.so.1 ~/max/bin/max-service/lib64/libselinux.so.1.custom
mv ~/max/bin/max-service/lib64/libmount.so.1 ~/max/bin/max-service/lib64/libmount.so.1.custom
mv ~/max/bin/max-service/lib64/libsystemd.so.0 ~/max/bin/max-service/lib64/libsystemd.so.0.custom

Docker


Вариант запуска в Docker (требует проброса X11, так как Wayland может не поддерживаться):
docker run --name max -it -v /home/$USER/Max:/home/$USER/Max -u 1000 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -h $HOSTNAME -e WAYLAND_DISPLAY=$WAYLAND_DISPLAY -e LANG="ru_RU.UTF-8" -e DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS -v $XDG_RUNTIME_DIR:$XDG_RUNTIME_DIR -v $HOME/.Xauthority:/home/$USER/.Xauthority ubuntu:24.04 bash
Установка зависимостей в контейнере:
apt update && apt install -y libglx0 libopengl0 libxkbcommon0 libglib2.0-0 libgl1 libpulse0 libgssapi-krb5-2 libegl1 libfontconfig1 libnss3 libxcomposite1 libxdamage1 libxfixes3 libxrender1 libxrandr2 libxtst6 libxi6 libasound2t64 libxkbfile1 libnotify4 locales libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0 libxcb-xinerama0 libxkbcommon-x11-0 libpipewire-0.3-0 x11-utils libsecret-1-0 libgcrypt20 libsecret-1-dev
echo -e "ru_RU.UTF-8 UTF-8\nen_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen

Chrome с отдельным профилем


Самый простой способ: использование веб-версии в изолированном профиле Chrome.
/bin/google-chrome --user-data-dir="$HOME/chrome-max-profile" --app="https://web.max.ru/"
Создание ярлыка:
cat <<EOF > ~/.local/share/applications/max.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=MAX
Exec=/bin/google-chrome --user-data-dir=$HOME/chrome-max-profile --app=https://web.max.ru/
Icon=$HOME/.local/share/icons/hicolor/128x128/apps/max.png
Terminal=false
Categories=Network;
EOF
Скачивание иконки:
wget https://clsv.ru/uploads/120/43730bb543fbddd328737f4b59ac9f915fa9549e.png -O $HOME/.local/share/icons/hicolor/128x128/apps/max.png
В заметке могут быть неточности :-)

Комментарии ()

    Авторизация

    GitHubGoogleVkontakteYandex
    Есть вопрос или предложение пиши в Telegram @cloudsv

    Прямой эфир

    cloudsv 07 января 2026, 07:20
    Установка и настройка minidlna 5
    zkutlin 29 мая 2025, 06:14
    Обновление Scala Rider G4 53
    cloudsv 26 октября 2024, 11:31
    MySQL Workbench падает при подключении 4
    Diego mont 25 мая 2023, 07:04
    Полезные боты в Telegram 2
    cloudsv 03 ноября 2022, 03:42
    Настройка прокси mtproto для Telegram 52
    cloudsv 03 января 2022, 10:50
    Let's Encrypt это легко и просто 4
    cloudsv 05 августа 2020, 11:57
    Мне вчера стукнуло 34 4
    cloudsv 23 июля 2025, 20:25
    Linux В Proton 10.x перестал работать gamepad 0
    cloudsv 05 октября 2024, 14:14
    Linux Отключение gvfs wsdd (Web Service Discovery) 0
    cloudsv 07 августа 2023, 22:56
    Linux Asus ROG x13 flow 2022 GV301RE и Linux 0
    cloudsv 15 апреля 2023, 16:23
    Linux Уведомление о смены workspace в X11 Linux 0
    cloudsv 17 октября 2020, 09:55
    Linux Отключить DHCP IPv6 в systemd 0
    cloudsv 30 июля 2020, 21:54
    О жизни Мне вчера стукнуло 34 4
    cloudsv 15 апреля 2020, 15:45
    Linux Основные hotkeys редактора Vim 0