ntfy ntfy يجلب الإخطار لقذيفة الخاص بك. يمكن أن يوفر تلقائيًا إخطارات سطح المكتب عند الانتهاء من الأوامر طويلة المدى أو يمكنها إرسال إشعارات الدفع إلى هاتفك عند انتهاء أمر معين. مشوش؟ يوضح هذا الفيديو بعض هذه الوظائف:
$ 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 تقنية التثبيت في QuickStart هي الطريقة المقترحة للتثبيت. يمكن تثبيته في ظاهري VirtualEnv ، ولكن مع بعض التحذيرات: تتطلب الإخطارات Linux- --system-site-packages لإخطارات VirtualEnv و OS X لا تعمل على الإطلاق.
؟ ملاحظة: تتطلب إخطارات سطح المكتب Linux ربطات Python DBUS. انظر هنا لمزيد من المعلومات.
يتمتع ntfy بدعم لإرسال الإخطارات تلقائيًا عند الانتهاء من الأوامر الطويلة في Bash و ZSH. في Bash ، يحاكي وظائف ZSH Preexec و PRESMD مع RCALORAS/BASH-PREEXEC. لتمكينها إضافة ما يلي إلى .bashrc أو .zshrc :
eval " $( ntfy shell-integration ) " بشكل افتراضي ، لن يرسل سوى إشعارات للأوامر التي تدوم أطول من 10 ثوانٍ وإذا كانت المحطة مركزة. يعمل التركيز الطرفي على X11 (Linux) ومع Terminal.App و ITERM2 على MacOS. يمكن تكوين كلا الخيارين عبر خيارات- --longer-than و --foreground-too .
لتجنب الإخطارات غير الضرورية عند تشغيل البرامج التفاعلية ، لا تقوم البرامج المدرجة في AUTO_NTFY_DONE_IGNORE بإنشاء إشعارات. على سبيل المثال:
export AUTO_NTFY_DONE_IGNORE= " vim screen meld "ntfy على بعض الميزات التي تتطلب تبعيات إضافية.ntfy done -p $PID التثبيت كـ 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] لتثبيت إضافات متعددة ، منفصلة مع الفواصل: على سبيل المثال ، pip install ntfy[pid,emoji] .
ntfy تم تكوين ntfy مع ملف yaml مخزّن في ~/.ntfy.yml أو في مواقع محددة من النظام الأساسي:
~/.config/ntfy/ntfy.yml~/Library/Application Support/ntfy/ntfy.ymlC:Users<User>AppDataLocaldschepntfy.ymlيحدد مفتاح Backends ما لاستخدامه بشكل افتراضي. كل الواجهة الخلفية لها تكوين خاص بها ، مخزنة في مفتاح اسمها. على سبيل المثال:
---
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] "إذا كنت تريد تكوينات Mulitple لنوع الواجهة الخلفية ، فيمكنك تحديد أي اسم ثم تحديد الواجهة الخلفية باستخدام مفتاح الخلفية. على سبيل المثال:
---
pushover :
user_key : hunter2
cellphone :
backend : pushover
user_key : hunter2 انظر الخلفية أدناه للحصول على الخلفية والخيارات المتاحة. اعتبارًا من v2.6.0 ntfy يدعم أيضًا الخلفية الطرف الثالث
pushoveruser_keysoundpriorityexpireretrycallbackapi_token - استخدم رمز التطبيق الخاص بكdevice - استهدف جهاز ، إذا تم حذفه ، يتم إرسال الإخطار إلى جميع الأجهزةurlurl_titlehtmlpushbulletaccess_token - رمز الوصول إلى Pushbullet ، الذي تم إنشاؤه على https://www.pushbullet.com/#settings/accountdevice_iden - معرف الجهاز ، إذا تم حذفه ، يتم إرسال الإخطار إلى جميع الأجهزةemail - أرسل إشعارًا إلى مستخدم PushBullet مع البريد الإلكتروني المحدد أو إرسال بريد إلكتروني إذا لم يكن مستخدمًا للضغطsimplepushkey - مفتاح SimplePush الخاص بك ، الذي تم إنشاؤه عن طريق تثبيت تطبيق Android (لا يوجد تسجيل مطلوب) على https://simplepush.ioevent - يضع نغمة الرنين ونمط الاهتزاز للإشعارات الواردة (يمكن تعريفها في تطبيق SimplePush)xmppjidpasswordrecipienthostname (إن لم يكن من JID)portpath_to_certsmtype يتطلب إضافات ، تثبيت مثل هذا: pip install ntfy[xmpp] .
للتحقق من شهادات SSL التي يقدمها خادم: path_to_certs = "path/to/ca/cert"
بدون تثبيت مكتبة DNSpython ، ستحتاج إلى تحديد اسم مضيف الخادم إذا لم يتطابق مع JID.
حدد المنفذ إذا كان بخلاف 5222. ملاحظة: تم تجاهله بدون اسم مضيف محدد
ملاحظة: لا تدعم Google Hangouts XMPP منذ عام 2017
telegram يتطلب إضافات ، تثبيت مثل هذا: pip install ntfy[telegram] .
يتطلب تثبيت ntfy على أنه ntfy[telegram] . تم تكوين هذه الواجهة الخلفية في المرة الأولى التي ستحاول استخدامها: ntfy -b telegram send "Telegram configured for ntfy" .
pushjetsecret -The PushJet Service Secret Token ، تم إنشاؤه باستخدام http://docs.pushjet.io/docs/creating-a-new-serviceendpoint - نقطة نهاية API PushJet المخصصةlevel - مستوى الأهمية من 1 (منخفض) إلى 5 (مرتفع)linknotificowebhook - رابط WebHook ، الذي تم إنشاؤه على https://n.tkte.ch/Plain Text عند إنشاء webhook)slack يتطلب إضافات ، تثبيت مثل هذا: pip install ntfy[slack] .
token رمز Slack Service Service Secret ، إما رمز مستخدم قديم تم إنشاؤه على https://api.slack.com/custom-integrations/legacy-tokens أو رمز رمز تم الحصول عليه عن طريق إنشاء تطبيق على https://api.slack.com/apps؟new_app=1 مع chat:write:bot SCOPE وربطها إلى workpace.recipient - قناة Slack أو المستخدم لإرسال إشعارات إلى. إذا كنت تستخدم # الرمز ، فسيتم إرسال الرسالة إلى قناة Slack وإذا كنت تستخدم @ Symbol ، فسيتم إرسال الرسالة إلى مستخدم Slack.slack_webhookurl - عنوان URL الخاص بـ Webhook الواردuser - قناة Slack أو المستخدم لإرسال إشعارات إلىinsta يتطلب إضافات ، تثبيت مثل هذا pip install ntfy[instapush] .
Instapush لا يدعم عنوان الإخطار. إنه يرسل إشعارات تعتمد على القالب ، لذلك عليك إعداد الأحداث على لوحة القيادة أولاً. تسمى الواجهة الخلفية Insta بسبب متجانسة مع Wrapper Instapush Python
appid - معرف التطبيقsecret - سر الطلبevent_name - حدث Instapush ليتم استخدامهtrackers - مجموعة من المربعات للاستخدامملاحظة على أجهزة التتبع: المتتبعون هم أصحاب نائب للأحداث (نوع من قالب الإخطار). إذا قمت بتعريف أكثر من متتبع واحد في الحدث الخاص بك ، فسوف يتعين عليك تقديم المزيد من الرسائل. في الوقت الحالي ، فإن الطريقة الوحيدة للقيام بذلك هي فصل كل رسالة مع القولون (:) شخصية. يمكنك أيضًا الهروب من حرف الفاصل: مثال:
ntfy -b insta send " message1:message2 "
ntfy -b insta send " message1:message2:with:colons "prowlapi_keyprovider_keypriorityurllinuxيعمل عبر DBUs ، يعمل مع معظم des مثل Gnome و KDE و XFCE ومع libnotify.
يجب تثبيت التبعية التالية.
$ sudo apt install python-dbus # on ubuntu/debianستحتاج إلى تثبيت بعض الخط الذي يدعم الرموز التعبيرية (في خطوط Debian-Symbola أو Gentoo Media-Fonts/Symbola).
icon - يحدد المسار إلى أيقونة الإخطار ، سلسلة فارغة لعدم وجود أيقونة.urgency - يحدد مستوى الإلحاح (منخفض ، طبيعي ، حرجة).transient - تخطي التاريخ (exp: صينية رسالة جنوم) (صواب ، خطأ).soundfile - يحدد ملف الصوت الإخطار (eg /usr/share/sounds/notif.wav).timeout - تحدد مستوى وقت انتهاء انتهاء الإخطار (-1 - النظام الافتراضي ، 0 - لا تنتهي أبدًا).win32 يستخدم pywin32 .
darwin يتطلب تثبيت ntfy على مستوى العالم (وليس في ظاهري).
systemlog يستخدم وحدة Python Core syslog ، والتي لا تتوفر على منصات Windows.
prio - مستوى أولوية syslog. الافتراضي في ALERT . القيم الممكنة هي:
facility - منشأة syslog. الافتراضي هو LOCAL5 . القيم الممكنة هي:
fmt - تنسيق الرسالة المراد إرسالها إلى مسجل النظام. يتم تحديد العنوان والرسالة باستخدام العناصر النائبة التالية:
{title}{message} الافتراضي هو [{title}] {message} .
termux يتطلب تثبيت التطبيق من متجر التشغيل ويتم تثبيت الأداة المساعدة CLI مع apt install termux-api .
pushalotauth_token - رمز مصادف Pushalot الخاص ، الموجود هنا https://pushalot.com/manager/authorizationssource - مصدر الإخطارttl - تنتهي صلاحية الرسالة في دقائق (حان الوقت للعيش)url - عنوان URL لتضمينه في الإخطاراتurl_title - عنوان عنوان URL المرئي (تم تجاهله إذا لم يحدد عنوان URL)image - عنوان URL من الصورة المدرجة في الإخطاراتimportant - علامة الإخطارات على أنها مهمةsilent - وضع علامة على الإشعارات صامتةrocketchat يتطلب إضافات ، تثبيت مثل هذا: pip install ntfy[rocketchat] .
url - URL من Rocket.Chat مثيلusername - تسجيل الدخول اسم المستخدمpassword - تسجيل الدخول إلى كلمة المرورroom - اسم الغرفة/القناة للنشر فيmatrix يتطلب إضافات ، تثبيت مثل هذا: pip install ntfy[matrix] .
url - URL من مثيل HomeServer الخاص بكroomId - غرفة للنشر فيuserId - تسجيل الدخول userIdpassword - تسجيل الدخول إلى كلمة المرورtoken - الرمز المميز للوصول يجب عليك إما تحديد token أو userId password .
ntfy_webpush يتم تقديم دعم WebPush بواسطة وحدة NTFY خارجية ، تثبيت مثل هذا: pip install ntfy ntfy-webpush .
subscription_info - كائن PushSubscriptionprivate_key - المسار إلى ملف المفتاح الخاص أو أي شيء آخر يعمل مع Pywebpush.لمزيد من المعلومات ، راجع ntfy-webpush <https://github.com/dschep/ntfy-webpush> `_ _
لاستخدام أو تنفيذ الخلفية الخاصة بك ، حدد المسار الكامل للوحدة كواجهة خلفية. تحتاج الوحدة إلى احتواء وحدة مع دالة تسمى notify مع التوقيع التالي:
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
"""
passالعنوان قابل للتكوين مع مفتاح العنوان في التكوين. مثال:
---
title : Customized Titlepython setup.py test