Whitelabel
Разверните SPZGate под своим брендом — от логотипа и названия в самой веб-панели до страницы установки в каталоге вашего веб-сервера — и предоставляйте антиспам-защиту клиентам как свой продукт.
Два места, где виден бренд
«SPZGate» встречается в двух разных местах, и их брендируют по-разному:
curl … | sudo bash, который клиент открывает один раз при подключенииclone.shАвтоматически: clone.sh разворачивает продукт с вашим брендом
Продукт уже умеет подставлять свой логотип, favicon и весь брендовый текст интерфейса через каталог custom/. Логотип и favicon монтируются файлами поверх стоковых (см. docker-compose.yml); текст — это одна переменная SERVICE_NAME в whitelabel.conf, которую читает прямо внутри контейнера getenv('SERVICE_NAME') в app/lang/lang-{ru,en,es,jp}.php — никаких отдельных файлов с текстом редактировать не нужно. Скрипт clone.sh — обёртка над install.sh, которая раскладывает custom/ в целевой директории до первого запуска Docker:
curl -fsSL https://spamorez.ru/spzgate/clone.sh | sudo bashБез дополнительных параметров команда сама скачивает актуальный релиз SPZGate, наш дефолтный шаблон custom/ (стоковые логотип и SERVICE_NAME=SPZGate) и запускает обычную установку install.sh — на выходе рабочий инстанс с каталогом /opt/spzgate/custom/, готовым к правке.
- Замените
custom/images/logo.pngиcustom/images/favicon.icoна свои файлы того же формата - В
custom/whitelabel.confсменитеSERVICE_NAMEна своё название — это переименует продукт сразу везде в интерфейсе: заголовок панели, тему писем, сообщения об ошибках лицензии и т.д. - Разверните
custom/cert-proxy/index.phpна своём веб-сервере какhttps://ваш-домен/cert/и укажите его вSPZ_LICENSE_SERVER_URL(см. ниже) — клиент получает лицензионный ключ через ваш домен вместо spamorez.ru - Примените изменения:
docker compose up -d --force-recreate nginx php
curl -fsSL https://spamorez.ru/spzgate/clone.sh | sudo bash -s -- --dir /opt/mailguardcustom/lang/ можно положить свой lang-<код>.php: он подключается вместо (не вместе с) файла ядра. Инструкция и оба варианта (переопределить существующий язык / добавить новый) — в custom/lang/README.md внутри дистрибутива.error_key_signature. Вместо этого custom/cert-proxy/index.php прозрачно проксирует запрос на настоящий https://spamorez.ru/spzgate/cert/: разместите его как https://ваш-домен/cert/ на любом PHP-хостинге (не обязательно на том же сервере, что и SPZGate) и пропишите этот адрес в SPZ_LICENSE_SERVER_URL в custom/whitelabel.conf. Клиент в адресной строке видит только ваш домен, а подпись ключа остаётся настоящей — доработок в самом SPZGate не требуется.custom/ вручную после установки — соберите свой whitelabel.tar.gz (та же структура: images/, lang/, cert-proxy/, whitelabel.conf), разместите его у себя и передайте адрес явно: curl … | sudo WHITELABEL_BASE_URL=https://ваш-сайт.ru/spzgate bash — тогда каждая новая установка сразу разворачивается с вашим брендом.spamorez.ru в MX-записях и masquerade-домен — это реальная инфраструктура доставки почты, менять её не нужно.Скачайте страницу установки
Страница установки — это один самодостаточный файл index.html (без внешних скриптов и картинок логотипа: логотип нарисован текстом и CSS) плюс скрипт-бутстраппер install.sh. Скачайте оба файла с продакшн-сайта:
wget https://spamorez.ru/spzgate/index.htmlwget https://spamorez.ru/spzgate/install.sh/spzgate/releases/ — там лежат манифесты и архивы релизов.Выберите название и путь для своего бренда
Слово «spzgate» встречается на странице не только в логотипе, но и в путях — /spzgate/install.sh, /spzgate/releases/… и т.д. Для полноценного whitelabel это тоже часть бренда и его тоже нужно заменить: клиент не должен видеть «spzgate» ни в тексте, ни в адресной строке. Придумайте два варианта названия:
MailGuardmailguard (латиницей, без пробелов — как в URL)Разместите файлы в каталоге своего веб-сервера под этим слагом вместо spzgate:
/var/www/ваш-сайт/mailguard/index.html/var/www/ваш-сайт/mailguard/install.shСтраница станет доступна по адресу вида https://ваш-сайт.ru/mailguard/ — без единого «spzgate» в URL.
Замените логотип, название и путь на свой бренд
В index.html название встречается в двух формах: «SPZGate» (заголовок, логотип, текст) и «spzgate» (пути к install.sh, к релизам, футер) — нужно заменить обе:
SPZGate — Установка и обновление<div class="logo">SPZ<span>Gate</span></div>Почтовый шлюз с защитой от спама — установка за одну команду/spzgate/install.sh, /spzgate/releases/latest, …SPZGate 2.0 · spamorez.ruЗамените обе формы названия одной командой — сначала регистрозависимое отображаемое имя, затем путь в нижнем регистре:
sed -i 's/SPZGate/MailGuard/g; s/spzgate/mailguard/g' index.htmlПроверьте результат вручную — в файле остаётся домен spamorez.ru (см. шаг 4) и ссылка на офлайн-пакет вида spzgate-2.0.1-offline-amd64.tar.gz в футере: это реальное имя файла на наших серверах, его трогать не нужно, если вы не зеркалируете релизы сами (шаг 5).
<img> или <svg> внутрь блока .header и скорректируйте CSS-класс .logo.Обновите команду установки для клиентов
В трёх местах страницы показана команда установки с явным доменом spamorez.ru и путём /spzgate/ — замените их на свой домен и слаг, чтобы клиенты копировали ссылку на вашу страницу, а не на наш сайт:
curl -fsSL https://spamorez.ru/spzgate/install.sh | sudo bash→ заменяется на:
curl -fsSL https://ваш-сайт.ru/mailguard/install.sh | sudo bashПроверьте также заголовок-комментарий Usage: в начале файла install.sh — он не влияет на работу скрипта, но должен указывать на ваш домен и путь для консистентности документации.
/opt/spzgate) можно тоже переименовать под бренд, ничего не редактируя в скрипте — он настраивается флагом: curl … | sudo bash -s -- --dir /opt/mailguard.Решите, откуда скрипт будет брать сами пакеты
Внутри install.sh есть переменная RELEASE_BASE — она определяет, откуда загружаются архивы SPZGate и файл версии:
RELEASE_BASE="https://spamorez.ru/spzgate/releases"Рекомендуемый вариант — оставить RELEASE_BASE без изменений, с путём /spzgate/ на нашей стороне. Это внутренний технический адрес — клиент его не видит (видит только вашу страницу и вашу команду установки из шага 4), а пакеты и обновления по-прежнему приходят с наших серверов: вам не нужно вручную зеркалировать релизы при каждом обновлении.
Если вместо этого вы хотите полностью раздавать пакеты со своей инфраструктуры (например, для закрытого контура клиента), измените RELEASE_BASE на свой URL и синхронизируйте туда содержимое каталога releases/ (манифест + .tar.gz) при выходе каждой новой версии — тогда и здесь можно использовать свой слаг вместо spzgate.
Проверьте и опубликуйте
Прогоните полный сценарий на чистой тестовой ВМ: откройте свою страницу по адресу с вашим слагом, скопируйте команду установки кнопкой и выполните её — установщик должен определить актуальную версию и развернуть продукт без единого упоминания «spzgate» или «Спаморез» ни в URL и интерфейсе установки (шаги 1–6), ни в самой веб-панели (шаг 0) — залогиньтесь и проверьте логотип, favicon вкладки и тексты интерфейса.