The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск Gotify 2.0, сервиса для доставки push-уведомлений

10.03.2019 11:00

Доступен выпуск проекта Gotify 2.0, в рамках которого развивается реализация сервера для доставки и приёма push-уведомлений с использованием протокола Websocket. На базе предложенного решения можно организовать самодостаточную систему доставки информационных сообщений или уведомлений о наступлении различных событий, работающую в режиме реального времени и выполняемую на подконтрольном оборудовании, без привязки к сторонним сервисам (например, может использоваться как альтернатива Google/Firebase Cloud Messaging, не привязанная к Google Play Services). Код написан на языке Go и распространяется под лицензией MIT. Для быстрого развёртывания сервера предоставляется образ для системы Docker. В качестве СУБД могут применяться SQLite, MySQL и PostgreSQL.

В дополнение к серверной части проектом подготовлено android-приложение для чтения уведомлений и интерфейс командной строки для автоматизации отправки уведомлений. Для получения сообщений и управления подписками предложен web-интерфейс. Для отправки сообщений применяется REST-API, а приём осуществляется при помощи WebSocket. Доступен API для расширения функциональности через подключение плагинов.

Предоставляются средства для управления пользователями сервера, клиентскими приложениями (подписчики, получающие уведомления) и приложениями для отправки. Привязка приложений, которые могут отправлять уведомления, осуществляется по токену (идентификатору канала), который генерируется через web-интерфейс. В простейшем случае в качестве приложений для отправки может использоваться утилита curl или cli-интерефейс gotify:


   curl -u admin:admin -X POST https://yourdomain.com/application -F "name=test" -F "description=tutorial"
   или
   gotify push -t "my title" -p 10 "my message"

Клиентские приложения (web-интерфейс и android-приложение) могут только получать и удалять сообщения, но не могут их отправлять. При наличии соответствующих полномочий через web-интерфейс также можно управлять подписчиками, генерировать токены для отправки и создавать новых пользователей. Каждое сообщение включает такие атрибуты, как содержимое, дата, заголовок, приоритет и идентификатор приложения (канала).

Дополнительно можно отметить выпуск Pushpin 1.20, обратного прокси-сервера, позволяющего поддерживать постоянно установленные соединения между бэкендом и клиентами. Прокси может использоваться для обеспечения доставки сообщений через WebSocket, потоковой передачи поверх HTTP и обеспечения работы длительно живущих сервисов, в которых операции инициируются со стороны сервера. В том числе Pushpin может применяться для организации доставки push-уведомлений на базе любых API.

В качестве бэкенда может выступать любое web-приложение, доступное через обычные короткоживущие HTTP-соединения и работающее под управлением любого http-сервера. Обмен данными в рамках постоянно установленного соединения WebSocket транслируется в серию отдельных HTTP-запросов к бэкенду. Для отправки клиенту push-сообщения, независимо от метода подключения клиента, бэкенд осуществляет обращение к предоставляемому прокси Web API через отправку отдельных POST-запросов. Данные запросы подставляются в постоянные соединения, установленные с клиентами. Pushpin написан на языке С++ и распространяется под лицензией AGPLv3.



  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выпуск платформы обмена сообщениями Zulip 2.0
  3. OpenNews: Релиз платформы для конфиденциального обмена сообщениями RetroShare 0.6.5
  4. OpenNews: В открытую платформу обмена сообщениями Mattermost инвестировано 20 млн долларов
  5. OpenNews: Завершено открытие серверной части сервиса мгновенного обмена сообщениями Wire
  6. OpenNews: Доступна система обмена сообщениями Briar, способная работать в режиме P2P
Лицензия: CC-BY
Тип: Программы
Ключевые слова: push, websocket, gotify
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.4, Аноним (4), 11:53, 10/03/2019 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Про батарейку тут уже говорили? Google Services хоть и бэкдор, но сделан таким образом, что батарейку не жрёт особо.
     
     
  • 2.16, Crazy Alex (ok), 14:18, 10/03/2019 [^] [ответить]    [к модератору]
  • +5 +/
    Вообще-то жрёт очень основательно (у меня без него смартфон 4 дня держался, с ним - три). Но да, гугл имел возможность использовать то, что не дал больше никому - управление пробуждением устройства,
     
     
  • 3.43, Аноним (43), 03:45, 11/03/2019 [^] [ответить]     [к модератору]
  • +/
    Вообще-то у GCM нет никаких эксклюзивных возможностей Насколько я помню, тот ... весь текст скрыт [показать]
     
     
  • 4.47, Crazy Alex (ok), 12:43, 11/03/2019 [^] [ответить]     [к модератору]  
  • +/
    В четвёрке так и было Гугл закрутил гайки в шестом, если не вру, убрав возможно... весь текст скрыт [показать]
     
     
  • 5.48, FedeX (ok), 18:35, 11/03/2019 [^] [ответить]     [к модератору]  
  • +/
    таки врете Google Services с Firebase Cloud Messages как раз и могут хоть даже ... весь текст скрыт [показать]
     
  • 2.44, Аноним (43), 04:06, 11/03/2019 [^] [ответить]     [к модератору]  
  • +2 +/
    Смысл фреймворка сообщений Play Services не в том, чтобы просто не жрать батар... весь текст скрыт [показать]
     
  • 1.5, Аноним (5), 12:09, 10/03/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • –3 +/
    Ну это классно, но наверно интересно 50 50 Все же как писали выше есть Apple Pus... весь текст скрыт [показать]
     
     
  • 2.7, Аноним (7), 12:25, 10/03/2019 [^] [ответить]    [к модератору]  
  • +3 +/
    Но в статье (и на картинке) ни слова ни слова об упомянутых Вами мобильной ОС и браузере.
     
     
  • 3.11, Аноним (5), 12:41, 10/03/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну так на Android же я думаю без проблем Gotify доставляет push
     
  • 2.15, Григорий Федорович Конин (?), 14:17, 10/03/2019 [^] [ответить]    [к модератору]  
  • +/
    При чем тут сертификат для APNS? Это абсолютно паралельная реализация (как и у яндекса, например). Висит демон и держит подключение на какой-то ваш сервер.
     
  • 1.6, анон (?), 12:18, 10/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +7 +/
    такое впечатление что в комментарии набежали маркетологи из Apple
     
     
  • 2.10, Аноним (5), 12:39, 10/03/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    Ну причем тут маркетологи, просто надо же на ВСЕ платформы доставлять уведомлени... весь текст скрыт [показать]
     
     
  • 3.12, Аноним (12), 12:47, 10/03/2019 [^] [ответить]    [к модератору]  
  • –8 +/
    Именно. Основной процент аудитории на iOS, так что без APN ты далеко не убежишь.
     
     
  • 4.21, Michael Shigorin (ok), 15:09, 10/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    > Основной процент аудитории

    Чьей и где?

    PS: или... Вы вообще из какого года?

     
     
  • 5.24, Аноним (12), 15:27, 10/03/2019 [^] [ответить]    [к модератору]  
  • –7 +/
    2019.
    Большинство стартапов даже не делает версию для андроида - иос аппликуха (основное) и веб-сайт.
     
     
  • 6.26, Michael Shigorin (ok), 15:58, 10/03/2019 [^] [ответить]    [к модератору]  
  • +/
    > Большинство стартапов

    Можно циферки и источник?

     
     
  • 7.27, Аноним (12), 16:04, 10/03/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    Бизнес-инкубаторы QD, Ingria. Циферки не дам - это из результатов общения. Субъективно, только 1 из 10 стартапов делает андроид приложение - для него достаточно веб-сайта.
     
     
  • 8.28, Michael Shigorin (ok), 16:11, 10/03/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Последняя пишет про 41 резидента -- такие вещи тоже стоит хоть как-то указывать,... весь текст скрыт [показать]
     
  • 5.34, Анонэйм (?), 18:10, 10/03/2019 [^] [ответить]    [к модератору]  
  • +/
    Михайл, никого не истересует количество аудитории. Важно качество и ее способность платить деньги, поэтому аудитория андроида часто даже не рассматривается.
     
     
  • 6.35, Michael Shigorin (ok), 18:38, 10/03/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    > никого не истересует количество аудитории

    И много Вы лично платите пейсбуку, специалист по аудиториям?

     
     
  • 7.40, Анонэйм (?), 21:02, 10/03/2019 [^] [ответить]     [к модератору]  
  • +/
    Причём тут это Прост сравните сколько денег вокруг AppStore и GooglePlay Бана... весь текст скрыт [показать]
     
     
  • 8.41, Michael Shigorin (ok), 22:18, 10/03/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Банальный здравый смысл мне уже не раз подсказывал не бегать за деньгами И дал... весь текст скрыт [показать]
     
  • 4.22, Аноним (22), 15:17, 10/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Предлагаешь пожалеть тебя, что работаешь на аудиторию ослов? Меняй аудиторию/работу. Это в первую очередь твой выбор.
     
     
  • 5.25, Аноним (12), 15:42, 10/03/2019 [^] [ответить]    [к модератору]  
  • +/
    >Предлагаешь пожалеть тебя, что работаешь на аудиторию ослов?

    Самая адекватная и платежеспособная аудитория. Про пожалеть и ослов - так тебе бы хотелось, но нет.

     
  • 4.23, Илья (??), 15:21, 10/03/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    У нас довольно крупное приложение для IOS/Android. На IOS - 10 % пользователей, на андроиде - 90
     
     
  • 5.39, Ключевский (?), 20:33, 10/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Ну статистика примерно совпадает со статистикой мобильных ОС в мире. Под 90% Андроид и около 9 процентов иОС, остальное маргинальщина
     
  • 3.18, Онаним (?), 14:20, 10/03/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Вендорлоченные платформы в пролёте, что вполне естественно.
     
  • 3.19, Crazy Alex (ok), 14:23, 10/03/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Тебе надо - ты и сиди со своей проприетарщиной, а в этой теме тебе делать нечего
     
  • 1.29, Аноним (29), 16:53, 10/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Если могильное приложение нормально работает в фоновом режиме надо эту штуку к zabbix прикрутить.
     
     
  • 2.38, Ключевский (?), 20:19, 10/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Тоже подумал об уведомлениях от заббикса.
     
  • 1.33, jOKer (ok), 17:56, 10/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Чем сабж лучше Centrifugo?
     
     
  • 2.36, Богдан Помазан (?), 18:55, 10/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Спасибо за наводку
     
  • 1.42, Аноним (42), 23:13, 10/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Вебсoкеты в 2019-м?
    Вы серьёзнo?
    Мoжет, всё же, MQTT?
     
     
  • 2.45, pvnhome (ok), 06:24, 11/03/2019 [^] [ответить]    [к модератору]  
  • +/
    MQTT - это более высокий уровень. Например, можно MQTT поверх WebSockets да еще и с TLS.
     
  • 1.46, Аноним (46), 07:38, 11/03/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Offtop https symfony com blog symfony-gets-real-time-push-capabilities Сервер... весь текст скрыт [показать]
     
  • 1.49, Аноним (49), 18:24, 13/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не нужно, есть nginx-push-stream-module
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor