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 알림에는 virtualenv에 대한 --system-site-packages 필요하며 OS X 알림은 전혀 작동하지 않습니다.
? 참고 : Linux Desktop 알림에는 Python DBus 바인딩이 필요합니다. 자세한 내용은 여기를 참조하십시오.
ntfy BASH 및 ZSH에서 긴 실행 명령이 완료되면 자동으로 알림을 보내는 것을 지원합니다. Bash에서는 Rcaloras/Bash-Preexec으로 Zsh의 preexec 및 premd 기능을 모방합니다. .bashrc .zshrc
eval " $( ntfy shell-integration ) " 기본적으로 10 초 이상 지속되는 명령에 대한 알림과 터미널에 집중된 경우에만 알림을 보냅니다. 터미널 초점은 X11 (Linux) 및 MACOS에서 Terminal.App 및 Iterm2에서 작동합니다. 두 옵션 모두 --longer-than and --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 ~/.ntfy.yml 에 저장된 Yaml 파일 또는 표준 플랫폼 특정 위치에 구성됩니다.
~/.config/ntfy/ntfy.yml~/Library/Application Support/ntfy/ntfy.ymlC:Users<User>AppDataLocaldschepntfy.ymlBackendends 키는 기본적으로 사용할 백엔드를 지정합니다. 각 백엔드에는 자체 구성이 있으며 자체 이름의 키에 저장됩니다. 예를 들어:
---
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 https://www.pushbullet.com/#settings/account에서 생성 된 Pushbullet Access Tokendevice_iden 장치 식별자, 생략되면 모든 장치로 알림이 전송됩니다.email - 지정된 이메일로 pushbullet 사용자에게 알림 보내기 또는 푸시 펄렛 사용자가 아닌 경우 이메일을 보냅니다.simplepushkey - https://simplepush.io에서 Android 앱 (등록 필요 없음)을 설치하여 만든 SimplePush 키event - 들어오는 알림을 위해 벨소리 및 진동 패턴을 설정합니다 (SimplePush 앱에서 정의 할 수 있음)xmppjidpasswordrecipienthostname (JID가 아닌 경우)portpath_to_certsmtype 엑스트라가 필요하고 다음과 같이 설치해야합니다. pip install ntfy[xmpp] .
서버에서 제공하는 SSL 인증서를 확인하려면 : Path_TO_CERTS = "PATH/TO/CA/CERT"
Dnspython 라이브러리가 설치되지 않으면 JID와 일치하지 않으면 서버 호스트 이름을 지정해야합니다.
5222 이외의 다른 경우 포트를 지정하십시오. 참고 : 지정된 호스트 이름없이 무시됩니다.
참고 : Google 행 아웃은 2017 년 이후 XMPP를 지원하지 않습니다
telegram 엑스트라가 필요하고 다음과 같이 설치해야합니다. pip install ntfy[telegram] .
ntfy ntfy[telegram] 로 설치해야합니다. 이 백엔드는 처음으로 사용하려고 시도 ntfy -b telegram send "Telegram configured for ntfy" 때 구성됩니다.
pushjetsecret ://docs.pushjet.io/docs/creating-a-new-service로 만든 Pushjet Service Secret Tokenendpoint - 사용자 정의 푸시 제트 API 엔드 포인트level - 중요도 레벨 1 (낮음)에서 5 (높음)linknotifico -Notificowebhook https://n.tkte.ch/에서 만든 Webhook LinkPlain Text 서비스를 선택하십시오)slack 엑스트라가 필요하고 다음과 같이 설치해야합니다. pip install ntfy[slack] .
token -Slack Service Secret Token, https://api.slack.com/custom-integrations/legacy-tokens/legacy-tokens 또는 chat:write:bot 에서 앱을 작성하여 얻은 https://api.slack.com/custom-integrations/legacy-tokens 또는 획득 한 유산 사용자 토큰.recipient - 알림을 보낼 수있는 슬랙 채널 또는 사용자. # 기호를 사용하는 경우 메시지가 슬랙 채널로 보내지고 @ Symbol을 사용하면 메시지가 슬랙 사용자에게 전송됩니다.slack_webhookurl 들어오는 Webhook의 URLuser - 알림을 보내는 슬랙 채널 또는 사용자insta 엑스트라가 필요 하고이 pip install ntfy[instapush] 처럼 설치하십시오.
Instapush는 알림 제목을 지원하지 않습니다. 템플릿 구동 알림을 보내므로 먼저 대시 보드에서 이벤트를 설정해야합니다. 백엔드는 Instapush Python 래퍼와의 동종으로 인해 Insta라고합니다.
appid 응용 프로그램 IDsecret - 응용 프로그램 비밀event_name 사용될 Instapush 이벤트trackers - 사용할 트레이커 배열트래커에 대한 참고 : 트래커는 이벤트의 자리 표시 자 (일종의 알림 템플릿)입니다. 이벤트에서 하나 이상의 트래커를 정의한 경우 더 많은 메시지를 제공해야합니다. 현재 그렇게하는 유일한 방법은 각 메시지를 콜론 (:) 문자로 분리하는 것입니다. 분리기 문자를 피할 수도 있습니다. 예 : 예 :
ntfy -b insta send " message1:message2 "
ntfy -b insta send " message1:message2:with:colons "prowlapi_keyprovider_keypriorityurllinuxDBUS를 통해 작동하며 GNOME, KDE, XFCE와 같은 대부분의 DES 및 Libnotify와 함께 작동합니다.
다음 부족을 설치해야합니다.
$ sudo apt install python-dbus # on ubuntu/debian이모티콘을 지원하는 글꼴을 설치해야합니다 (데비안 폰트-스파이 볼라 또는 젠투 미디어-고정/Symbola).
icon - 알림 아이콘의 경로를 지정합니다. 아이콘이없는 빈 문자열.urgency - 긴급 수준 (낮음, 정상, 중요)을 지정합니다.transient - 히스토리를 건너 뛰십시오 (Exp : Gnome 메시지 트레이) (True, False).soundfile 알림 사운드 파일 (예 : /usr/share/sounds/notif.wav)을 지정합니다.timeout - 알림 만료 시간 수준 (-1- 시스템 기본값, 0- 만료되지 않음)을 지정합니다.win32 pywin32 사용합니다.
darwin ntfy 전 세계적으로 설치해야합니다 (VirtualEnV가 아님).
systemlog Windows 플랫폼에서 사용할 수없는 syslog Core Python 모듈을 사용합니다.
prio -Syslog 우선 순위 수준. 기본값은 ALERT 입니다. 가능한 값은 다음과 같습니다.
facility - Syslog 시설. 기본값은 LOCAL5 입니다. 가능한 값은 다음과 같습니다.
fmt 시스템 로거로 전송 될 메시지의 형식. 제목과 메시지는 다음 자리 표시자를 사용하여 지정됩니다.
{title}{message} 기본값은 [{title}] {message} 입니다.
termux Play 스토어에서 앱을 설치해야하며 apt install termux-api 와 함께 CLI 유틸리티를 설치해야합니다.
pushalotauth_token 귀하의 개인 푸시 팔롯 인증 토큰, 여기에서 찾을 수 있습니다 https://pushalot.com/manager/authorizationssource - 알림의 소스ttl 메시지가 몇 분 만에 만료됩니다 (살기 시간)url 알림에 포함 할 URLurl_title 가시 URL 제목 (URL이 지정되지 않은 경우 무시)image - 알림에 포함 된 이미지의 URLimportant - 마크 알림이 중요합니다silent - 알림을 조용한 것으로 표시하십시오rocketchat 엑스트라가 필요하고 다음과 같이 설치해야합니다. pip install ntfy[rocketchat] .
url -Rocket.chat 인스턴스의 URLusername - 로그인 사용자 이름password - 로그인 비밀번호room - 룸/채널 이름을 게시합니다matrix 엑스트라가 필요하고 다음과 같이 설치하십시오 : pip install ntfy[matrix] .
url -Homeserver 인스턴스의 URLroomId - 게시 할 방userId 로그인 userIdpassword - 로그인 비밀번호token - 액세스 토큰 token 또는 userId 및 password 지정해야합니다.
ntfy_webpush WebPush 지원은 외부 NTFY 모듈에 의해 입증되며 다음과 같이 설치하십시오. pip install ntfy ntfy-webpush .
subscription_info 푸시 소독 객체private_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