Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 087 комментариев

Ivan K.
Ivan K.
Для всего сервера, у hestiacp хорошо реализовано, там список ip обновляется раз в сутки (блокируется полностью без каких либо ответов от сервера, для условного Китая сервера будто не существует)), только в гестии стран мало, но Китай есть)
Павел Гвоздь
Павел Гвоздь
Типа выгружать бекапы на соседний VPS по SFTP? Там по-моему оч долго будет выгружаться, что-то более менее существенное по размеру. S3 в этом плане и дешёвый, и быстрый. Но если SFTP прям необходимо, то реализую.

P.S. Очень рад, что нравится! Если будут идеи улучшения – кидайте под этот пост.
Ivan K.
Ivan K.
И было просто супер, если можно было настроить блокировку к серверу по странам (выбирается страна, порты и протокол), hestiacp, например так умеет. Я использую для блокировки Китая, чьи боты меня замучили))
Павел Гвоздь
Павел Гвоздь
Соглашусь. В принципе это можно реализовать через совместимость с Claude Code CLI… признаться, я уже реализовал DeepSeek и Xiaomi MiMo для теста, именно через совместимость с CC CLI. В первой версии подключать их пока не стану, ибо не отладил нормально, но в целом оно работает.
Алексей Шумаев
Алексей Шумаев
Нюанс со сниппетом msCart: прерывание работы сниппета при наличии $_GET['msorder']: disk.yandex.ru/i/fOiDPWuW8xgXsg
Мне кажется, это ошибочное решение, т.к. данный сниппет, например может применяться для вывода мини-корзины и тогда будет просто пустота — ни чанка, на массива.
Крайне неожиданное поведение — ведь логика отображения должна быть исключительно в чанке.
Не думаю, что нужно просто глушить вывод сниппета от наличия этой переменной — может (и точно будет) приводить к проблемам и постоянным вопросам пользователей.

Предполагаю, что это сделано для случая вывода корзины и формы заказа на одной странице, но лучше таки оставить логику на стороне чанков/шаблона, чтобы это было контролируемо.
Например:
{if $.get.msorder is empty} // выводим корзину {/if}