ntfy ntfy membawa pemberitahuan ke shell Anda. Ini dapat secara otomatis memberikan pemberitahuan desktop ketika perintah yang berjalan lama selesai atau dapat mengirim pemberitahuan push ke ponsel Anda ketika perintah tertentu selesai. Bingung? Video ini menunjukkan beberapa fungsi ini:
$ 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 Teknik instalasi di QuickStart adalah metode pemasangan yang disarankan. Ini dapat diinstal dalam virtualEnv, tetapi dengan beberapa peringatan: pemberitahuan Linux memerlukan --system-site-packages untuk virtualEnv dan pemberitahuan OS X tidak berfungsi sama sekali.
? Catatan: Pemberitahuan desktop Linux memerlukan binding Python DBUS. Lihat di sini untuk info lebih lanjut.
ntfy memiliki dukungan untuk secara otomatis mengirim pemberitahuan ketika perintah berjalan lama selesai di Bash dan Zsh. Dalam Bash itu meniru fungsionalitas preexec dan prexmd ZSH dengan rcaloras/bash-preexec. Untuk mengaktifkannya menambahkan yang berikut ini ke .bashrc atau .zshrc :
eval " $( ntfy shell-integration ) " Secara default itu hanya akan mengirim pemberitahuan untuk perintah yang berlangsung lebih dari 10 detik dan jika terminal difokuskan. Terminal Focus bekerja pada X11 (Linux) dan dengan terminal.app dan iterm2 pada macOS. Kedua opsi dapat dikonfigurasi melalui opsi --longer-than dan --foreground-too .
Untuk menghindari pemberitahuan yang tidak perlu saat menjalankan program interaktif, program yang tercantum dalam AUTO_NTFY_DONE_IGNORE tidak menghasilkan pemberitahuan. Misalnya:
export AUTO_NTFY_DONE_IGNORE= " vim screen meld "ntfy memiliki beberapa fitur yang membutuhkan ketergantungan tambahan.ntfy done -p $PID membutuhkan pemasangan saat 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] Untuk menginstal beberapa ekstra, pisahkan dengan koma: mis. pip install ntfy[pid,emoji] .
ntfy ntfy dikonfigurasi dengan file YAML yang disimpan di ~/.ntfy.yml atau di lokasi spesifik platform standar:
~/.config/ntfy/ntfy.yml~/Library/Application Support/ntfy/ntfy.ymlC:Users<User>AppDataLocaldschepntfy.ymlKunci Backends menentukan apa yang akan digunakan backends secara default. Setiap backend memiliki konfigurasi sendiri, disimpan dalam kunci namanya sendiri. Misalnya:
---
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] "Jika Anda ingin konfigurasi mulitple untuk jenis backend yang sama, Anda dapat menentukan nama apa pun dan kemudian menentukan backend dengan kunci backend. Misalnya:
---
pushover :
user_key : hunter2
cellphone :
backend : pushover
user_key : hunter2 Lihat backends di bawah untuk backend dan opsi yang tersedia. Pada v2.6.0 ntfy juga mendukung backends pihak ke -3
pushoveruser_keysoundpriorityexpireretrycallbackapi_token - Gunakan token aplikasi Anda sendiridevice - Target Perangkat, jika dihilangkan, pemberitahuan dikirim ke semua perangkaturlurl_titlehtmlpushbulletaccess_token - Token akses pushbullet Anda, dibuat di https://www.pushbullet.com/#settings/accountdevice_iden - pengidentifikasi perangkat, jika dihilangkan, pemberitahuan dikirim ke semua perangkatemail - Kirim Pemberitahuan ke Pengguna PushBullet dengan email yang ditentukan atau kirim email jika mereka bukan pengguna pushulletsimplepushkey - Kunci SimplePush Anda, dibuat dengan menginstal aplikasi Android (tidak diperlukan pendaftaran) di https://simplePush.ioevent - Set Nada Dering dan Pola Getaran untuk Pemberitahuan Masuk (dapat didefinisikan dalam aplikasi SimplePush)xmppjidpasswordrecipienthostname (jika bukan dari jid)portpath_to_certsmtype Membutuhkan tambahan, instal seperti ini: pip install ntfy[xmpp] .
Untuk memverifikasi sertifikat SSL yang ditawarkan oleh server: path_to_certs = "path/to/ca/cert"
Tanpa pustaka dnspython diinstal, Anda perlu menentukan nama host server jika tidak cocok dengan jid.
Tentukan port jika selain 5222. Catatan: diabaikan tanpa nama host yang ditentukan
Catatan: Google Hangouts tidak mendukung XMPP sejak 2017
telegram Membutuhkan tambahan, instal seperti ini: pip install ntfy[telegram] .
Membutuhkan ntfy untuk diinstal sebagai ntfy[telegram] . Backend ini dikonfigurasi pertama kali Anda akan mencoba menggunakannya: ntfy -b telegram send "Telegram configured for ntfy" .
pushjetsecret -Token Rahasia Layanan PushJet, dibuat dengan http://docs.pushjet.io/docs/creating-a-new-serviceendpoint - titik akhir API PushJet khususlevel - Level Penting dari 1 (Rendah) hingga 5 (Tinggi)linknotificowebhook - The Webhook Link, dibuat di https://n.tkte.ch/Plain Text saat membuat webhook)slack Membutuhkan tambahan, instal seperti ini: pip install ntfy[slack] .
token -Token Rahasia Layanan Slack, baik token pengguna warisan yang dibuat di https://api.slack.com/custom-integations/legacy-tokens atau token yang diperoleh dengan membuat aplikasi di https://api.slack.com/apps?new_app=1 dengan chat:write:bot ke link dan tautan.recipient - Saluran Slack atau Pengguna untuk mengirim pemberitahuan ke. Jika Anda menggunakan simbol # , pesan dikirim ke saluran Slack dan jika Anda menggunakan @ simbol, pesan dikirim ke pengguna Slack.slack_webhookurl - URL dari webhook yang masukuser - Saluran Slack atau Pengguna untuk mengirim pemberitahuan keinsta Membutuhkan tambahan, instal seperti ini pip install ntfy[instapush] .
Instapatush tidak mendukung judul pemberitahuan. Ini mengirimkan pemberitahuan yang digerakkan template, jadi Anda harus mengatur acara Anda di dasbor terlebih dahulu. Backend disebut Insta karena homonim dengan pembungkus python Instapatush
appid - ID Aplikasisecret - Rahasia Aplikasievent_name - acara Instapatush yang akan digunakantrackers - serangkaian traker untuk digunakanCatatan pada pelacak: Pelacak adalah placeholder untuk acara (semacam templat pemberitahuan). Jika Anda mendefinisikan lebih dari satu pelacak di acara Anda, Anda harus memberikan lebih banyak pesan. Saat ini, satu -satunya cara untuk melakukannya adalah dengan memisahkan setiap pesan dengan usus besar (:) Anda juga dapat melarikan diri dari karakter pemisah: Contoh:
ntfy -b insta send " message1:message2 "
ntfy -b insta send " message1:message2:with:colons "prowlapi_keyprovider_keypriorityurllinuxBekerja melalui DBUS, bekerja dengan sebagian besar des gnome, kde, xfce dan dengan libnotify.
Ketergantungan berikut harus diinstal.
$ sudo apt install python-dbus # on ubuntu/debianAnda perlu menginstal beberapa font yang mendukung emoji (di Debian Fonts-Symbola atau Gentoo Media-Fonts/Symbola).
icon - Menentukan jalur ke ikon pemberitahuan, string kosong tanpa ikon.urgency - Menentukan tingkat urgensi (rendah, normal, kritis).transient - Lewati sejarah (exp: baki pesan gnome) (true, false).soundfile - Menentukan file suara pemberitahuan (eg /usr/share/sounds/notif.wav).timeout - Menentukan tingkat waktu kedaluwarsa pemberitahuan (-1 - default sistem, 0 - tidak pernah kedaluwarsa).win32 Menggunakan pywin32 .
darwin Membutuhkan ntfy untuk diinstal secara global (bukan di VirtualEnv).
systemlog Menggunakan modul python inti syslog , yang tidak tersedia di platform Windows.
prio - Tingkat Prioritas Syslog. Default ALERT . Nilai yang mungkin adalah:
facility - Fasilitas Syslog. Default adalah LOCAL5 . Nilai yang mungkin adalah:
fmt - Format pesan yang akan dikirim ke Logger Sistem. Judul dan pesan ditentukan menggunakan placeholder berikut:
{title}{message} Default adalah [{title}] {message} .
termux Mengharuskan aplikasi untuk diinstal dari Play Store dan utilitas CLI diinstal dengan apt install termux-api .
pushalotauth_token - Token auth Pushalot pribadi Anda, ditemukan di sini https://pushalot.com/manager/authorizationssource - Sumber pemberitahuanttl - pesan kedaluwarsa dalam hitungan menit (waktu untuk hidup)url - URL untuk dimasukkan dalam pemberitahuanurl_title - Judul URL Terlihat (diabaikan jika tidak ada URL yang ditentukan)image - URL gambar yang termasuk dalam pemberitahuanimportant - Tandai pemberitahuan yang pentingsilent - tanda pemberitahuan sebagai diamrocketchat Membutuhkan tambahan, instal seperti ini: pip install ntfy[rocketchat] .
url - URL ROCKET.Chat Andausername - Login Nama Penggunapassword - Kata sandi loginroom - Nama Kamar/Saluran untuk Diposting dimatrix Membutuhkan tambahan, instal seperti ini: pip install ntfy[matrix] .
url - URL dari instance HomeServer AndaroomId - Kamar untuk DipostinguserId - login useridpassword - Kata sandi logintoken - Akses token Anda harus menentukan token , atau userId dan password .
ntfy_webpush Dukungan webpush terbukti oleh modul NTFY eksternal, instal seperti ini: pip install ntfy ntfy-webpush .
subscription_info - Objek PushSubscriptionprivate_key - Path to Private Key File atau apa pun yang berfungsi dengan PyWebPush.Untuk info lebih lanjut, lihat ntfy-webpush <https://github.com/dschep/ntfy-webpush> `_
Untuk menggunakan atau mengimplementasikan backend Anda sendiri, tentukan jalur lengkap modul sebagai backend Anda. Modul perlu berisi modul dengan fungsi yang disebut notify dengan tanda tangan berikut:
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
"""
passJudul dapat dikonfigurasi dengan kunci judul di konfigurasi. Contoh:
---
title : Customized Titlepython setup.py test