無料で簡単に通知の送受信ができつつオープンソースでセルフホストも可能な「ntfy」を使ってみた

ちょっとした自分用のツールを作成している時など、自分にプッシュ通知を送れたら便利なのにな……と思うことは多いものの、プッシュ通知は送信側も受信側も準備がいろいろ大変です。「ntfy」はそんなプッシュ通知を簡単に送信・受信できるサービスとのことで、早速使い勝手を試してみました。
ntfy.sh | Send push notifications to your phone via PUT/POST
https://ntfy.sh/
記事作成時点ではウェブアプリとAndroidアプリが利用可能な模様。今回はウェブアプリを利用するので、公式サイトにアクセスして「Web app」をクリックします。

アプリから行えるのは通知の受信設定のみ。左のメニューから「Add subscription」をクリックし……

トピック名を設定して「SUBSCRIBE」をクリックします。ここで設定したトピック名で送られてきた通知はブラウザの通知機能経由で全て受信してしまうので、他人とかぶらない名前にすると良さそうです。

「通知が無効化されています」というお知らせが登場。

特に通知を拒否した覚えは無く、「一体なぜ……」と思って画面を見渡してみるとアドレスバーの横にベルのマークが表示されていました。どうやら普段通知を拒否しまくっていたせいでChromeが勝手に拒否設定にしてくれていたようです。今回は通知が必要なので、ベルマークから「このサイトの通知を許可」をクリックします。

これで通知の受信設定は完了。アプリから送信する機能はなく、送信のためにはntfy.sh宛にHTTPリクエストを飛ばすように指示されます。

curlを使って「Hi」という文字列を送信してみると……

Chromeから通知が届きました。なお、ウェブアプリからの通知を受け取る場合はウェブアプリをどこかのタブで開きっぱなしにしておく必要があるとのこと。

通知の送信時には「優先度」や「タグ」「タイトル」などを設定可能。

優先度は「Min priority」から「Max priority」までの5段階となっています。

タグに絵文字のショートコードを挿入するとタイトルの左側に表示されるので、通知の内容を一目で分かりやすくすることもできます。

利用できるショートコードの例はこんな感じ。下記に記載されている分のほか、ドキュメントの絵文字コーナーで全ての絵文字についてのショートコードを確認可能です。

ウェブアプリの「Settings」メニューでは、通知音の設定の他に「特定の優先度以上の通知のみ受け取る」設定や通知削除までの期間を選択できる模様。

また、日本語で通知を送ろうとしてみましたが……

タイトルは文字化けしてしまい、本文は添付ファイル形式で届いてしまいました。

HTTPヘッダで指定する都合上、タイトルを日本語にするのは難しそうですが、本文に関してはUTF-8が扱える環境からリクエストを飛ばせば正常に表示することができます。

本文を日本語にしてみるとこのように表示されました。

なお、ntfyのコードはGitHub上で公開されており、このコードを用いてセルフホストすればntfy.shのサーバーに頼らずともお手軽にプッシュ通知を送受信できるようになっています。
・関連記事
企業がオープンソースをサポートする簡単な方法は「自社チームへの講演依頼」を行うこと - GIGAZINE
プッシュ通知を出しまくってユーザーのうっかりミスを待つ多要素認証攻撃が続発中 - GIGAZINE
メール・プッシュ通知・SMS・チャットへの送信を一括でまとめて管理できるツール「Courier」レビュー - GIGAZINE
大企業は無償利用せず金銭的支援を行えと警告したのに改めないので作者がついに激怒、毎週2000万回以上ダウンロードされるcolors.jsとfaker.jsを破壊し使用不能に - GIGAZINE
オープンソースソフトウェアの保守を職業として成立させるために必要なアイデアとは? - GIGAZINE
・関連コンテンツ
in レビュー, ネットサービス, ウェブアプリ, Posted by log1d_ts
You can read the machine translated English article I tried using 'ntfy' which is open sourc….