Как отключить уведомления о подписке в Proxmox?

  • Автор:

Proxmox-Disable-Subscription-Notice-000.pngМногие наши материалы появляются в результате обратной связи с читателями. Так и на этот раз, в обсуждениях возник вопрос об отключении уведомлений об отсутствии платной подписки в продуктах Proxmox. Там же было предложено решение, которое, на наш взгляд, не является оптимальным, и мы предложили свой вариант. А потом подумали, а почему бы не оформить это отдельным материалом, тем более что данный вопрос волнует многих наших читателей. И, как всегда, кроме руководства к действию, будет необходимый теоретический минимум и пояснения по решаемой проблеме.

Proxmox - известный австрийский производитель ПО с открытым исходным кодом, наиболее известным их продуктом является система виртуализации Proxmox Virtual Environment, чуть менее известен пограничный почтовый шлюз Proxmox Mail Gateway. Коммерческая модель компании строится по принципу продажи поддержки на основе подписки, вместе с которой предоставляется доступ к корпоративному репозиторию. При этом никакого разделения между коммерческими и бесплатными пользователями нет, просто в бесплатный репозиторий пакеты попадают с некоторой задержкой, в случае обнаружения уязвимостей и публичного доступа к продукту это может быть чувствительно.

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

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

Proxmox-Disable-Subscription-Notice-001.pngПри этом многие пользователи считают данное уведомление назойливым и выражают желание его отключить. Желание вполне понятное, но здесь неизбежно всплывает юридическая сторона вопроса. Имеют ли право разработчики назойливо предлагать вам подписку? Да, вы используете продукт их интеллектуального труда, и они вправе встраивать в него любые рекламные и прочие предложения, насколько это допускается законом.

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

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

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

Откроем файл /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js и найдем в нем участок кода:

if (res === null || res === undefined || !res || res 
.data.status.toLowerCase() !== 'active') {

Proxmox-Disable-Subscription-Notice-002.pngЗдесь не нужно глубоко вникать в логику программы, достаточно понимать, что это условие и если оно истинно, то будет выполняться одна часть программы, которая показывает нам уведомление, а если ложно - то иная. Решение в данном случае предельно просто - делаем условие всегда ложным, для этого заменяем приведенный выше код на:

if (false) {

Proxmox-Disable-Subscription-Notice-003.pngСохраните файл и выйдите из сессии в веб-консоли Proxmox, также рекомендуем очистить кеш браузера (Ctrl + F5), затем можем снова заходить в панель управления, назойливое уведомление нас больше не побеспокоит.