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

Всего 126 102 комментария

FastDevLab
FastDevLab
Согласен, не стоит спорить — оба подхода работают, просто решают задачу по-разному.

Ваше решение действительно работает, это главное. Но если позволите, поделюсь замечаниями по коду (не критика, а предложения по улучшению безопасности):
  • `verify => false` — отключает проверку SSL сертификатов (потенциально небезопасно);
  • `CURLOPT_SSL_VERIFYPEER` внутри блока прокси — без прокси SSL работает, с прокси отключен;
  • Порт 9858 захардкожен, хотя стандартный SOCKS5 — 1080;
  • Нет обработки ошибок cURL и логирования для диагностики;
  • Нет timeout на подключение к прокси.
Это не баги, просто можно сделать код более универсальным и безопасным.

По Amnezia WG — она тоже работает и обходит блокировки благодаря обфускации. Главное отличие — она поднимает VPN для всей системы, а не только для MODX.

Плюсы SOCKS5 (ваш подход):
  • Более стабильное решение;
  • Работает точечно для MODX.
Плюсы Amnezia (мой подход):
  • Проще для неопытных пользователей;
  • Работает для всех приложений;
  • Не требует правки системных файлов.
Минусы обоих:
  • SOCKS5 — требует платную подписку.
  • Amnezia — периодически блокируется, нужно обновлять конфиги.
Вывод: ваше решение идеально для тех, кто хочет минимального вмешательства в систему и готов платить за стабильность. Мое — для тех, кому нужен VPN для всего сразу.

Спасибо, что поделились инструкцией, она реально полезна.
Ivan K.
Ivan K.
То что у вас работает, не имеет отношение, к тому, что вы используете впн.
MODX обращается к репозиторию не через ваш впн! обращение идет от сервера, где у вас установлен MODX!!! Использование впн на вашем локальном компьютере не подменит ip сервера, где находится MODX.

Репозиторий MODX за Cloudflare — вы жмете «скачать компонент» идет обращение СЕРВЕРА где MODX к серверам Cloudflare, ip у них динамические, один раз нажмете попадете на тот который замедляется второй раз на тот, что еще не замедляют.
FastDevLab
FastDevLab
Вот работает (ссылка на запись gif) и сомневаюсь, что перестанет работать) Не знаю почему у вас не работает. И утверждение что «Соединение с репозиторием идет с ip сервера, где у вас MODX», получается ошибочно
Юрий
Юрий
Этот способ (через файл):
-работает если есть живой админ
-работает если он в группе
-работает если контекст manager не поломан
-работает если пользователь не удалён

Вариант описанный в статье (через БД):
-работает даже если админов нет
-работает если пользователь удалён
-работает если группы/связки сломаны
-работает при кривых миграциях и бэкапах
Юрий
Юрий
Этот скрипт работает, пока существует корректный администратор.
В статье разобраны случаи, когда админы удалены или база восстановлена частично — там файловый вход уже не помогает, и надёжнее создать нового пользователя в БД.
Артур Шевченко
Артур Шевченко
На сайтах B и C пишешь плагин на событие OnDocFormSave. В этом плагин отправляешь запрос с помощью CURL с данными ресурса на сайт A. На сайте A обрабатываешь входящий запрос: создаёшь или обновляешь ресурс пришедшими данными.
FastDevLab
FastDevLab
Хотел видео записать) Но у меня и без всяких ВПН, прокси и т.п. все работает и качается — по крайней мере сейчас) В общем мое решение в любом случае работает (как минимум пригодится для тех кто разрабатывает локально) и не требует вложений + тот же ютуб разблокирует)
Ivan K.
Ivan K.
Не будет этот вариант работать. Соединение с репозиторием идет с ip сервера, где у вас MODX не ужели не улавливаете?) Да и протокол, который вы указали блокируется, по крайне мере в Москве.