ntfy ntfy bringt eine Benachrichtigung in Ihre Hülle. Es kann automatisch Desktop -Benachrichtigungen vorhanden sein, wenn langlaufende Befehle beendet sind, oder es kann Push -Benachrichtigungen an Ihr Telefon senden, wenn ein bestimmter Befehl abgeschlossen ist. Verwirrt? Dieses Video zeigt einige dieser Funktionen:
$ sudo pip install ntfy
$ ntfy send test
# send a notification when the command `sleep 10` finishes
# this sends the message '"sleep 10" succeeded in 0:10 minutes'
$ ntfy done sleep 10
$ ntfy -b pushover -o user_key t0k3n send ' Pushover test! '
$ ntfy -t ' ntfy ' send " Here's a custom notification title! "
$ echo -e ' backends: ["pushover"]npushover: {"user_key": "t0k3n"} ' > ~ /.ntfy.yml
$ ntfy send " Pushover via config file! "
$ ntfy done --pid 6379 # pid extra
$ ntfy send " :tada: ntfy supports emoji! :100: " # emoji extra
# Enable shell integration
$ echo ' eval "$(ntfy shell-integration)" ' >> ~ /.bashrc Die Installationstechnik im QuickStart ist die empfohlene Installationsmethode. Es kann in einem Virtualenv installiert werden, aber mit einigen Vorbehalten: Linux-Benachrichtigungen erfordern --system-site-packages für die Benachrichtigungen über Virtualenv und OS X funktionieren überhaupt nicht.
? Hinweis: Linux -Desktop -Benachrichtigungen erfordern Python -DBUs -Bindungen. Weitere Informationen finden Sie hier.
ntfy hat Unterstützung für das automatische Senden von Benachrichtigungen, wenn langlebige Befehle in Bash und ZSH abgeschlossen sind. In Bash emuliert es ZSHs Preexec- und PRECMD-Funktionalität mit rcaloras/bash-preexec. So fügen Sie Ihrem .bashrc oder .zshrc Folgendes hinzu:
eval " $( ntfy shell-integration ) " Standardmäßig sendet es nur Benachrichtigungen für Befehle, die länger als 10 Sekunden dauern, und wenn das Terminal fokussiert ist. Der Terminal Focus funktioniert auf X11 (Linux) und mit terminal.app und iTerm2 auf macOS. Beide Optionen können über die --longer-than --foreground-too -Option konfiguriert werden.
Um unnötige Benachrichtigungen bei der Ausführung interaktiver Programme zu vermeiden, generieren Programme, die in AUTO_NTFY_DONE_IGNORE aufgeführt sind, keine Benachrichtigungen. Zum Beispiel:
export AUTO_NTFY_DONE_IGNORE= " vim screen meld "ntfy verfügt über einige Funktionen, die zusätzliche Abhängigkeiten erfordern.ntfy done -p $PID erfordert eine Installation als pip install ntfy[pid]pip install ntfy[emoji]pip install ntfy[xmpp]pip install ntfy[telegram]pip install ntfy[instapush]pip install ntfy[slack]pip install ntfy[rocketchat] So installieren Sie mehrere Extras, getrennt mit Kommas: z. B. pip install ntfy[pid,emoji] .
ntfy ntfy ist mit einer YAML -Datei konfiguriert, die bei ~/.ntfy.yml oder an Standardplattformspezifikationen gespeichert ist:
~/.config/ntfy/ntfy.yml~/Library/Application Support/ntfy/ntfy.ymlC:Users<User>AppDataLocaldschepntfy.ymlDer Backends -Schlüssel gibt an, welche Backends standardmäßig verwendet werden sollen. Jedes Backend verfügt über eine eigene Konfiguration, die in einem eigenen Namen gespeichert ist. Zum Beispiel:
---
backends :
- pushover
pushover :
user_key : hunter2
pushbullet :
access_token : hunter2
simplepush :
key : hunter2
slack :
token : slacktoken
recipient : " #slackchannel "
xmpp :
jid : " [email protected] "
password : " xxxx "
mtype : " chat "
recipient : " [email protected] "Wenn Sie Mulitple -Konfigurationen für denselben Backend -Typ möchten, können Sie einen Namen angeben und dann das Backend mit einem Backend -Taste angeben. Zum Beispiel:
---
pushover :
user_key : hunter2
cellphone :
backend : pushover
user_key : hunter2 In den folgenden Backends finden Sie die verfügbaren Backends und Optionen. Ab V2.6.0 ntfy unterstützt auch Backends von Drittanbietern
pushoveruser_keysoundpriorityexpireretrycallbackapi_token - Verwenden Sie Ihr eigenes Anwendungs -Tokendevice - Zielen Sie ein Gerät ab, wenn es weggelassen wird, wird eine Benachrichtigung an alle Geräte gesendeturlurl_titlehtmlpushbulletaccess_token - Ihr Pushbullet -Zugangs -Token, erstellt unter https://www.pushbullet.com/#setings/accountdevice_iden - Ein Gerätekennung, falls ausgeleitet, wird eine Benachrichtigung an alle Geräte gesendetemail - Benachrichtigung an PushBullet -Benutzer mit der angegebenen E -Mail oder senden Sie eine E -Mail, wenn sie kein Pushullet -Benutzer sindsimplepushkey - Ihr SimpusPush -Schlüssel, erstellt durch Installation der Android -App (keine Registrierung erforderlich) unter https://simplepush.ioevent - setzt Klingelton- und Vibrationsmuster für eingehende Benachrichtigungen (kann in der SimpusPush -App definiert werden)xmppjidpasswordrecipienthostname (wenn nicht von JID)portpath_to_certsmtype Benötigt Extras, installieren Sie wie folgt: pip install ntfy[xmpp] .
Um die von einem Server angebotenen SSL -Zertifikate zu überprüfen: path_to_certs = "path/to/ca/cert"
Ohne installierte DNSpython -Bibliothek müssen Sie den Server -Hostnamen angeben, wenn sie nicht mit der JID übereinstimmt.
Geben Sie den Port an, wenn Sie anders als 5222. Hinweis: Ignoriert ohne angegebenes Hostname
Hinweis: Google Hangouts unterstützt XMPP seit 2017 nicht mehr
telegram Benötigt Extras, installieren Sie wie folgt: pip install ntfy[telegram] .
Muss ntfy als ntfy[telegram] installiert werden. Dieses Backend ist beim ersten Mal konfiguriert, wenn Sie versuchen, es zu verwenden: ntfy -b telegram send "Telegram configured for ntfy" .
pushjetsecret -das Pushet-Service Secret Token, erstellt mit http://docs.pushjet.io/docs/creating-a-new-serserviceendpoint - benutzerdefinierter Pushjet -API -Endpunktlevel - die Wichtigkeit von 1 (niedrig) bis 5 (hoch)linknotificowebhook - Der Webhook -Link, der unter https://n.tkte.ch/ erstellt wurdePlain Text .)slack Benötigt Extras, installieren Sie wie folgt: pip install ntfy[slack] .
token -The Slack Service Secret Token, entweder ein Legacy-Benutzer-Token unter https://api.slack.com/custom-integrations/legacy-tokens oder ein Token, das durch Erstellen einer App bei https://api.slack.com/apps?new_app=1 mit chat:write:bot Scope und Lincing It It Bots und Lincing It Bots und Lincing It It It Git.recipient - Der Slack -Kanal oder der Benutzer zum Senden von Benachrichtigungen an. Wenn Sie das # Symbol verwenden, wird die Nachricht an einen Slack -Kanal gesendet und wenn Sie das @ -Symbol verwenden, wird die Nachricht an einen Slack -Benutzer gesendet.slack_webhookurl - Die URL des eingehenden Webhooksuser - der Slack -Kanal oder der Benutzer, um Benachrichtigungen an zu sendeninsta Benötigt Extras, installieren Sie wie diese pip install ntfy[instapush] .
Instapush unterstützt keinen Benachrichtigungstitel. Es sendet vorlagengesteuerte Benachrichtigungen, sodass Sie Ihre Ereignisse zuerst auf dem Dashboard einrichten müssen. Das Backend heißt Insta aufgrund der Homonymie mit der Instapush Python Wrapper
appid - die Anwendungs -IDsecret - das Antragsgeheimnisevent_name - Das zu verwendende Instapush -Ereignistrackers - die Auswahl der Fahrer zu verwendenHinweis zu Trackern: Tracker sind Platzhalter für Ereignisse (eine Art Benachrichtigungsvorlage). Wenn Sie in Ihrem Ereignis mehr als einen Tracker definiert haben, müssen Sie mehr Nachrichten angeben. Im Moment ist der einzige Weg, dies zu tun, jede Nachricht mit einem Dickdarm () Charakter zu trennen. Sie können dem Trennzeichen auch entkommen: Beispiel:
ntfy -b insta send " message1:message2 "
ntfy -b insta send " message1:message2:with:colons "prowlapi_keyprovider_keypriorityurllinuxFunktioniert über DBUS, arbeitet mit den meisten DES wie Gnome, KDE, XFCE und mit libnotify.
Die folgenden Abhängigkeiten sollten installiert werden.
$ sudo apt install python-dbus # on ubuntu/debianSie müssen eine Schriftart installieren, die Emojis unterstützt (in Debian-Schriftarten-Symbola- oder Gentoo-Medien-Fonts/Symbola).
icon - Gibt den Pfad zum Benachrichtigungssymbol an, leer für kein Symbol.urgency - Gibt den Dringlichkeitsniveau an (niedrig, normal, kritisch).transient - Überspringen Sie den Verlauf (Exp: Das GNOME -Nachrichtenfach) (wahr, falsch).soundfile - Gibt die Benachrichtigungs -Sounddatei (z. B. /usr/share/sounds/notif.wav) an.timeout - Gibt die Ablaufzeitniveau an (-1 - Systemausfall, 0 - niemals abgelaufen).win32 Verwendet pywin32 .
darwin Erfordert, dass ntfy weltweit installiert wird (nicht in einem virtuellenv).
systemlog Verwendet das syslog Core Python -Modul, das auf Windows -Plattformen nicht verfügbar ist.
prio - Syslog -Prioritätsniveau. Standard ist ALERT . Mögliche Werte sind:
facility - Syslog -Einrichtung. Standard ist LOCAL5 . Mögliche Werte sind:
fmt - Format der Nachricht, die an den Systemlogger gesendet wird. Der Titel und die Nachricht werden unter Verwendung der folgenden Platthalter angegeben:
{title}{message} Standard ist [{title}] {message} .
termux Erfordert, dass die App aus dem Play Store installiert und das CLI-Dienstprogramm mit apt install termux-api installiert wird.
pushalotauth_token - Ihr privates Pushalot Auth -Token, das hier gefunden wurdesource - Quelle der Benachrichtigungttl - Nachricht läuft die Zeit in Minuten ab (Zeit zum Leben)url - URL, die in die Benachrichtigungen aufgenommen werden sollurl_title - sichtbarer URL -Titel (ignoriert, wenn keine URL angegeben ist)image - URL des Bildes in den Benachrichtigungen enthaltenimportant - Markierungen als wichtigsilent - Markbenachrichtigungen als stillrocketchat Benötigt Extras, installieren Sie wie folgt: pip install ntfy[rocketchat] .
url - URL Ihrer Rakete.chat -Instanzusername - Login -Benutzernamepassword - Passwort anmeldenroom - Raum/Kanalname zum Posten inmatrix Benötigt Extras, installieren Sie wie folgt: pip install ntfy[matrix] .
url - URL Ihrer Heimaterver -InstanzroomId - Raum zum Posten inuserId - login userIdpassword - Passwort anmeldentoken - Zugangstoken Sie müssen entweder token oder userId und password angeben.
ntfy_webpush Der WebPush-Support wird durch ein externes NTFY-Modul produziert. Installieren Sie wie folgt: pip install ntfy ntfy-webpush .
subscription_info - Ein Pushsubsubscription -Objektprivate_key - Der Weg zur privaten Schlüsseldatei oder irgendetwas anderes, was mit PyWebpush funktioniert.Weitere Informationen finden Sie unter ntfy-webpush <https://github.com/dsschep/ntfy-webpush> `_
Um Ihre eigenen Backends zu verwenden oder zu implementieren, geben Sie den vollständigen Pfad des Moduls als Backend an. Das Modul muss ein Modul mit einer Funktion namens notify mit der folgenden Signatur enthalten:
def notify ( title , message , ** kwargs ):
"""
kwargs contains retcode if using ntfy done or ntfy shell-integration
and all options in your backend's section of the config
"""
passDer Titel ist mit dem Titelschlüssel in der Konfiguration konfiguriert. Beispiel:
---
title : Customized Titlepython setup.py test