該部分標識了該庫支援的所有服務。請查看 wiki,以了解有關支援模組的更多資訊。
下表列出了該工具支援的服務以及您需要使用的一些範例服務 URL 才能利用它。點擊下面列出的任何服務,以獲取有關如何配置愛普瑞斯以存取它們的更多詳細資訊。
通知服務 | 服務編號 | 預設連接埠 | 範例語法 |
---|---|---|---|
愛普瑞斯API | 通知:// 或通知:// | (TCP)80 或 443 | apprise://主機名稱/令牌 |
AWSSES | 會話:// | (TCP)443 | ses://用戶@網域/AccessKeyID/AccessSecretKey/RegionName ses://用戶@網域/AccessKeyID/AccessSecretKey/RegionName/email1/email2/emailN |
吠 | 吠:// | (TCP)80 或 443 | 樹皮://主機名 bark://主機名稱/裝置金鑰 bark://主機名稱/device_key1/device_key2/device_keyN barks://主機名 barks://主機名稱/裝置金鑰 barks://主機名稱/device_key1/device_key2/device_keyN |
頌揚 | 吟誦:// | (TCP)443 | chantify://token |
不和諧 | 不和諧:// | (TCP)443 | 不和諧://webhook_id/webhook_token Discord://avatar@webhook_id/webhook_token |
恩比 | emby:// 或 embys:// | (TCP)8096 | emby://用戶@主機名稱/ emby://使用者名稱:密碼@主機名 |
謎2 | enigma2:// 或 enigma2s:// | (TCP)80 或 443 | enigma2://主機名 |
流式細胞儀 | fcm:// | (TCP)443 | fcm://project@apikey/DEVICE_ID fcm://project@apikey/#TOPIC fcm://project@apikey/DEVICE_ID1/#topic1/#topic2/DEVICE_ID2/ |
飛書 | 飛書:// | (TCP)443 | 飛書://token |
群 | 群:// | (TCP)443 | 羊群://令牌 羊群://機器人名稱@token 羊群://app_token/u:用戶ID 羊群://app_token/g:channel_id 羊群://app_token/u:用戶id/g:channel_id |
谷歌聊天 | 聊天室:// | (TCP)443 | gchat://工作空間/金鑰/令牌 |
戈蒂菲 | gotify:// 或gotifys:// | (TCP)80 或 443 | gotify://主機名稱/令牌 gotifys://主機名稱/令牌? |
咆哮 | 咆哮:// | (UDP)23053 | 咆哮://主機名 咆哮://主機名稱:連接埠號 咆哮://密碼@主機名 咆哮://密碼@主機名稱:端口 注意:您也可以使用 get 參數版本,該版本允許咆哮請求使用較舊的 v1.x 協定進行操作。例如:growl://hostname?version=1 |
行會 | 公會:// | (TCP)443 | guilded://webhook_id/webhook_token guilded://avatar@webhook_id/webhook_token |
家庭助理 | hassio:// 或 hassios:// | (TCP)8123 或 443 | hassio://主機名稱/accesstoken hassio://用戶@主機名稱/accesstoken hassio://用戶:密碼@主機名稱:連接埠/accesstoken hassio://主機名稱/可選/路徑/accesstoken |
IFTT | ifttt:// | (TCP)443 | ifttt://webhooksID/事件 ifttt://webhooksID/Event1/Event2/EventN ifttt://webhooksID/Event1/?+Key=Value ifttt://webhooksID/Event1/?-Key=value1 |
加入 | 加入:// | (TCP)443 | 加入://apikey/設備 加入://apikey/device1/device2/deviceN/ 加入://apikey/群組 加入://apikey/groupA/groupB/groupN 加入://apikey/DeviceA/groupA/groupN/DeviceN/ |
科迪 | 科迪://或科迪斯:// | (TCP)8080 或 443 | kodi://主機名 kodi://用戶@主機名 kodi://用戶:密碼@主機名稱:端口 |
庫穆洛斯 | 庫穆洛斯:// | (TCP)443 | kumulos://apikey/serverkey |
公制時間 | 拉米克:// | (TCP)443 | lametric://apikey@device_ipaddr lametric://apikey@主機名稱:端口 lametric://client_id@client_secret |
線 | 線:// | (TCP)443 | 行://令牌@用戶 行://令牌/用戶1/用戶2/用戶N |
月海 | 月海:// | (TCP)80 或 443 | lunasea://用戶:pass@+FireBaseDevice/ lunasea://用戶:pass@FireBaseUser/ lunasea://用戶:pass@主機名稱/+FireBaseDevice/ lunasea://用戶:pass@主機名稱/@FireBaseUser/ |
郵件槍 | 郵件槍:// | (TCP)443 | mailgun://用戶@主機名稱/apikey mailgun://使用者@主機名稱/apikey/電子郵件 mailgun://用戶@主機名稱/apikey/email1/email2/emailN mailgun://user@hostname/apikey/?name="From%20User" |
乳齒象 | 乳齒象:// 或乳齒象:// | (TCP)80 或 443 | 乳齒象://access_key@主機名 乳齒象://access_key@主機名稱/@用戶 乳齒象://access_key@主機名稱/@user1/@user2/@userN |
矩陣 | 矩陣://或矩陣:// | (TCP)80 或 443 | 矩陣://主機名 矩陣://使用者@主機名 矩陣://用戶:pass@主機名稱:連接埠/#room_alias 矩陣://用戶:pass@主機名稱:連接埠/!room_id 矩陣://用戶:pass@主機名稱:連接埠/#room_alias/!room_id/#room2 矩陣://token@主機名稱:連接埠/?webhook=matrix 矩陣://用戶:token@主機名稱/?webhook=slack&format=markdown |
最重要的 | mmmost:// 或 mmmosts:// | (TCP)8065 | mmost://主機名稱/authkey mmost://主機名稱:80/authkey mmmost://用戶@主機名稱:80/authkey mmost://主機名稱/authkey?channel=channel mmosts://主機名稱/authkey mmosts://用戶@主機名稱/authkey |
Microsoft Power 自動化/工作流程 (MSTeams) | 工作流程:// | (TCP)443 | 工作流程://工作流程ID/簽章/ |
微軟團隊 | 微軟團隊:// | (TCP)443 | msteams://TokenA/TokenB/TokenC/ |
米斯基 | misskey:// 或 misskeys:// | (TCP)80 或 443 | misskey://access_token@主機名 |
MQTT | mqtt:// 或 mqtts:// | (TCP) 1883 或 8883 | mqtt://主機名稱/主題 mqtt://用戶@主機名稱/主題 mqtts://用戶:pass@主機名稱:9883/topic |
下一個雲 | ncloud:// 或 nclouds:// | (TCP)80 或 443 | ncloud://adminuser:pass@host/用戶 nclouds://adminuser:pass@host/User1/User2/UserN |
下一個雲話 | nctalk:// 或 nctalks:// | (TCP)80 或 443 | nctalk://使用者:pass@主機/RoomId nctalks://用戶:pass@host/RoomId1/RoomId2/RoomIdN |
諾蒂卡 | 通知:// | (TCP)443 | 通知://令牌/ |
通知者 | 通知:// | (TCP)443 | notifiarr://apikey/#channel notifiarr://apikey/#channel1/#channel2/#channeln |
通知 | 通知:// | (TCP)443 | notifico://ProjectID/MessageHook/ |
NTFY | ntfy:// | (TCP)80 或 443 | ntfy://主題/ ntfys://主題/ |
辦公室365 | o365:// | (TCP)443 | o365://TenantID:AccountEmail/ClientID/ClientSecret o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail1/TargetEmail2/TargetEmailN |
單一訊號 | 一個訊號:// | (TCP)443 | onesignal://AppID@APIKey/PlayerID onesignal://TemplateID:AppID@APIKey/UserID onesignal://AppID@APIKey/#IncludeSegment onesignal://AppID@APIKey/信箱 |
奧普斯吉尼 | 操作精靈:// | (TCP)443 | opsgenie://APIKey opsgenie://APIKey/用戶ID opsgenie://APIKey/#團隊 opsgenie://APIKey/*時間表 opsgenie://APIKey/^升級 |
呼叫器任務 | 呼叫任務:// | (TCP)443 | pagerduty://IntegrationKey@ApiKey pagerduty://IntegrationKey@ApiKey/Source/Component |
呼叫樹 | 尋呼樹:// | (TCP)443 | pagertree://integration_id |
解析平台 | parsep:// 或 parseps:// | (TCP)80 或 443 | parsep://AppID:MasterKey@主機名 parseps://AppID:MasterKey@主機名 |
爆米花通知 | 爆米花:// | (TCP)443 | 爆米花://ApiKey/ToPhoneNo 爆米花://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ 爆米花://ApiKey/ToEmail 爆米花://ApiKey/ToEmail1/ToEmail2/ToEmailN/ 爆米花://ApiKey/ToPhoneNo1/ToEmail1/ToPhoneNoN/ToEmailN |
徘徊 | 徘徊:// | (TCP)443 | 徘徊://apikey 徘徊://apikey/providerkey |
推子彈 | pbul:// | (TCP)443 | pbul://訪問令牌 pbul://accesstoken/#channel pbul://accesstoken/A_DEVICE_ID pbul://accesstoken/[email protected] pbul://accesstoken/#channel/#channel2/[email protected]/DEVICE |
推射 | pjet:// 或 pjets:// | (TCP)80 或 443 | pjet://主機名稱/秘密 pjet://主機名稱:連接埠/秘密 pjets://secret@主機名稱/secret pjets://主機名稱:連接埠/秘密 |
推(Techulus) | 推:// | (TCP)443 | 推送://apikey/ |
推 | 推:// | (TCP)443 | 推送://appkey/appsecret/ 推://appkey/appsecret/#ChannelAlias 推://appkey/appsecret/#ChannelAlias1/#ChannelAlias2/#ChannelAliasN 推://appkey/appsecret/@UserPushedID 推://appkey/appsecret/@UserPushedID1/@UserPushedID2/@UserPushedIDN |
推我 | 推我:// | (TCP)443 | 推我://令牌/ |
推倒 | 貧困:// | (TCP)443 | pover://用戶@token pover://user@token/DEVICE pover://user@token/DEVICE1/DEVICE2/DEVICEN 注意:您必須同時指定您的 user_id 和 token |
推播安全 | psafer:// 或 psafers:// | (TCP)80 或 443 | psafer://私鑰 psafers://privatekey/DEVICE psafer://privatekey/DEVICE1/DEVICE2/DEVICEN |
愛出風頭 | 愛出風頭:// | (TCP)443 | 愛出風頭://apikey/DEVICE Pushy://apikey/DEVICE1/DEVICE2/DEVICEN Pushy://apikey/TOPIC Pushy://apikey/TOPIC1/TOPIC2/TOPICN |
推鹿 | Pushdeer:// 或 Pushdeers:// | (TCP)80 或 443 | Pushdeer://pushKey Pushdeer://主機名稱/pushKey Pushdeer://主機名稱:連接埠/pushKey |
紅迪網 | 紅迪網:// | (TCP)443 | reddit://用戶:密碼@app_id/app_secret/subreddit reddit://用戶:密碼@app_id/app_secret/sub1/sub2/subN |
反叛 | 反叛:// | (TCP)443 | 反抗://bottoken/ChannelID 反抗://bottoken/ChannelID1/ChannelID2/ChannelIDN |
火箭聊天 | 火箭:// 或火箭:// | (TCP)80 或 443 | Rocket://用戶:密碼@主機名稱/RoomID/頻道 Rockets://用戶:密碼@主機名稱:443/#Channel1/#Channel1/RoomID Rocket://用戶:密碼@主機名稱/#頻道 Rocket://webhook@主機名 Rockets://webhook@主機名稱/@User/#Channel |
系統日誌 | rsyslog:// | (UDP)514 | rsyslog://主機名 rsyslog://主機名稱/設施 |
里弗 | 里弗:// | (TCP)443 | ryver://組織/令牌 ryver://botname@Organization/Token |
發送網格 | 發送網格:// | (TCP)443 | sendgrid://APIToken:FromEmail/ sendgrid://APIToken:FromEmail/ToEmail sendgrid://APIToken:FromEmail/ToEmail1/ToEmail2/ToEmailN/ |
伺服器通道 | 尚:// | (TCP)443 | schan://發送金鑰/ |
訊號API | 信號:// 或信號:// | (TCP)80 或 443 | 訊號://主機名稱:連接埠/FromPhoneNo 訊號://主機名稱:連接埠/FromPhoneNo/ToPhoneNo 訊號://主機名稱:連接埠/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
簡單推播 | 噴:// | (TCP)443 | spush://apikey spush://salt:密碼@apikey spush://apikey?event=Apprise |
鬆弛 | 鬆弛:// | (TCP)443 | 鬆弛://TokenA/TokenB/TokenC/ slack://TokenA/TokenB/TokenC/Channel slack://botname@TokenA/TokenB/TokenC/Channel 鬆弛://用戶@TokenA/TokenB/TokenC/Channel1/Channel2/ChannelN |
SMTP2Go | smtp2go:// | (TCP)443 | smtp2go://用戶@主機名稱/apikey smtp2go://使用者@主機名稱/apikey/電子郵件 smtp2go://使用者@主機名稱/apikey/email1/email2/emailN smtp2go://user@主機名稱/apikey/?name="From%20User" |
星火郵報 | 火花郵報:// | (TCP)443 | Sparkpost://用戶@主機名稱/apikey Sparkpost://用戶@主機名稱/apikey/電子郵件 SparkPost://用戶@主機名稱/apikey/email1/email2/emailN sparkpost://user@hostname/apikey/?name="From%20User" |
史普朗克 | splunk:// 或 victorops:/ | (TCP)443 | splunk://route_key@apikey splunk://route_key@apikey/entity_id |
流實驗室 | strmlabs:// | (TCP)443 | strmlabs://AccessToken/ strmlabs://AccessToken/?name=姓名&identifier=identifier&金額=0¤cy=USD |
Synology 聊天 | Synology:// 或 Synology:// | (TCP)80 或 443 | Synology://主機名稱/令牌 Synology://主機名稱:連接埠/令牌 |
系統日誌 | 系統日誌:// | 不適用 | 系統日誌:// 系統日誌://設施 |
電報 | tgram:// | (TCP)443 | tgram://bottoken/ChatID tgram://bottoken/ChatID1/ChatID2/ChatIDN |
嘰嘰喳喳 | 嘰嘰喳喳:// | (TCP)443 | 推特://CKey/CSecret/AKey/ASecret 推特://用戶@CKey/CSecret/AKey/ASecret 推特://CKey/CSecret/AKey/ASecret/User1/User2/User2 推特://CKey/CSecret/AKey/ASecret?mode=tweet |
捻 | 捻:// | (TCP)443 | 扭曲://密碼:登入 扭曲://密碼:登入/#頻道 扭曲://密碼:登入/#team:頻道 扭曲://密碼:登入/#team:channel1/channel2/#team3:channel |
Webex 團隊(思科) | wxteams:// | (TCP)443 | wxteams://令牌 |
微康機器人 | 微康機器人:// | (TCP)443 | wecombot://BotKey |
Whatsapp:// | (TCP)443 | Whatsapp://AccessToken@FromPhoneID/ToPhoneNo Whatsapp://範本:AccessToken@FromPhoneID/ToPhoneNo | |
WxPusher | wxpusher:// | (TCP)443 | wxpusher://AppToken@UserID1/UserID2/UserIDN wxpusher://AppToken@Topic1/Topic2/Topic3 wxpusher://AppToken@UserID1/Topic1/ |
西安BMC | xbmc:// 或 xbmcs:// | (TCP)8080 或 443 | xbmc://主機名 xbmc://用戶@主機名 xbmc://用戶:密碼@主機名稱:端口 |
祖利普聊天 | 祖利普:// | (TCP)443 | zulip://botname@Organization/Token zulip://botname@Organization/Token/Stream zulip://botname@Organization/Token/Email |
通知服務 | 服務編號 | 預設連接埠 | 範例語法 |
---|---|---|---|
非洲人說話 | 談話:// | (TCP)443 | atalk://AppUser@ApiKey/ToPhoneNo atalk://AppUser@ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
自動資料包報告系統 (ARPS) | aprs:// | (TCP)10152 | aprs://用戶:pass@callsign aprs://使用者:pass@callsign1/callsign2/callsignN |
AWS社群網路服務 | sns:// | (TCP)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 |
群發簡訊 | 大量簡訊:// | (TCP)443 | bulksms://用戶名:密碼@ToPhoneNo bulksms://用戶:密碼@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
散裝VS | 批量vs:// | (TCP)443 | 批次vs://用戶:密碼@FromPhoneNo bulkvs://用戶:密碼@FromPhoneNo/ToPhoneNo bulkvs://用戶:密碼@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
突發簡訊 | 突發簡訊:// | (TCP)443 | burstsms://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo burstsms://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
點擊發送 | 點擊發送:// | (TCP)443 | clicksend://用戶:pass@電話號碼 clicksend://用戶:pass@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
達普網 | 達普網:// | (TCP)80 | dapnet://使用者:pass@callsign dapnet://使用者:pass@callsign1/callsign2/callsignN |
D7網絡 | d7sms:// | (TCP)443 | d7sms://token@電話號碼 d7sms://token@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
釘釘 | 釘釘:// | (TCP)443 | 釘釘://token/ dingtalk://token/ToPhoneNo dingtalk://token/ToPhoneNo1/ToPhoneNo2/ToPhoneNo1/ |
免費移動 | 免費手機:// | (TCP)443 | 免費手機://用戶@密碼/ |
http簡訊 | https:// | (TCP)443 | httpsms://ApiKey@FromPhoneNo httpsms://ApiKey@FromPhoneNo/ToPhoneNo httpsms://ApiKey@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
卡韋內加爾 | 卡文內加爾:// | (TCP)443 | 卡文尼加://ApiKey/ToPhoneNo 卡文尼加://FromPhoneNo@ApiKey/ToPhoneNo 卡文尼加://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
消息鳥 | 消息鳥:// | (TCP)443 | msgbird://ApiKey/FromPhoneNo msgbird://ApiKey/FromPhoneNo/ToPhoneNo msgbird://ApiKey/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
味精91 | 訊息91:// | (TCP)443 | msg91://TemplateID@AuthKey/ToPhoneNo msg91://TemplateID@AuthKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
普利沃 | 普利沃:// | (TCP)443 | plivo://AuthID@Token@FromPhoneNo plivo://AuthID@Token/FromPhoneNo/ToPhoneNo plivo://AuthID@Token/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
七 | 七:// | (TCP)443 | 七://ApiKey/FromPhoneNo 七://ApiKey/FromPhoneNo/ToPhoneNo 七://ApiKey/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
法國無線電公司 (SFR) | sfr:// | (TCP)443 | sfr://使用者:密碼>@spaceId/ToPhoneNo sfr://使用者:密碼>@spaceId/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
訊號API | 信號:// 或信號:// | (TCP)80 或 443 | 訊號://主機名稱:連接埠/FromPhoneNo 訊號://主機名稱:連接埠/FromPhoneNo/ToPhoneNo 訊號://主機名稱:連接埠/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
辛奇 | 辛奇:// | (TCP)443 | sinch://ServicePlanId:ApiToken@FromPhoneNo sinch://ServicePlanId:ApiToken@FromPhoneNo/ToPhoneNo sinch://ServicePlanId:ApiToken@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ sinch://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/ |
簡訊管理器 | 簡訊管理器:// | (TCP)443 | smsmgr://ApiKey@ToPhoneNo smsmgr://ApiKey@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
三馬網關 | 三馬:// | (TCP)443 | Threema://GatewayID@secret/ToPhoneNo Threema://GatewayID@secret/ToEmail Threema://GatewayID@secret/ToThreemaID/ Threema://GatewayID@secret/ToEmail/ToThreemaID/ToPhoneNo/... |
特威利奧 | twilio:// | (TCP)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:// | (TCP)443 | voipms://密碼:電子郵件/FromPhoneNo voipms://密碼:電子郵件/FromPhoneNo/ToPhoneNo voipms://密碼:電子郵件/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Vonage(以前稱為 Nexmo) | 內克斯莫:// | (TCP)443 | nexmo://ApiKey:ApiSecret@FromPhoneNo nexmo://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo nexmo://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
通知服務 | 服務編號 | 預設連接埠 | 範例語法 |
---|---|---|---|
Linux DBus 通知 | dbus:// qt:// 油嘴滑舌:// kde:// | 不適用 | dbus:// qt:// 油嘴滑舌:// kde:// |
Linux Gnome 通知 | 侏儒:// | 不適用 | 侏儒:// |
MacOS X 通知 | macOS:// | 不適用 | macOS:// |
Windows 通知 | 視窗:// | 不適用 | 視窗:// |
服務編號 | 預設連接埠 | 範例語法 |
---|---|---|
郵寄地址:// | (TCP)25 | mailto://userid:[email protected] mailto://domain.com?user=使用者 ID&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 |
郵寄地址:// | (TCP)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 |
Apprise 內建了一些電子郵件服務(例如 yahoo、fastmail、hotmail、gmail 等),大大簡化了 mailto:// 服務。請在此處查看更多詳細資訊。
郵寄法 | 服務編號 | 預設連接埠 | 範例語法 |
---|---|---|---|
形式 | 表格://或表格:// | (TCP)80 或 443 | 形式://主機名 形式://用戶@主機名 形式://用戶:密碼@主機名稱:端口 形式://主機名稱/a/path/to/post/to |
JSON | json:// 或 jsons:// | (TCP)80 或 443 | json://主機名 json://用戶@主機名 json://用戶:密碼@主機名稱:端口 json://主機名稱/a/path/to/post/to |
XML | xml:// 或 xmls:// | (TCP)80 或 443 | xml://主機名 xml://使用者@主機名 xml://用戶:密碼@主機名稱:端口 xml://主機名稱/a/path/to/post/to |
最簡單的方法是從 pypi 安裝這個套件:
pip install apprise
Apprise 也打包為 RPM,並透過支援 CentOS、Redhat、Rocky、Oracle Linux 等的 EPEL 提供。
# 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
您也可以查看 Apprise 的圖形版本,透過可管理的網頁集中您的設定和通知。
該軟體包還提供了一個名為apprise的小型命令列介面 (CLI) 工具。如果您知道要通知的伺服器 URL,則只需在命令列上提供所有這些 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 '
沒有人願意將自己的憑證公開給所有人在命令列上查看。沒問題, apprise還支援設定檔。它可以處理特定的 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
Apprise 也支援文件附件!根據需要指定通知的任意數量的附件。
# 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
一旦定義了自訂掛鉤,您只需在運行時告訴 Apprise 它在哪裡。
# 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' ,
)
開發人員還需要存取設定檔。好消息是它們的使用只涉及聲明Apprise物件可以攝取的另一個物件(稱為AppriseConfig )。您還可以根據需要隨意混合和匹配配置和通知條目!您可以在此處閱讀有關配置文件的預期結構的更多資訊。
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' ,
)
使用 Apprise 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 ,
)
預設情況下,對於那些從 Apprise API 中建立的插件,根本不會載入任何自訂插件。載入自訂模組由開發人員自行決定。但如果您選擇這樣做,只需在初始化Apprise()
實例之前將路徑參考包含在AppriseAsset()
物件中即可。
例如:
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" )
您可以在此處閱讀有關建立自己的自訂通知和/或掛鉤的更多資訊。
持久性儲存允許 Apprise 將重複發生的操作快取到磁碟(可選)。這可以大大減少用於發送通知的開銷。
Apprise 可以使用 3 種持久性儲存操作狀態進行操作:
auto
:按需將收集的快取資訊刷新到檔案系統。這個選項的重量非常輕。這是所有 CLI 使用的預設行為。flush
:在每個交易期間將所有快取資訊刷新到檔案系統。memory
:有效停用持久性儲存。每個使用的插件所需的任何資料快取都是在記憶體中完成的。 Apprise 像在持久性儲存可用之前一樣有效地運作。此設定可確保不會將所有內容寫入磁碟。auto
或flush
運行。這是透過AppriseAsset()
物件完成的,並在本文檔中進一步解釋。 您可以在 CLI 呼叫中提供關鍵字storage
以查看可用的持久性儲存選項。
# 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 ID (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
)。如果您選擇這樣做:就像在初始化Apprise()
實例之前將資訊包含在AppriseAsset()
物件中一樣簡單。
例如:
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 )
有關持久存儲的更多信息,請訪問此處。
如果您有興趣閱讀有關此方法以及其他有關如何自訂自己的通知的方法的更多信息,請查看以下連結:
想要幫助愛普瑞斯變得更好嗎?