Skip to content

Latest commit

 

History

History
72 lines (63 loc) · 7.02 KB

subscriptions.md

File metadata and controls

72 lines (63 loc) · 7.02 KB

Подписка на конфигурацию

В Настройки → Подписка на конфигурацию задайте конечный HTTPS URL и до семи резервных URL, по одному на строку. При необходимости включите отдельную авторизацию Basic Auth. Интервал — 1–10080 минут, по умолчанию 60. Доверяйте каждому источнику: все получают одинаковые учётные данные и могут менять профили подписки и поддерживаемые настройки приложения. Перенаправления, включая HTTPS, отклоняются.

После сохранения нового источника первая проверка назначается сразу. Android может отложить её из-за ограничений батареи, сети и фоновой работы. Выключение автоматического обновления ставит подписку на паузу; Обновить сейчас работает и на паузе. Каждая проверка начинает с основного URL, пробует резервные по порядку и останавливается после первого успешного импорта. Экран показывает номер успешного источника, время последнего успеха, ошибки и предупреждения без текста ответа и секретных URL.

Также можно импортировать полный JSON с корневым полем subscription:

{
  "schema": "net.megaproxy487.config",
  "version": 8,
  "subscription": {
    "url": "https://configs.example.com/team.json",
    "fallbackUrls": ["https://backup.example.com/team.json"],
    "intervalMinutes": 60,
    "enabled": true
  },
  "profiles": [{
    "id": "team-proxy",
    "name": "Team proxy",
    "proxy": { "type": "SOCKS5", "host": "proxy.example.com", "port": 1080 }
  }]
}

Профили такого импорта принадлежат подписке. Подписка, созданная в настройках, изначально не владеет локальными профилями. Обновление заменяет её профили и удаляет исчезнувшие из снимка, сохраняя добавленные отдельно. Конфликт ID с локальным профилем отклоняет источник. Существующий выбор сохраняется; если профиль исчез, выбирается activeProfileId из загруженного снимка, затем первый загруженный профиль. Импорт не включает VPN автоматически.

Поддерживаются те же форматы, что при ручном импорте: MegaProxy JSON, FoxyProxy JSON, ProxyList и текст SuperProxy. JSON использует стабильные ID; остальные форматы сопоставляют только профили подписки по уникальному имени, затем по уникальным типу/хосту/порту. Неоднозначные совпадения получают новые ID. Канонический снимок возвращает пропущенные поддерживаемые настройки приложения к значениям по умолчанию; другие форматы сохраняют настройки, которые не описывают. Пропущенные секреты сохраняются, явно пустые очищаются. Ошибочный, пустой или слишком большой снимок не меняет последнюю рабочую конфигурацию. Подробности — в протоколе.

Загрузки подчиняются маршрутизации Android для MegaProxy. Если приложение исключено из VPN по приложениям, используется его обычная сеть. Отключённый VPN не включается автоматически. Сертификат проверяется, перенаправления запрещены, лимит распакованного ответа — 4 MiB. Таймаут подключения/чтения — 15 секунд, бюджет чтения — 45 секунд. Запросы содержат X-MegaProxy-Client: android и X-MegaProxy-Version.

Работающий туннель использует прежние настройки. Изменение активного соединения помечает действие Переподключить и показывает пояснение на экране подписки. Переподключите VPN для применения; изменение только метаданных переподключения не требует. Если фоновое обновление изменило настройки работающего VPN, появится уведомление с действием Переподключить, если уведомления разрешены. В нём нет имён профилей, адресов и учётных данных. Действие применяет только актуальное ожидающее изменение при работающем VPN и не запускает остановленный VPN. Открытые редакторы сохраняют только изменённые пользователем поля, сохраняя остальные обновлённые значения. Отключение Basic Auth на экране подписки очищает имя пользователя и пароль.

URL с токенами и отдельные учётные данные подписки хранятся зашифрованными. Удаление подписки сохраняет профили. Импорт без subscription сохраняет её настройки; явный null удаляет их. Пропущенный пароль сохраняется только при совпадении нормализованного URL и имени пользователя; пустой очищается. Загруженный конфиг не меняет ваши источники и учётные данные. JSON-экспорт включает определение подписки; пароль зависит от выбора Включить пароли, но токены в URL остаются. Владение профилями и статус не экспортируются.