В этом разделе указаны все службы, поддерживаемые этой библиотекой. Посетите вики для получения дополнительной информации о поддерживаемых модулях здесь.
В таблице ниже указаны службы, которые поддерживает этот инструмент, а также некоторые примеры URL-адресов служб, которые вам необходимо использовать, чтобы воспользоваться его преимуществами. Нажмите на любую из перечисленных ниже служб, чтобы получить более подробную информацию о том, как настроить Appprise для доступа к ним.
Служба уведомлений | Идентификатор услуги | Порт по умолчанию | Пример синтаксиса |
---|---|---|---|
Уведомить API | уведомить:// или уведомить:// | (TCP) 80 или 443 | сообщить://имя хоста/токен |
АВС СЭС | сес:// | (ПТС) 443 | ses://user@domain/AccessKeyID/AccessSecretKey/RegionName ses://user@domain/AccessKeyID/AccessSecretKey/RegionName/email1/email2/emailN |
Лаять | лаять:// | (TCP) 80 или 443 | кора://имя хоста кора://имя_хоста/ключ_устройства кора://имя_хоста/ключ_устройства1/ключ_устройства2/ключ_устройстваN лает://имя хоста лает://имя_хоста/ключ_устройства лает://имя_хоста/ключ_устройства1/ключ_устройства2/ключ_устройстваN |
воспевать | петь:// | (ПТС) 443 | петь://токен |
Раздор | раздор:// | (ПТС) 443 | дискорд://webhook_id/webhook_token discord://avatar@webhook_id/webhook_token |
Эмби | emby:// или embys:// | (ПТС) 8096 | emby://пользователь@имя хоста/ emby://пользователь:пароль@имя хоста |
Энигма2 | энигма2:// или энигма2с:// | (TCP) 80 или 443 | enigma2://имя хоста |
ФКМ | fcm:// | (ПТС) 443 | fcm://project@apikey/DEVICE_ID fcm://project@apikey/#TOPIC fcm://project@apikey/DEVICE_ID1/#topic1/#topic2/DEVICE_ID2/ |
Фейшу | фейшу:// | (ПТС) 443 | фейшу://токен |
Стадо | стадо:// | (ПТС) 443 | стая://токен стая://имябота@токен стая://app_token/u:userid стая://app_token/g:channel_id стая://app_token/u:userid/g:channel_id |
Google Чат | gchat:// | (ПТС) 443 | gchat://workspace/ключ/токен |
Готифай | gotify:// или gotify:// | (TCP) 80 или 443 | gotify://имя хоста/токен gotifys://имя хоста/токен?priority=high |
Рычать | рычание:// | (УДП) 23053 | рычание://имя хоста рычание://имя хоста:номер порта рычание://пароль@имя хоста гроул://пароль@имяхоста:порт Примечание . Вы также можете использовать версию параметра get, которая позволяет запросу рычания работать с использованием более старого протокола v1.x. Пример может выглядеть так: рычание://имя_хоста?версия=1. |
Позолоченный | позолоченный:// | (ПТС) 443 | гильдированный://webhook_id/webhook_token гильдированный://аватар@webhook_id/webhook_token |
Домашний помощник | хассио:// или хассиос:// | (TCP) 8123 или 443 | хассио://имя хоста/токен доступа хассио://пользователь@имя хоста/токен доступа hassio://пользователь:пароль@имяхоста:порт/токен доступа hassio://имя хоста/необязательно/путь/токен доступа |
ИФТТТ | еслиттт:// | (ПТС) 443 | ifttt://webhooksID/Событие ifttt://webhooksID/Event1/Event2/EventN ifttt://webhooksID/Event1/?+Key=Значение ifttt://webhooksID/Event1/?-Key=value1 |
Присоединиться | присоединиться:// | (ПТС) 443 | присоединиться://apikey/устройство присоединиться://apikey/device1/device2/deviceN/ присоединиться://apikey/группа присоединиться://apikey/groupA/groupB/groupN присоединиться://apikey/DeviceA/groupA/groupN/DeviceN/ |
КОДИ | коди:// или кодис:// | (TCP) 8080 или 443 | коди://имя хоста коди://пользователь@имя хоста kodi://пользователь:пароль@имяхоста:порт |
Кумулос | кумулос:// | (ПТС) 443 | кумулос://apikey/serverkey |
Ламетрическое время | ламетрический:// | (ПТС) 443 | ламетрический://apikey@device_ipaddr lametric://apikey@имя хоста:порт ламетрический://client_id@client_secret |
Линия | линия:// | (ПТС) 443 | линия://Токен@Пользователь строка://Токен/Пользователь1/Пользователь2/ПользовательN |
ЛунаСи | лунасеа:// | (TCP) 80 или 443 | lunasea://пользователь:pass@+FireBaseDevice/ lunasea://пользователь:pass@FireBaseUser/ lunasea://пользователь:pass@имя_хоста/+FireBaseDevice/ lunasea://пользователь:pass@имя хоста/@FireBaseUser/ |
Мейлган | почтовый пистолет:// | (ПТС) 443 | mailgun://пользователь@имя хоста/apikey mailgun://пользователь@имя хоста/apikey/электронная почта mailgun://пользователь@имя хоста/apikey/email1/email2/emailN mailgun://user@hostname/apikey/?name="От%20User" |
Мастодонт | мастодон:// или мастодонты:// | (TCP) 80 или 443 | мастодон://access_key@имя хоста мастодон://access_key@имя хоста/@пользователь мастодон://ключ_доступа@имя_хоста/@user1/@user2/@userN |
Матрица | матрица:// или матрицы:// | (TCP) 80 или 443 | матрица://имя хоста матрица://пользователь@имя хоста матрицы://пользователь:пароль@имяхоста:порт/#алиас_комнаты матрицы://пользователь:пароль@имяхоста:порт/!room_id матрицы://пользователь:пароль@имяхоста:порт/#алиас_комнаты/!номер_ид/#комната2 матрицы://токен@имя хоста:порт/?webhook=матрица матрица://пользователь:токен@имяхоста/?webhook=slack&format=markdown |
самое важное | ммост:// или ммост:// | (ПТС) 8065 | ммост://имя хоста/ключ аутентификации ммост://имя хоста:80/ключ аутентификации mmost://user@hostname:80/authkey mmost://имя хоста/ключ аутентификации?канал=канал mmosts://имя хоста/ключ аутентификации mmosts://пользователь@имя хоста/ключ аутентификации |
Microsoft Power Automate/Рабочие процессы (MSTeams) | рабочие процессы:// | (ПТС) 443 | рабочие процессы://WorkflowID/Signature/ |
Команды Майкрософт | msteams:// | (ПТС) 443 | msteams://TokenA/TokenB/TokenC/ |
Миски | промахи:// или промахи:// | (TCP) 80 или 443 | промахключ://токен_доступа@имя хоста |
MQTT | mqtt:// или mqtts:// | (TCP) 1883 или 8883 | mqtt://имя хоста/тема mqtt://пользователь@имя хоста/тема mqtts://пользователь:pass@имяхоста:9883/тема |
Следующее облако | ncloud:// или nclouds:// | (TCP) 80 или 443 | ncloud://adminuser:pass@host/Пользователь nclouds://adminuser:pass@host/User1/User2/UserN |
NextcloudTalk | nctalk:// или nctalks:// | (TCP) 80 или 443 | nctalk://пользователь:pass@host/RoomId nctalks://пользователь:pass@host/RoomId1/RoomId2/RoomIdN |
Нотика | уведомление:// | (ПТС) 443 | уведомление://Токен/ |
Уведомить | уведомлениеrr:// | (ПТС) 443 | notifiarr://apikey/#channel notifiarr://apikey/#channel1/#channel2/#channeln |
Уведомление | уведомление:// | (ПТС) 443 | уведомление://ProjectID/MessageHook/ |
нтфй | нтфй:// | (TCP) 80 или 443 | ntfy://тема/ ntfys://тема/ |
Офис 365 | о365:// | (ПТС) 443 | o365://TenantID:AccountEmail/ClientID/ClientSecret o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail1/TargetEmail2/TargetEmailN |
Один сигнал | одинсигнал:// | (ПТС) 443 | onesignal://AppID@APIKey/PlayerID onesignal://TemplateID:AppID@APIKey/UserID onesignal://AppID@APIKey/#IncludeSegment onesignal://AppID@APIKey/Электронная почта |
Опсгени | opsgenie:// | (ПТС) 443 | opsgenie://APIKey opsgenie://APIKey/UserID opsgenie://APIKey/#Team opsgenie://APIKey/*Расписание opsgenie://APIKey/^Эскалация |
ПейджерДьюти | пейджердути:// | (ПТС) 443 | pagerduty://IntegrationKey@ApiKey pagerduty://IntegrationKey@ApiKey/Source/Component |
ПейджерДерево | пейджертри:// | (ПТС) 443 | pagertree://integration_id |
Платформа Parse | парсеп:// или парсепс:// | (TCP) 80 или 443 | parsep://AppID:MasterKey@Имя хоста parseps://AppID:MasterKey@Имя хоста |
ПопкорнУведомить | Попкорн:// | (ПТС) 443 | попкорн://ApiKey/ToPhoneNo попкорн://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ попкорн://ApiKey/ToEmail попкорн://ApiKey/ToEmail1/ToEmail2/ToEmailN/ попкорн://ApiKey/ToPhoneNo1/ToEmail1/ToPhoneNoN/ToEmailN |
Проул | бродить:// | (ПТС) 443 | бродить://apikey бродить://apikey/providerkey |
PushBullet | пбул:// | (ПТС) 443 | pbul://токен доступа pbul://токен доступа/#канал pbul://токен доступа/A_DEVICE_ID pbul://accesstoken/[email protected] pbul://accesstoken/#channel/#channel2/[email protected]/DEVICE |
Пуджет | pjet:// или pjet:// | (TCP) 80 или 443 | pjet://имя хоста/секрет pjet://имя хоста:порт/секрет pjets://secret@имя_хоста/секрет pjets://имя хоста:порт/секрет |
Пуш (Текулус) | толкать:// | (ПТС) 443 | нажмите://apikey/ |
Нажатый | нажал:// | (ПТС) 443 | нажал://appkey/appsecret/ push://appkey/appsecret/#ChannelAlias push://appkey/appsecret/#ChannelAlias1/#ChannelAlias2/#ChannelAliasN push://appkey/appsecret/@UserPushedID push://appkey/appsecret/@UserPushedID1/@UserPushedID2/@UserPushedIDN |
PushMe | подтолкни меня:// | (ПТС) 443 | pushme://Токен/ |
Пушовер | Повер:// | (ПТС) 443 | повер://пользователь@токен повер://пользователь@токен/УСТРОЙСТВО повер://пользователь@токен/DEVICE1/DEVICE2/DEVICEN Примечание : вы должны указать как свой user_id, так и токен. |
PushSafer | psafer:// или psafers:// | (TCP) 80 или 443 | psafer://privatekey psafers://privatekey/DEVICE psafer://privatekey/DEVICE1/DEVICE2/DEVICEN |
Напористый | напористый:// | (ПТС) 443 | настойчивый://apikey/DEVICE настойчивый://apikey/DEVICE1/DEVICE2/DEVICEN настойчивый://apikey/TOPIC настойчивый://apikey/TOPIC1/TOPIC2/TOPICN |
ПушДир | pushdeer:// или pushdeers:// | (TCP) 80 или 443 | pushdeer://pushKey pushdeer://имя хоста/pushKey pushdeer://имя хоста:порт/pushKey |
Реддит | реддит:// | (ПТС) 443 | reddit://пользователь:пароль@app_id/app_secret/subreddit reddit://пользователь:пароль@app_id/app_secret/sub1/sub2/subN |
Бунт | бунт:// | (ПТС) 443 | восстание://bottoken/ChannelID восстание://bottoken/ChannelID1/ChannelID2/ChannelIDN |
Rocket.Чат | ракета:// или ракеты:// | (TCP) 80 или 443 | ракета://пользователь:пароль@имяхоста/RoomID/Канал ракеты://пользователь:пароль@имяхоста:443/#Channel1/#Channel1/RoomID ракета://пользователь:пароль@имяхоста/#Канал ракета://webhook@имя хоста ракеты://webhook@имя хоста/@Пользователь/#Канал |
RSyslog | rsyslog:// | (УДП) 514 | rsyslog://имя хоста rsyslog://имя хоста/Объект |
Ривер | река:// | (ПТС) 443 | river://Организация/Токен ryver://имябота@Организация/Токен |
ОтправитьГрид | sendgrid:// | (ПТС) 443 | sendgrid://APIToken:FromEmail/ sendgrid://APIToken:FromEmail/ToEmail sendgrid://APIToken:FromEmail/ToEmail1/ToEmail2/ToEmailN/ |
СерверЧан | скан:// | (ПТС) 443 | скан://sendkey/ |
Сигнальный API | сигнал:// или сигналы:// | (TCP) 80 или 443 | сигнал://имя хоста:порт/FromPhoneNo сигнал://имя хоста:порт/FromPhoneNo/ToPhoneNo сигнал://имя хоста:порт/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
SimplePush | нажать:// | (ПТС) 443 | spush://apikey spush://salt:пароль@apikey spush://apikey?event=Уведомить |
Слабый | слабина:// | (ПТС) 443 | слабина://ТокенА/ТокенБ/ТокенС/ слабина://TokenA/TokenB/TokenC/Канал слабина://имябота@TokenA/TokenB/TokenC/Канал слабина://пользователь@TokenA/TokenB/TokenC/Канал1/Канал2/КаналN |
SMTP2Go | smtp2go:// | (ПТС) 443 | smtp2go://пользователь@имя хоста/apikey smtp2go://пользователь@имя хоста/apikey/электронная почта smtp2go://пользователь@имя хоста/apikey/email1/email2/emailN smtp2go://user@hostname/apikey/?name="От%20User" |
СпаркПост | искровой пост:// | (ПТС) 443 | искровой пост://пользователь@имя хоста/apikey искровой пост://пользователь@имя хоста/apikey/электронная почта sparkpost://пользователь@имя хоста/apikey/email1/email2/emailN sparkpost://user@hostname/apikey/?name="От%20User" |
Спланк | splunk:// или победитель:/ | (ПТС) 443 | splunk://route_key@apikey splunk://route_key@apikey/entity_id |
Стримлабс | стрмлабс:// | (ПТС) 443 | стрмлабс://AccessToken/ strmlabs://AccessToken/?name=name&identifier=identifier&amount=0¤cy=USD |
Синологический чат | Synology:// или Synology:// | (TCP) 80 или 443 | Synology://имя хоста/токен Synology://имя хоста:порт/токен |
Системный журнал | системный журнал:// | н/д | системный журнал:// системный журнал://Объект |
Телеграмма | tgram:// | (ПТС) 443 | tgram://bottoken/ChatID tgram://bottoken/ChatID1/ChatID2/ChatIDN |
Твиттер | Твиттер:// | (ПТС) 443 | Твиттер://CKey/CSecret/AKey/ASecret Твиттер://user@CKey/CSecret/AKey/ASecret Твиттер://CKey/CSecret/AKey/ASecret/User1/User2/User2 твиттер://CKey/CSecret/AKey/ASecret?mode=tweet |
Крутить | крутить:// | (ПТС) 443 | твист://пароль:логин твист://пароль:логин/#канал твист://пароль:логин/#команда:канал твист://пароль:логин/#team:channel1/channel2/#team3:channel |
Webex Teams (Cisco) | wxteams:// | (ПТС) 443 | wxteams://Токен |
WeCom Бот | мыкомбот:// | (ПТС) 443 | wecombot://BotKey |
WhatsApp:// | (ПТС) 443 | WhatsApp://AccessToken@FromPhoneID/ToPhoneNo WhatsApp://Шаблон:AccessToken@FromPhoneID/ToPhoneNo | |
WxPusher | wxpusher:// | (ПТС) 443 | wxpusher://AppToken@UserID1/UserID2/UserIDN wxpusher://AppToken@Topic1/Topic2/Topic3 wxpusher://AppToken@UserID1/Topic1/ |
XBMC | xbmc:// или xbmcs:// | (TCP) 8080 или 443 | xbmc://имя хоста xbmc://пользователь@имя хоста xbmc://пользователь:пароль@имяхоста:порт |
Зулип Чат | цулип:// | (ПТС) 443 | zulip://имябота@Организация/Токен zulip://имябота@Организация/Token/Stream zulip://имябота@Организация/Токен/Электронная почта |
Служба уведомлений | Идентификатор услуги | Порт по умолчанию | Пример синтаксиса |
---|---|---|---|
Африка говорит | attalk:// | (ПТС) 443 | atalk://AppUser@ApiKey/ToPhoneNo atalk://AppUser@ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Автоматизированная система отчетов о пакетах (ARPS) | апрель:// | (ПТС) 10152 | aprs://пользователь:pass@позывной aprs://user:pass@callsign1/callsign2/callsignN |
АВС СНС | sns:// | (ПТС) 443 | sns://AccessKeyID/AccessSecretKey/RegionName/+PhoneNo sns://AccessKeyID/AccessSecretKey/RegionName/+PhoneNo1/+PhoneNo2/+PhoneNoN sns://AccessKeyID/AccessSecretKey/RegionName/Topic sns://AccessKeyID/AccessSecretKey/RegionName/Topic1/Topic2/TopicN |
Массовая рассылка SMS | оптовые сообщения:// | (ПТС) 443 | Bulsms://пользователь:пароль@ToPhoneНет Bulksms://Пользователь:Пароль@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
BulkVS | объемы:// | (ПТС) 443 | Bulkvs://пользователь:пароль@FromPhoneНет Bulkvs://пользователь:пароль@FromPhoneNo/ToPhoneNo Bulkvs://пользователь:пароль@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Пакетное СМС | взрывы:// | (ПТС) 443 | всплески://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo всплески://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
НажмитеОтправить | нажмитеОтправить:// | (ПТС) 443 | нажмитеОтправить://пользователь:pass@PhoneНет нажмитеОтправить://пользователь:pass@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
ДАПНЕТ | дапнет:// | (ПТС) 80 | dapnet://пользователь:pass@позывной dapnet://пользователь:pass@callsign1/callsign2/callsignN |
Сети D7 | d7sms:// | (ПТС) 443 | d7sms://токен@ТелефонНет d7sms://токен@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
DingTalk | дингтолк:// | (ПТС) 443 | дингтолк://токен/ dingtalk://токен/ToPhoneNo dingtalk://токен/ToPhoneNo1/ToPhoneNo2/ToPhoneNo1/ |
Бесплатная мобильная связь | бесплатный мобильный:// | (ПТС) 443 | бесплатномобильный://пользователь@пароль/ |
httpSMS | https:// | (ПТС) 443 | https://ApiKey@FromPhoneНет https://ApiKey@FromPhoneNo/ToPhoneNo https://ApiKey@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Кавенегар | Кавенегар:// | (ПТС) 443 | кавенегар://ApiKey/ToPhoneNo кавенегар://FromPhoneNo@ApiKey/ToPhoneNo кавенегар://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
СообщениеПтица | сообщение:// | (ПТС) 443 | msgbird://ApiKey/FromPhoneNo msgbird://ApiKey/FromPhoneNo/ToPhoneNo msgbird://ApiKey/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
MSG91 | msg91:// | (ПТС) 443 | msg91://TemplateID@AuthKey/ToPhoneNo msg91://TemplateID@AuthKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Пливо | пливо:// | (ПТС) 443 | plivo://AuthID@Token@FromPhoneНет plivo://AuthID@Token/FromPhoneNo/ToPhoneNo plivo://AuthID@Token/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Семь | Семь:// | (ПТС) 443 | семь://ApiKey/FromPhoneNo семь://ApiKey/FromPhoneNo/ToPhoneNo семь://ApiKey/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Французское радиотелефонное общество (SFR) | сфр:// | (ПТС) 443 | sfr://пользователь:пароль>@spaceId/ToPhoneNo sfr://пользователь:пароль>@spaceId/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Сигнальный API | сигнал:// или сигналы:// | (TCP) 80 или 443 | сигнал://имя хоста:порт/FromPhoneNo сигнал://имя хоста:порт/FromPhoneNo/ToPhoneNo сигнал://имя хоста:порт/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Синч | синч:// | (ПТС) 443 | синч://ServicePlanId:ApiToken@FromPhoneNo синч://ServicePlanId:ApiToken@FromPhoneNo/ToPhoneNo sinch://ServicePlanId:ApiToken@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ синч://ServicePlanId:ApiToken@ShortCode/ToPhoneNo sinch://ServicePlanId:ApiToken@ShortCode/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
СМСОрел | smseagle:// или smseagles:// | (TCP) 80 или 443 | smseagles://имя хоста:порт/ToPhoneNo smseagles://имя хоста:порт/@ToContact smseagles://имя хоста:порт/#ToGroup smseagles://имя хоста:порт/ToPhoneNo1/#ToGroup/@ToContact/ |
СМС-менеджер | смсмгр:// | (ПТС) 443 | smsmgr://ApiKey@ToPhoneНет smsmgr://ApiKey@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Трима Шлюз | трима:// | (ПТС) 443 | Threema://GatewayID@secret/ToPhoneNo Threema://GatewayID@secret/ToEmail Threema://GatewayID@secret/ToThreemaID/ Threema://GatewayID@secret/ToEmail/ToThreemaID/ToPhoneNo/... |
Твилио | твилио:// | (ПТС) 443 | twilio://AccountSid:AuthToken@FromPhoneNo twilio://AccountSid:AuthToken@FromPhoneNo/ToPhoneNo twilio://AccountSid:AuthToken@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ twilio://AccountSid:AuthToken@FromPhoneNo/ToPhoneNo?apikey=Key twilio://AccountSid:AuthToken@ShortCode/ToPhoneNo twilio://AccountSid:AuthToken@ShortCode/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Voipms | voipms:// | (ПТС) 443 | voipms://пароль:электронная почта/FromPhoneNo voipms://пароль:email/FromPhoneNo/ToPhoneNo voipms://пароль:email/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Vonage (ранее Nexmo) | нексмо:// | (ПТС) 443 | nexmo://ApiKey:ApiSecret@FromPhoneNo nexmo://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo nexmo://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Служба уведомлений | Идентификатор услуги | Порт по умолчанию | Пример синтаксиса |
---|---|---|---|
Уведомления Linux DBus | дбус:// qt:// glib:// кде:// | н/д | дбус:// qt:// glib:// кде:// |
Уведомления Linux Gnome | гном:// | н/д | гном:// |
Уведомления MacOS X | macosx:// | н/д | macosx:// |
Уведомления Windows | окна:// | н/д | окна:// |
Идентификатор услуги | Порт по умолчанию | Пример синтаксиса |
---|---|---|
почта:// | (ПТС) 25 | mailto://userid:[email protected] mailto://domain.com?user=userid&pass=пароль mailto://domain.com:2525?user=userid&pass=пароль mailto://[email protected]&pass=пароль mailto://mySendingUsername:[email protected][email protected] mailto://userid:[email protected]?smtp=mail.example.com&[email protected]&name=no%20reply |
почта:// | (ПТС) 587 | mailtos://userid:[email protected] mailtos://domain.com?user=userid&pass=пароль mailtos://domain.com:465?user=userid&pass=пароль mailtos://[email protected]&pass=пароль mailtos://mySendingUsername:[email protected][email protected] mailtos://userid:[email protected]?smtp=mail.example.com&[email protected]&name=no%20reply |
В Appprise встроены некоторые службы электронной почты (например, Yahoo, Fastmail, Hotmail, Gmail и т. д.), которые значительно упрощают работу службы mailto://. Подробности смотрите здесь.
Почтовый метод | Идентификатор услуги | Порт по умолчанию | Пример синтаксиса |
---|---|---|---|
Форма | форма:// или формы:// | (TCP) 80 или 443 | форма://имя хоста форма://пользователь@имя хоста форма://пользователь:пароль@имяхоста:порт форма://имя хоста/a/путь/к/посту/к |
JSON | json:// или jsons:// | (TCP) 80 или 443 | json://имя хоста json://пользователь@имя хоста json://пользователь:пароль@имяхоста:порт json://имя хоста/a/путь/к/посту/к |
XML | xml:// или xmls:// | (TCP) 80 или 443 | xml://имя хоста xml://пользователь@имя хоста xml://пользователь:пароль@имяхоста:порт xml://имя хоста/a/путь/к/посту/к |
Самый простой способ — установить этот пакет из pypi:
pip install apprise
Appprise также упакован в виде RPM и доступен через EPEL с поддержкой CentOS, Redhat, Rocky, Oracle Linux и т. д.
# Follow instructions on https://docs.fedoraproject.org/en-US/epel
# to get your system connected up to EPEL and then:
# Redhat/CentOS 7.x users
yum install apprise
# Redhat/CentOS 8.x+ and/or Fedora Users
dnf install apprise
Вы также можете воспользоваться графической версией Appprise, чтобы централизовать конфигурацию и уведомления через управляемую веб-страницу.
В этот пакет также входит небольшой инструмент интерфейса командной строки (CLI) под названием apprice . Если вы знаете URL-адреса серверов, которые хотите уведомить, вы можете просто указать их все в командной строке и отправлять уведомления таким образом:
# Send a notification to as many servers as you want
# as you can easily chain one after another (the -vv provides some
# additional verbosity to help let you know what is going on):
apprise -vv -t ' my title ' -b ' my notification body '
' mailto://myemail:[email protected] '
' pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b '
# If you don't specify a --body (-b) then stdin is used allowing
# you to use the tool as part of your every day administration:
cat /proc/cpuinfo | apprise -vv -t ' cpu info '
' mailto://myemail:[email protected] '
# The title field is totally optional
uptime | apprise -vv
' discord:///4174216298/JHMHI8qBe7bk2ZwO5U711o3dV_js '
Никто не хочет выставлять свои учетные данные на всеобщее обозрение в командной строке. Приложение «Нет проблем» также поддерживает файлы конфигурации. Он может обрабатывать как определенный формат YAML, так и очень простой формат TEXT. Вы также можете получить эти файлы конфигурации с помощью HTTP-запроса! Подробнее об ожидаемой структуре файлов конфигурации можно прочитать здесь.
# By default if no url or configuration is specified apprise will attempt to load
# configuration files (if present) from:
# ~/.apprise
# ~/.apprise.yaml
# ~/.config/apprise.conf
# ~/.config/apprise.yaml
# /etc/apprise.conf
# /etc/apprise.yaml
# Also a subdirectory handling allows you to leverage plugins
# ~/.apprise/apprise
# ~/.apprise/apprise.yaml
# ~/.config/apprise/apprise.conf
# ~/.config/apprise/apprise.yaml
# /etc/apprise/apprise.yaml
# /etc/apprise/apprise.conf
# Windows users can store their default configuration files here:
# %APPDATA%/Apprise/apprise.conf
# %APPDATA%/Apprise/apprise.yaml
# %LOCALAPPDATA%/Apprise/apprise.conf
# %LOCALAPPDATA%/Apprise/apprise.yaml
# %ALLUSERSPROFILE%Appriseapprise.conf
# %ALLUSERSPROFILE%Appriseapprise.yaml
# %PROGRAMFILES%Appriseapprise.conf
# %PROGRAMFILES%Appriseapprise.yaml
# %COMMONPROGRAMFILES%Appriseapprise.conf
# %COMMONPROGRAMFILES%Appriseapprise.yaml
# The configuration files specified above can also be identified with a `.yml`
# extension or even just entirely removing the `.conf` extension altogether.
# If you loaded one of those files, your command line gets really easy:
apprise -vv -t ' my title ' -b ' my notification body '
# If you want to deviate from the default paths or specify more than one,
# just specify them using the --config switch:
apprise -vv -t ' my title ' -b ' my notification body '
--config=/path/to/my/config.yml
# Got lots of configuration locations? No problem, you can specify them all:
# Apprise can even fetch the configuration from over a network!
apprise -vv -t ' my title ' -b ' my notification body '
--config=/path/to/my/config.yml
--config=https://localhost/my/apprise/config
Appprise также поддерживает вложения файлов! Укажите столько вложений к уведомлению, сколько хотите.
# Send a funny image you found on the internet to a colleague:
apprise -vv --title ' Agile Joke '
--body ' Did you see this one yet? '
--attach https://i.redd.it/my2t4d2fx0u31.jpg
' mailto://myemail:[email protected] '
# Easily send an update from a critical server to your dev team
apprise -vv --title ' system crash '
--body ' I do not think Jim fixed the bug; see attached... '
--attach /var/log/myprogram.log
--attach /var/debug/core.2345
--tag devteam
Чтобы создать свой собственный крючок schema://
, чтобы вы могли запускать свой собственный код, просто включите декоратор @notify
чтобы обернуть вашу функцию.
from apprise . decorators import notify
#
# The below assumes you want to catch foobar:// calls:
#
@ notify ( on = "foobar" , name = "My Custom Foobar Plugin" )
def my_custom_notification_wrapper ( body , title , notify_type , * args , ** kwargs ):
"""My custom notification function that triggers on all foobar:// calls
"""
# Write all of your code here... as an example...
print ( "{}: {} - {}" . format ( notify_type . upper (), title , body ))
# Returning True/False is a way to relay your status back to Apprise.
# Returning nothing (None by default) is always interpreted as a Success
После того, как вы определили свой собственный хук, вам просто нужно сообщить Appprise, где он находится во время выполнения.
# By default if no plugin path is specified apprise will attempt to load
# all plugin files (if present) from the following directory paths:
# ~/.apprise/plugins
# ~/.config/apprise/plugins
# /var/lib/apprise/plugins
# Windows users can store their default plugin files in these directories:
# %APPDATA%/Apprise/plugins
# %LOCALAPPDATA%/Apprise/plugins
# %ALLUSERSPROFILE%Appriseplugins
# %PROGRAMFILES%Appriseplugins
# %COMMONPROGRAMFILES%Appriseplugins
# If you placed your plugin file within one of the directories already defined
# above, then your call simply needs to look like:
apprise -vv --title ' custom override '
--body ' the body of my message '
foobar: \
# However you can over-ride the path like so
apprise -vv --title ' custom override '
--body ' the body of my message '
--plugin-path /path/to/my/plugin.py
foobar: \
Подробнее о создании собственных уведомлений и/или перехватчиков можно прочитать здесь.
Те, кто использует интерфейс командной строки (CLI), также могут использовать переменные среды для предварительной установки настроек по умолчанию:
Переменная | Описание |
---|---|
APPRISE_URLS | Укажите URL-адреса по умолчанию для уведомления, ЕСЛИ в командной строке явно не указано иное. Если указан параметр --config ( -c ), он переопределит любую ссылку на эту переменную. Используйте пробел и/или запятую ( , ) для разделения нескольких записей. |
APPRISE_CONFIG_PATH | Явно укажите используемый путь поиска конфигурации (переопределяя путь по умолчанию). Определенные здесь пути должны указывать на абсолютное имя файла, который нужно открыть/ссылаться. Используйте точку с запятой ( ; ), перевод строки ( n ) и/или возврат каретки ( r ) для разделения нескольких записей. |
APPRISE_PLUGIN_PATH | Явно укажите путь поиска пользовательского плагина (переопределяя путь по умолчанию). Используйте точку с запятой ( ; ), перевод строки ( n ) и/или возврат каретки ( r ) для разделения нескольких записей. |
APPRISE_STORAGE_PATH | Явно укажите используемый путь к постоянному хранилищу (переопределяя значение по умолчанию). |
Чтобы отправить уведомление из вашего приложения Python, просто сделайте следующее:
import apprise
# Create an Apprise instance
apobj = apprise . Apprise ()
# Add all of the notification services by their server url.
# A sample email notification:
apobj . add ( 'mailto://myuserid:[email protected]' )
# A sample pushbullet notification
apobj . add ( 'pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b' )
# Then notify these services any time you desire. The below would
# notify all of the services loaded into our Apprise object.
apobj . notify (
body = 'what a great notification service!' ,
title = 'my notification title' ,
)
Разработчикам также необходим доступ к файлам конфигурации. Хорошей новостью является то, что их использование просто предполагает объявление другого объекта (называемого ApppriseConfig ), который может принимать объект Appprise . Вы также можете свободно смешивать и сопоставлять записи конфигурации и уведомлений так часто, как пожелаете! Подробнее об ожидаемой структуре файлов конфигурации можно прочитать здесь.
import apprise
# Create an Apprise instance
apobj = apprise . Apprise ()
# Create an Config instance
config = apprise . AppriseConfig ()
# Add a configuration source:
config . add ( '/path/to/my/config.yml' )
# Add another...
config . add ( 'https://myserver:8080/path/to/config' )
# Make sure to add our config into our apprise object
apobj . add ( config )
# You can mix and match; add an entry directly if you want too
# In this entry we associate the 'admin' tag with our notification
apobj . add ( 'mailto://myuser:[email protected]' , tag = 'admin' )
# Then notify these services any time you desire. The below would
# notify all of the services that have not been bound to any specific
# tag.
apobj . notify (
body = 'what a great notification service!' ,
title = 'my notification title' ,
)
# Tagging allows you to specifically target only specific notification
# services you've loaded:
apobj . notify (
body = 'send a notification to our admin group' ,
title = 'Attention Admins' ,
# notify any services tagged with the 'admin' tag
tag = 'admin' ,
)
# If you want to notify absolutely everything (regardless of whether
# it's been tagged or not), just use the reserved tag of 'all':
apobj . notify (
body = 'send a notification to our admin group' ,
title = 'Attention Admins' ,
# notify absolutely everything loaded, regardless on wether
# it has a tag associated with it or not:
tag = 'all' ,
)
Вложения очень легко отправлять с помощью Appprise API:
import apprise
# Create an Apprise instance
apobj = apprise . Apprise ()
# Add at least one service you want to notify
apobj . add ( 'mailto://myuser:[email protected]' )
# Then send your attachment.
apobj . notify (
title = 'A great photo of our family' ,
body = 'The flash caused Jane to close her eyes! hah! :)' ,
attach = '/local/path/to/my/DSC_003.jpg' ,
)
# Send a web based attachment too! In the below example, we connect to a home
# security camera and send a live image to an email. By default remote web
# content is cached, but for a security camera we might want to call notify
# again later in our code, so we want our last image retrieved to expire(in
# this case after 3 seconds).
apobj . notify (
title = 'Latest security image' ,
attach = 'http://admin:password@hikvision-cam01/ISAPI/Streaming/channels/101/picture?cache=3'
)
Чтобы отправить более одного вложения, просто используйте вместо этого список, набор или кортеж:
import apprise
# Create an Apprise instance
apobj = apprise . Apprise ()
# Add at least one service you want to notify
apobj . add ( 'mailto://myuser:[email protected]' )
# Now add all of the entries we're interested in:
attach = (
# ?name= allows us to rename the actual jpeg as found on the site
# to be another name when sent to our receipient(s)
'https://i.redd.it/my2t4d2fx0u31.jpg?name=FlyingToMars.jpg' ,
# Now add another:
'/path/to/funny/joke.gif' ,
)
# Send your multiple attachments with a single notify call:
apobj . notify (
title = 'Some good jokes.' ,
body = 'Hey guys, check out these!' ,
attach = attach ,
)
По умолчанию никакие пользовательские плагины не загружаются вообще для тех, кто создает их из Appprise API. Загрузка пользовательских модулей остается на усмотрение разработчиков. Но если вы решите это сделать, это так же просто, как включить ссылку на путь в объект AppriseAsset()
перед инициализацией вашего экземпляра Apprise()
.
Например:
from apprise import Apprise
from apprise import AppriseAsset
# Prepare your Asset object so that you can enable the custom plugins to
# be loaded for your instance of Apprise...
asset = AppriseAsset ( plugin_paths = "/path/to/scan" )
# OR You can also generate scan more then one file too:
asset = AppriseAsset (
plugin_paths = [
# Iterate over all python libraries found in the root of the
# specified path. This is NOT a recursive (directory) scan; only
# the first level is parsed. HOWEVER, if a directory containing
# an __init__.py is found, it will be included in the load.
"/dir/containing/many/python/libraries" ,
# An absolute path to a plugin.py to exclusively load
"/path/to/plugin.py" ,
# if you point to a directory that has an __init__.py file found in
# it, then only that file is loaded (it's similar to point to a
# absolute .py file. Hence, there is no (level 1) scanning at all
# within the directory specified.
"/path/to/dir/library"
]
)
# Now that we've got our asset, we just work with our Apprise object as we
# normally do
aobj = Apprise ( asset = asset )
# If our new custom `foobar://` library was loaded (presuming we prepared
# one like in the examples above). then you would be able to safely add it
# into Apprise at this point
aobj . add ( 'foobar://' )
# Send our notification out through our foobar://
aobj . notify ( "test" )
Подробнее о создании собственных уведомлений и/или перехватчиков можно прочитать здесь.
Постоянное хранилище позволяет Appprise кэшировать повторяющиеся действия (при необходимости) на диск. Это может значительно снизить затраты на отправку уведомления.
Существует 3 рабочих состояния постоянного хранилища. Приложение может работать с использованием:
auto
: Сбрасывать собранную информацию из кэша в файловую систему по требованию. Этот вариант невероятно легкий. Это поведение по умолчанию для всех случаев использования CLI.flush
: Сбрасывает любую информацию из кэша в файловую систему во время каждой транзакции.memory
: эффективно отключить постоянное хранилище. Любое кэширование данных, необходимое для каждого используемого плагина, выполняется в памяти. Appprise эффективно работает так же, как и всегда, до того, как было доступно постоянное хранилище. Этот параметр гарантирует, что содержимое не будет записываться на диск каждый раз.auto
или flush
. Это делается с помощью объекта AppriseAsset()
и объясняется далее в этой документации. Вы можете предоставить storage
ключевых слов при вызове CLI, чтобы увидеть доступные вам варианты постоянного хранения.
# List all of the occupied space used by Apprise's Persistent Storage:
apprise storage list
# list is the default option, so the following does the same thing:
apprise storage
# You can prune all of your storage older then 30 days
# and not accessed for this period like so:
apprise storage prune
# You can do a hard reset (and wipe all persistent storage) with:
apprise storage clean
Вы также можете фильтровать результаты, добавляя теги и/или идентификаторы URL. Когда вы получите список ( apprise storage list
), вы можете увидеть:
# example output of 'apprise storage list':
1. f7077a65 0.00B unused
- matrixs://abcdef:****@synapse.example12.com/%23general?image=no&mode=off&version=3&msgtype...
tags: team
2. 0e873a46 81.10B active
- tgram://W...U//?image=False&detect=yes&silent=no&preview=no&content=before&mdv=v1&format=m...
tags: personal
3. abcd123 12.00B stale
Состояния кэша (постоянного хранения):
unused
: этот плагин ничего не зафиксировал на диске для повторного использования/кэширования.active
: этот плагин записал контент на диск. Или, по крайней мере, он подготовил постоянное место хранения, в которое он может записывать.stale
: система обнаружила место, куда URL-адрес мог быть записан в прошлом, но нет никаких ссылок на него с использованием предоставленных URL-адресов. Вероятно, он тратит место или больше не используется.Вы можете использовать эту информацию для фильтрации результатов, указав значения URL-адреса (UID) после команды. Например:
# The below commands continue with the example already identified above
# the following would match abcd123 (even though just ab was provided)
# The output would only list the 'stale' entry above
apprise storage list ab
# knowing our filter is safe, we could remove it
# the below command would not obstruct our other to URLs and would only
# remove our stale one:
apprise storage clean ab
# Entries can be filtered by tag as well:
apprise storage list --tag=team
# You can match on multiple URL ID's as well:
# The followin would actually match the URL ID's of 1. and .2 above
apprise storage list f 0
При использовании CLI для постоянного хранилища по умолчанию устанавливается auto
режим работы. Вы можете изменить это, указав --storage-mode=
( -SM
) во время вызовов. Если вы хотите, чтобы для него всегда было установлено значение по вашему выбору.
Для получения дополнительной информации о постоянном хранилище посетите здесь.
Для разработчиков постоянное хранилище установлено в рабочем режиме memory
по умолчанию.
Разработчик может включить его (переключив его на auto
или flush
). Если вы решите это сделать: это так же просто, как включить информацию в объект AppriseAsset()
до инициализации вашего экземпляра Apprise()
.
Например:
from apprise import Apprise
from apprise import AppriseAsset
from apprise import PersistentStoreMode
# Prepare a location the persistent storage can write it's cached content to.
# By setting this path, this immediately assumes you wish to operate the
# persistent storage in the operational 'auto' mode
asset = AppriseAsset ( storage_path = "/path/to/save/data" )
# If you want to be more explicit and set more options, then you may do the
# following
asset = AppriseAsset (
# Set our storage path directory (minimum requirement to enable it)
storage_path = "/path/to/save/data" ,
# Set the mode... the options are:
# 1. PersistentStoreMode.MEMORY
# - disable persistent storage from writing to disk
# 2. PersistentStoreMode.AUTO
# - write to disk on demand
# 3. PersistentStoreMode.FLUSH
# - write to disk always and often
storage_mode = PersistentStoreMode . FLUSH
# The URL IDs are by default 8 characters in length. You can increase and
# decrease it's value here. The value must be > 2. The default value is 8
# if not otherwise specified
storage_idlen = 8 ,
)
# Now that we've got our asset, we just work with our Apprise object as we
# normally do
aobj = Apprise ( asset = asset )
Для получения дополнительной информации о постоянном хранилище посетите здесь.
Если вам интересно узнать больше об этом и других методах настройки собственных уведомлений, перейдите по следующим ссылкам:
Хотите помочь сделать Apprite лучше?