Обновление от 6 октября 2026 г.: Автономный прокси-сервер Matrix Sliding Sync больше не является подходящим компонентом для установки. Matrix.org заархивировал свой matrix-org/sliding-syncрепозиторий в ноябре 2025 года, поскольку в нем был реализован более старый API MSC3575, который был заменен на Simplified Sliding Sync (MSC4186). Synapse поддерживает нативную реализацию начиная с версии 1.114, причем поддержка включена по умолчанию. В июле 2026 года команда разработчиков Matrix Spec Core Team приняла предложение по основному компоненту MSC4186; связанные с ним предложения по расширениям остаются отдельной работой.
Для современной мобильной версии Synapse практичная настройка заключается в использовании текущей версии Synapse, подтверждении наличия встроенной функции Sliding Sync, обеспечении передачи путей API клиента Matrix через обратный прокси-сервер без изменений и использовании совместимого мобильного клиента. Отдельный контейнер прокси, база данных прокси и старый URL-адрес обнаружения прокси не требуются.
Стоит ли всё же устанавливать автономный прокси-сервер Sliding Sync?
Нет, это не относится к новой версии, предназначенной для существующих мобильных клиентов Matrix. Архивный прокси-сервер реализует протокол MSC3575, а не более новый нативный протокол MSC4186. В собственном репозитории проекта указано, что он больше не поддерживается и что от современных клиентов Matrix больше не ожидается его работы. Matrix.org также объявил о переходе на нативную поддержку и удалении поддержки прокси-сервера MSC3575 из Element X в январе 2025 года.
Историческое руководство по прокси-серверам может быть полезно при определении старой установки: в ней использовался PostgreSQL, постоянный секретный ключ и SYNCV3_*конфигурация среды. Эти инструкции описывают устаревшую архитектуру. Не копируйте их на новый сервер и не делайте общедоступным устаревший прокси-сервер только потому, что в старом руководстве он указан как более быстрый.
Что изменилось, и что это значит для пользователей мобильных устройств?
Ранее прокси-сервер представлял собой отдельную службу, которая располагалась между клиентом и его домашним сервером. Упрощенная скользящая синхронизация реализована непосредственно в Synapse. Она позволяет совместимым клиентам запрашивать соответствующий фрагмент списка комнат пользователя и обновлять его постепенно, что может уменьшить объем работы по синхронизации, которую мобильное приложение должно выполнять при открытии или возвращении к большому аккаунту.
Это улучшение синхронизации, а не гарантия мгновенной загрузки всех экранов. Оно не устраняет проблемы с медленным медиасервером, задержкой при подключении к удаленной комнате, слабым покрытием мобильной связи или загруженной базой данных. Мобильное приложение должно поддерживать MSC4186, а домашний сервер должен его рекламировать. В объявлении Matrix.org говорится, что собственная реализация Synapse позволяет избежать отдельного хранилища данных и первоначального ограничения полной синхронизации, характерных для старого прокси-сервера.
Что необходимо сделать перед включением этой функции?
- Домашний сервер Matrix, работающий под управлением Synapse. Данное руководство не предполагает, что Dendrite, Conduit или другой домашний сервер предоставляют ту же самую нативную реализацию.
- Поддерживаемая версия Synapse. В версии 1.114 добавлена встроенная поддержка MSC4186, но используйте текущую поддерживаемую версию, а не рассматривайте 1.114 как рекомендацию по безопасности или техническому обслуживанию.
- Мобильный клиент, поддерживающий упрощенную скользящую синхронизацию. Мощный домашний сервер не сможет заставить старый клиент использовать API, который он не поддерживает.
- Рабочая конфигурация HTTPS-клиента и обратного прокси для домашнего сервера.
- Перед обновлением или изменением маршрутизации сервера необходимо создать резервную копию базы данных и конфигурации.
Как проверить, поддерживает ли Synapse уже встроенную функцию Sliding Sync?
Запросите в терминале конечную точку версий общедоступного API клиент-серверной архитектуры. Замените указанный хост на базовый общедоступный URL-адрес, используемый вашими клиентами Matrix:
curl -fsS https://matrix.example.org/_matrix/client/versions | jq -r '.unstable_features["org.matrix.simplified_msc3575"]'
Ответ с trueзначением означает, что сервер сообщает о наличии встроенной функции Simplified Sliding Sync. Ответ с значением false, null, или отсутствием ключа означает, что перед тестированием клиента следует проверить версию и конфигурацию Synapse. Если jqSynapse не установлен, запросите тот же URL-адрес в браузере или запустите программу curl -fsS https://matrix.example.org/_matrix/client/versionsи изучите JSON-ответ.
Этот флаг является сигналом возможностей сервера; он не доказывает совместимость конкретной версии приложения или корректность всех маршрутов обратного прокси. Используйте клиент, в примечаниях к выпуску которого указана встроенная поддержка Sliding Sync, и проверьте путь запроса в его журналах или в средствах диагностики браузера/сети, если таковые имеются.
Как включить встроенную поддержку в Synapse?
В Synapse 1.114 и более поздних версиях встроенная функция Sliding Sync включена по умолчанию. Если ответ о версиях уже содержит значение true, обычно нет необходимости устанавливать отдельную службу и создавать новую базу данных синхронизации. Избегайте добавления спекулятивной конфигурации только потому, что в более старых руководствах описывается прокси-сервер.
Если эта функция явно отключена в конфигурации Synapse, проверьте соответствующий параметр в разделе experimental_features. В версиях, использующих описанный флаг, соответствующий YAML-файл выглядит следующим образом:
experimental_features:
msc3575_enabled: true
Добавляйте или изменяйте этот параметр только после проверки документации по конфигурации для установленной версии Synapse. Создайте резервную копию homeserver.yaml, сохранив остальную часть существующего experimental_featuresблока, и соблюдайте единообразие отступов YAML. Проверьте файл с помощью команды проверки конфигурации Synapse для вашей установки, затем перезапустите Synapse через диспетчер служб или метод оркестрации контейнеров, который вы уже используете. /_matrix/client/versionsПосле этого проверьте еще раз.
Если вы используете версию старше 1.114, запланируйте обновление Synapse, следуя официальным инструкциям по обновлению. Ознакомьтесь с примечаниями к промежуточным выпускам, создайте резервные копии базы данных и файлов конфигурации/носителей и следуйте поддерживаемому пути обновления для вашей системы. Не объединяйте обновление домашнего сервера, переадресацию обратного прокси и удаление старого прокси в одно непроверенное изменение.
Вашему обратному прокси-серверу требуется специальный маршрут Sliding Sync?
Обычно нет. Встроенная функция Sliding Sync использует маршрут API клиента-сервера Matrix /_matrix/client, поэтому ваш существующий обратный прокси должен перенаправлять пространство имен API клиента Matrix в Synapse. В официальном руководстве по обратному прокси Synapse указано, что следует перенаправлять /_matrixи /_synapse/clientсохранять URI запроса, а не канонизировать или нормализовать его.
Проверьте правила прокси-сервера, если /_matrix/client/versionsвсе работает, но совместимое приложение не может синхронизироваться. Убедитесь, что запросы достигают /_matrix/client/unstable/org.matrix.simplified_msc3575/Synapse и не отправляются на оставшийся прокси-сервер MSC3575, не блокируются брандмауэром веб-приложений и не переписываются правилом пути. Если Synapse работает за прокси-сервером, сохраните правильные заголовки forwarded-protocol и client-IP, описанные в документации Synapse.
Не создавайте новую org.matrix.msc3575.proxyзапись /.well-known/matrix/clientдля поддержки нативного API. Этот ключ указывает на устаревший API прокси. Если вы ранее добавляли его в статический общеизвестный JSON-файл или в файл конфигурации Synapse extra_well_known_client_content, удалите только это устаревшее свойство прокси после проверки того, что от него не зависит ни один необходимый старый клиент. Сохраните в неизменном виде обычную информацию об обнаружении домашнего сервера.
Как следует перенести существующую установку прокси-сервера?
- Запишите текущую версию Synapse, версии клиента, URL-адрес прокси-сервера, маршруты обратного прокси-сервера, а также местоположение базы данных и секретных ключей старого прокси-сервера.
- Создайте резервные копии базы данных домашнего сервера, конфигурации и базы данных прокси-сервера. Сохраните эти резервные копии до тех пор, пока не будет проверена возможность входа в систему через нативный клиент и синхронизация.
- Если версия Synapse старше 1.114, обновите её, следуя указанному в документации пути обновления, а затем убедитесь, что флаг, отвечающий за встроенные возможности, возвращает значение
true.
- Обновите мобильные клиенты до версий, поддерживающих встроенную функцию Simplified Sliding Sync. Следуйте инструкциям по миграции или повторному входу в систему внутри приложения. Для некоторых существующих сессий может потребоваться повторный вход в систему для перехода со старого протокола.
- Удалите устаревшее объявление прокси-сервера и перенаправьте путь API клиента Matrix на Synapse. Перезагрузите обратный прокси-сервер и проверьте его конфигурацию перед применением.
- Сначала протестируйте с одной учетной записью и одним мобильным устройством. Подтвердите вход в систему, загрузку списка комнат, открытие зашифрованной комнаты, отправку и получение сообщений, а также повторное подключение после смены сети.
- После успешного тестирования для поддерживаемых вами клиентов остановите устаревший прокси-сервер. Сохраните резервную копию базы данных на согласованный период времени для отката; удаляйте старые данные только после подтверждения того, что они больше не требуются.
База данных прокси-сервера хранила состояние синхронизации на стороне прокси, а не заменяла историю комнат Synapse. Тем не менее, не следует удалять её в рамках первоначальной миграции: она служит ориентиром для устранения неполадок в устаревшей конфигурации и обеспечивает более безопасную границу отката при переходе пользователей на собственные сессии.
Как определить, улучшилась ли скорость загрузки на мобильных устройствах?
Сравните один и тот же клиент, учетную запись, устройство и сеть до и после изменений, если у вас есть надежные базовые измерения. Запишите время от открытия приложения до появления удобного списка комнат, отображаются ли последние сообщения без длинного индикатора загрузки и восстанавливается ли приложение после короткого периода отключения от сети. Повторите сравнение несколько раз; результаты одного запуска могут быть искажены состоянием кэша, состоянием сети или загрузкой большого объема медиафайлов.
Если клиент по-прежнему выполняет обычные /syncзапросы и никогда не рекламирует и не пытается использовать встроенную поддержку, проверьте версию клиента и его собственные настройки синхронизации. Если он запрашивает упрощенную конечную точку, но получает ошибку, проверьте журналы Synapse и обратного прокси-сервера для этого запроса. Проверьте состояние базы данных и загрузку сервера, если многие пользователи сообщают о медленной загрузке. Скользящая синхронизация может уменьшить объем работы по синхронизации, но она не может компенсировать перегрузку базы данных или неправильно направленный запрос API.
Какие основные параметры настройки доступны?
| Подход | Наилучший вариант | Стоимость или ограничение |
| Встроенная упрощенная скользящая синхронизация в Synapse | Новые или поддерживаемые развертывания Synapse и совместимые клиенты. | Требуется совместимый клиент; производительность по-прежнему зависит от состояния сервера и базы данных. |
| Устаревший прокси MSC3575 | Предназначено только для понимания или временного поддержания старой тестовой конфигурации. | Архивированный, не поддерживаемый и больше не предназначенный для работы с современными клиентами. |
| Синхронизация устаревшей матрицы | Клиенты или домашние серверы без встроенной поддержки Sliding Sync | Продолжает работать для совместимых клиентов, но не обеспечивает того же самого встроенного поведения списка номеров с возможностью прокрутки. |
Источники и примечания к версии
Отдельный репозиторий прокси-серверов заархивирован. Нативная реализация Synapse восходит к версии Synapse 1.114. Команда разработчиков спецификации Matrix приняла основное предложение MSC4186 в июле 2026 года, в то время как связанные с ним расширения остаются отдельными. Synapse, мобильные клиенты и спецификация Matrix продолжают развиваться, поэтому проверяйте документацию и примечания к выпуску, чтобы узнать точные версии, которые вы используете.