Разместить ntfy, ничего не устанавливая

Одна строка curl в скрипте — и телефон звонит: без учётной записи у издателя, без установки библиотеки, без запроса ключа API.

От 2,99 €/месяц

Обзор

ntfy — установка, обновления и резервные копии на нас, на машине во Франции. Отправляйте себе уведомления на телефон из любого скрипта простым HTTP-запросом. Приложения для Android и iOS, без учётной записи и стороннего сервиса. Вы ничего не устанавливаете и не настраиваете сервер: приложение появляется в сети через несколько минут после заказа и оформлено на вас.

Ему подходит тариф «Приложение Стартовое» за 2,99 €/месяц с налогом — 1 ГБ памяти. ntfy — единственная программа на Go с небольшой базой SQLite, которая хранит сообщения, пока выключенный телефон их не заберёт: это самое лёгкое приложение в каталоге, занимающее при использовании несколько десятков мегабайт. Что занимает немного места — это открытые соединения для мгновенной доставки и вложения, прикреплённые к сообщению. Остальная память служит системе и избавляет от вопроса, дойдёт ли оповещение.

Здесь заменяют Pushover, Pushbullet или привычку отправлять письма самому себе, которые в итоге перестают читать. Публикация не требует никакой библиотеки: достаточно HTTP-запроса по адресу темы из shell-скрипта, cron, таблицы, промышленного автомата или бизнес-приложения. На стороне получения — приложения Android — в Play Store и на F-Droid — и iOS, плюс веб-интерфейс. А ntfy умеет ещё одно: служить распространителем UnifiedPush для приложений, которые это принимают, что позволяет телефону без сервисов Google всё равно получать свои уведомления.

2.99€/месяц
Рекомендуемый тариф с налогом
1ГБ
Память тарифа
5мин
Запуск
100%
Размещено во Франции

Что меняет управляемое размещение

Публикация умещается в одну строку

Вызов curl с текстом сообщения по адресу вашей темы — и готово. Не нужно согласовывать токен, устанавливать зависимость, обязательный формат JSON: всё, что умеет отправлять HTTP-запрос, умеет вас уведомить, включая старый скрипт, найденный в crontab.

Уведомления, несущие свой контекст

Пять уровней приоритета — самый высокий звонит даже в беззвучном режиме, — заголовок, метки, адрес, открываемый одним жестом, кнопки действий, вызывающие другой URL, и вложение. Оповещение о резервном копировании может таким образом содержать ссылку на свой отчёт.

Отложенно, по расписанию, и ничего не теряется

Сообщение можно датировать так, чтобы оно ушло через тридцать минут или завтра в девять. А поскольку сообщения какое-то время остаются в кэше сервера, выключенный или offline телефон получает их при повторном подключении, а не пропускает.

Темы, которые принадлежат вам

На собственном экземпляре учётные записи и списки доступа решают, кто может читать и кто может писать в каждую тему. Вы резервируете имя, даёте право записи одному серверу, а право чтения — двум телефонам, чего не позволяет общий публичный сервис.

Почему доверить это нам, а не устанавливать самим

Бэкап, сообщающий, что он сделал

Одна строка в конце скрипта, и телефон показывает «сохранено 42 ГБ за 18 минут» со ссылкой на журнал. Больше не нужно заглядывать в файл журнала, чтобы узнать, прошла ли ночь спокойно.

Техническое помещение, которое греется

Датчик превышает порог, сообщение уходит с максимальным приоритетом и звонит, даже если телефон в беззвучном режиме. Это тот вид оповещения, который должен будить, и приоритет существует именно для этого.

Магазин, предупреждающий о заказе

Сайт обращается к адресу темы при каждом подтверждённом заказе, с суммой в заголовке. Продавец знает, что нужно готовить, ещё до того, как включит компьютер.

Дом, который говорит

Оставленные открытыми ворота, закончившая работу стиральная машина, отключение электричества: домашние автоматы и инструменты автоматизации умеют вызывать URL, а значит, умеют вас уведомлять.

Телефон без сервисов Google

На системе без Google уведомления совместимых с UnifiedPush приложений проходят через ваш экземпляр ntfy. Сообщения приходят, минуя инфраструктуру гиганта.

Размещено во Франции

Уведомление часто содержит больше информации, чем кажется: имя клиента, сумму, адрес сервера. Ваше проходит через наш датацентр в Новой Аквитании, которым мы управляем сами.

Частые вопросы

Вы выбираете название темы, подписываетесь на неё из мобильного приложения, затем отправляете HTTP-запрос с текстом сообщения по адресу вашего экземпляра, за которым следует это название. В shell это вызов curl; в Python, PHP или PowerShell — та функция HTTP-запроса, которой вы уже пользуетесь. Параметры — заголовок, приоритет, метки, ссылка для открытия — передаются в заголовках запроса, так что учить ничего нового не нужно.

Да, существует приложение для iOS, с нюансом, который лучше знать заранее: Apple требует, чтобы мгновенные уведомления проходили через её собственный сервис доставки. Поэтому размещённый на своём сервере экземпляр нужно настроить на ретрансляцию через сервис проекта ntfy, чтобы iPhone просыпался; настройка предусмотрена именно для этого. На Android приложение подключается напрямую к вашему экземпляру, без посредника.

На Android мгновенная доставка держит соединение открытым, что немного заметно на батарее; можно предпочесть периодический опрос. Сообщения не шифруются от конца до конца: экземпляр видит их содержимое — именно поэтому интересно, чтобы он был вашим. Телефонные каналы вроде голосового звонка или SMS зависят от платного стороннего аккаунта. А ntfy ничего не отслеживает: он передаёт. Чтобы узнать, что сервис упал, нужен монитор выше по цепочке, который с ним разговаривает.

«Приложение Стартовое», за 2,99 €/месяц с налогом. Он даёт 1 ГБ памяти там, где приложение требует минимум 256 МБ: запас нужен системе, а не для красоты. Сменить тариф можно и позже, без переустановки.

На сервере — ничего: экземпляр готов. На телефоне — приложение ntfy из Play Store, F-Droid или App Store, в котором указывают адрес вашего экземпляра перед подпиской на тему.