PUSH Уведомления

PUSH Уведомления

Kevin Mitnic


Бесконечно можно смотреть на 3 вещи: горящий огонь, течение воды и на то как РКН исполняет свои антиконституционные законы. С 15 апреля РКН бездумно тратит деньги честных налогоплательщиков чтобы отобрать право этих же налогоплательщиков на конфиденциальность частной жизни. А террористы и отмывание денег были и до телеграма и биткоинов, а внимательные зрители заметят, что какие то государства спонсируют терроризм, а какие то договариваются с ними иначе.

В борьбе с телеграмом РКН уже заблокировано около 18 миллионов IP адресов, но месседжер продолжает работать без необходимости проксирования трафика. Все это благодаря использованию технологии Push-уведомлений, которая в приложении используется не только для доставки сообщений в фоновом режиме, а еще и для обновления IP адреса сервера телеграм. Сама технология Push-уведомлений появилась еще в 90-е годы и благодаря PointCast и СМИ ее внедрили в браузеры Netscape Navigator и Internet Explorer, правда из-за медленного интернета эту технологию позже заменили на RSS. Сейчас активно используют Push-уведомления все месседжеры и email-клиенты для своевременной доставки сообщений и обновлении другого контента в приложении. В этом и есть суть этой технологии, чтобы вы всегда могли получить сообщение отправленное вам даже если само приложение выключено.

Для работы push-уведомлений необходимы следующие компоненты:

  1. Сервер push-уведомлений (у каждой ОС он свой).
  2. Сервер автора приложения, отправляющий уведомления push-серверу.
  3. Служба в ОС устройства работающая в фоновом режиме.
  4. Приложение, кто то же должен принять уведомление.

Благодаря этим компонентам мы можем не держать приложение всегда открытым и нам нет необходимости мониторить новые сообещния в ручную. Кроме того Push-уведомления могу рассылать не только текст, а еще и кнопки ответа, изображение, звук и другие.

Для получения Push-уведомлений приложению необходимо сконфигурировать список сертификатов APNS (для Apple) или GCM (для Google). И подписаться отправив уникальный токен устройства для его последующей идентификации. Обновлять подписку следует каждые 24 часа. Обычно Push-уведомления используются для своевременной доставки сообщений, вот только рассылать можно все что угодно.

В частности в телегаме применили технологию Push-уведомлений для обновления настроек приложения, метод DC_UPDATE информирует месседжер об изменении датацентра через которое должно работать приложение, и содержит 2 поля dc — число и addr — ip адрес сервера, после этого данный ДЦ добавляется в список серверов в приложении, а приложение уже само решает через какое из них связываться с телеграммом, если dc не равно 1, иначе этот ДЦ выставится сразу. А так как доставкой Push-уведомлений занимается сторонний сервер (обычно это Apple, Google и Amazon), то блокировка одного ип ничего не даст, так как приложение либо получит новую конфигурацию либо применит одну из существующих и еще рабочих.

Таким образом следующим шагом РКН станет давление на провайдеров Push-уведомлений. РКН уже попросил Google и Apple удалить телеграмм из магазинов, но они пока этого не сделали.

Напомню что в феврале 2017 президент мелкомягких предложил создать «цифровую Женевскую конвенцию» и никогда не учавствовать в кибератах организованных правительством и не оставлять закладки для правительства (да неужели, кто бы говорил). Более 30 компаний поддержали идею, кроме Google, Apple и Amazon. Даже если этого не произойдет, такое поведение о многом говорит ;-)


Report Page