npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-ntfy-ext

v0.1.3

Published

n8n custom nodes for ntfy.sh integration (publish and subscribe/trigger) - extended

Readme

n8n-nodes-ntfy-ext

n8n için ntfy.sh entegrasyon paketi. İki node içerir:

  • Ntfy Send Message: Bir ntfy konusuna mesaj yayınlar (publish).
  • Ntfy Trigger: Bir ntfy konusundan gelen mesajları dinler (SSE) ve iş akışını tetikler.

Kategori: Notifications

Referanslar:

  • ntfy Publish API: https://docs.ntfy.sh/publish/
  • ntfy Subscribe (SSE) API: https://docs.ntfy.sh/subscribe/
  • ntfy Ana sayfa: https://ntfy.sh/

n8n uyumluluğu:

  • Node türleri: Action (Send Message) ve Trigger (SSE).
  • Inputs/Outputs:
    • Send Message: inputs=[main], outputs=[main].
    • Trigger: inputs=[], outputs=[main].
  • Credentials yapısı: Bearer (API Key) ve Basic (Username/Password), n8n credentials sekmesiyle uyumlu.
  • this.getNodeParameter, this.getCredentials ve this.helpers.returnJsonArray kullanım kalıpları n8n best practice ile uyumludur.
  • Kategori: Notifications (n8n UI’de bu kategori altında görünür).

Kurulum

npm install n8n-nodes-ntfy-ext

n8n kurulumunuzda bu paketi yükledikten sonra, n8n’i yeniden başlatın.

Kimlik Doğrulama

Credentials: Ntfy API

  • Auth Type:
    • API Key (Bearer)
    • Basic (Username & Password)
  • Base URL: Varsayılan https://ntfy.sh

Not: Hem node parametresindeki baseUrl hem de credential’daki baseUrl kullanılabilir; node parametresi önceliklidir.

Ntfy Send Message (Action Node)

Bir ntfy konusuna mesaj gönderir.

Zorunlu alanlar:

  • Base URL (varsayılan: https://ntfy.sh)
  • Topic
  • Message

Opsiyonel alanlar (ntfy publish header’ları):

  • Title
  • Priority (1-5)
  • Tags (virgülle ayrılmış)
  • Click URL
  • Actions (JSON)
  • Attachment URL (attach)
  • Filename
  • Delay (örn: 30m, 1h, tomorrow)
  • Email
  • Call
  • Cache (boolean)
  • Firebase (boolean)
  • Icon URL
  • Markdown (boolean)
  • Extra Headers (JSON)

Çalışma şekli:

  • Mesaj gövdesi text/plain olarak gönderilir.
  • Diğer alanlar ntfy header’ları şeklinde set edilir (X-Title, X-Priority, X-Tags, X-Actions, ...).
  • Bearer/Basic Authorization header’ı otomatik oluşturulur (credentials varsa).

Çıktı: Başarılı gönderimde boş JSON: {}

Ntfy Trigger (Trigger Node)

SSE kullanarak bir konuyu dinler ve her mesajı ayrı item olarak yayar.

Zorunlu alanlar:

  • Base URL (varsayılan: https://ntfy.sh)
  • Topic

Opsiyonel:

  • Reconnect Delay (ms): Bağlantı koptuğunda yeniden bağlanma gecikmesi (varsayılan 2000ms)

Çalışma şekli:

  • /topic//sse endpoint’i ile SSE akışı başlatılır.
  • Akış kesildiğinde otomatik olarak retry yapılır.
  • Gelen JSON event verisi ham haliyle item.json’a yazılır ve downstream node’lara iletilir.
  • Workflow durdurulduğunda closeFunction ile bağlantı düzgün şekilde sonlandırılır.

Çıktı örneği:

{
  "id": "string",
  "time": 1700000000,
  "event": "message",
  "topic": "my-topic",
  "title": "string",
  "message": "string",
  "priority": 3,
  "tags": ["tag1","tag2"],
  "click": "https://...",
  "actions": [],
  "attach": "https://...",
  "filename": "file.txt",
  "delay": "30m",
  "email": "[email protected]",
  "call": "+900000000",
  "cache": true,
  "firebase": false,
  "icon": "https://...",
  "up-time": 1700000000
}

n8n’de Kurulum ve Ayar Örnek Kurgusu

Yükleme:

  • n8n çalıştığı makinede terminalden:
    npm install n8n-nodes-ntfy-ext
  • n8n’i yeniden başlatın (Desktop: uygulamayı kapat/aç; Self-hosted: servis/PM2/Docker restart).

n8n UI’de etkinleştirme:

  • Settings → Community Nodes → Install → “n8n-nodes-ntfy-ext” yazın ve yükleyin.
  • Güvenlik uyarısını onaylayın.

Credentials oluşturma (opsiyonel ama önerilir):

  • Settings → Credentials → New → “Ntfy API”
    • Auth Type: Bearer (API Key) veya Basic
    • API Key veya Username/Password girin
    • Base URL: https://ntfy.sh (veya kendi ntfy sunucunuz)
    • Save

Örnek 1: Basit Publish Akışı

  • Nodes:
    • Set: topic = "demo-topic", message = "Merhaba ntfy!"
    • Ntfy Send Message:
      • Base URL: https://ntfy.sh
      • Topic: {{$json.topic}}
      • Message: {{$json.message}}
      • Additional Options: Title = "Duyuru", Priority = 4, Tags = "info,ntfy"
      • Credentials: “Ntfy API” (Bearer/Basic)
  • Çalıştırın; ntfy client’ında bildirimi görün.

Örnek 2: Trigger ile Otomasyon

  • Nodes:
    • Ntfy Trigger:
      • Base URL: https://ntfy.sh
      • Topic: demo-topic
      • Reconnect Delay (ms): 2000
      • Credentials: “Ntfy API” (opsiyonel)
    • IF:
      • Condition: priority >= 4
    • Slack/E-mail node’u:
      • IF TRUE koluna bağlayın, kritik mesajları bildirin.
  • Test:
    • Aşağıdaki curl ile mesaj yayınlayın:
      curl -H "X-Title: Kritik" -H "X-Priority: 5" -d "Sunucu hata verdi" https://ntfy.sh/demo-topic
    • Workflow tetiklenir, IF TRUE dalı çalışır.

Docker ile self-host n8n kullanımı:

  • docker-compose.yml’de community nodes izinli olmalı. Örnek env:
    N8N_COMMUNITY_NODES_ENABLED=true
  • Container içine girip paket kurabilir veya Host’ta volume ile node’u mount edebilirsiniz. Kurulum sonrası container’ı yeniden başlatın.

Sorun giderme:

  • Publish HTTP hata kodları: Credentials ve topic/baseUrl değerlerini doğrulayın.
  • Trigger akmıyor: Topic doğru mu, ntfy sunucusu erişilebilir mi, SSE engelleniyor mu (proxy/firewall)?
  • Özel sunucu: Base URL sonuna slash koymayın; örn: https://ntfy.example.com
  • Actions/Headers JSON: Geçerli JSON olduğundan emin olun.

n8n İçinde Örnek Akışlar

  1. Basit Publish Akışı
  • Set node ile topic ve message belirleyin.
  • Ntfy Send Message node’una bağlayın.
  • Çalıştırın; ntfy mobil/desktop client üzerinden bildirimi görün.
  1. Trigger ile Olay Tetikleme
  • Ntfy Trigger node’unu ekleyin; baseUrl ve topic girin.
  • Çıktıyı bir IF veya Switch node’una verip “priority” veya “tags” alanlarına göre dallandırın.
  • Uygun durumda e-posta/Slack gibi aksiyon node’larına bağlayın.

Geliştirme

Repo’yu klonladıktan sonra:

npm install
npm run build

Testler:

npm test

Notlar

  • Publish istekleri text/plain body ile yapılır, gelişmiş parametreler header olarak gönderilir.
  • Trigger SSE bağlantısı hata durumunda otomatik yeniden bağlanır.
  • ntfy publish/subscribe API referansları: https://docs.ntfy.sh/publish/ ve https://docs.ntfy.sh/subscribe/

Lisans: MIT