Bagian ini mengidentifikasi semua layanan yang didukung oleh perpustakaan ini. Lihat wiki untuk informasi lebih lanjut tentang modul yang didukung di sini.
Tabel di bawah ini mengidentifikasi layanan yang didukung alat ini dan beberapa contoh url layanan yang perlu Anda gunakan untuk memanfaatkannya. Klik salah satu layanan yang tercantum di bawah ini untuk mendapatkan detail lebih lanjut tentang bagaimana Anda dapat mengonfigurasi Apprise untuk mengaksesnya.
Layanan Pemberitahuan | ID Layanan | Pelabuhan Bawaan | Contoh Sintaks |
---|---|---|---|
Beritahu API | memberitahukan:// atau memberitahukan:// | (TCP) 80 atau 443 | memberitahukan://namahost/Token |
AWS SES | ses: // | (TCP) 443 | ses://pengguna@domain/AccessKeyID/AccessSecretKey/RegionName ses://pengguna@domain/AccessKeyID/AccessSecretKey/RegionName/email1/email2/emailN |
Kulit pohon | kulit pohon:// | (TCP) 80 atau 443 | kulit://namahost kulit://namahost/device_key kulit://namahost/device_key1/device_key2/device_keyN gonggongan://namahost menggonggong://namahost/device_key menggonggong://namahost/device_key1/device_key2/device_keyN |
Nyanyikan | nyanyian: // | (TCP) 443 | nyanyian://token |
Perselisihan | perselisihan:// | (TCP) 443 | perselisihan://webhook_id/webhook_token perselisihan://avatar@webhook_id/webhook_token |
Emby | emby:// atau emby:// | (TCP) 8096 | emby://pengguna@namahost/ emby://pengguna:kata sandi@namahost |
teka-teki2 | teka-teki2:// atau teka-teki2s:// | (TCP) 80 atau 443 | teka-teki2://namahost |
FCM | fcm: // | (TCP) 443 | fcm://project@apikey/DEVICE_ID fcm://project@apikey/#TOPIC fcm://project@apikey/DEVICE_ID1/#topic1/#topic2/DEVICE_ID2/ |
Feishu | feishu: // | (TCP) 443 | feishu://token |
Kawanan | kawanan:// | (TCP) 443 | kawanan://token kawanan://botname@token kawanan://app_token/u:userid kawanan://app_token/g:channel_id kawanan://app_token/u:userid/g:channel_id |
Google Obrolan | obrolan:// | (TCP) 443 | gchat://workspace/key/token |
Gotifikasi | gotify:// atau gotify:// | (TCP) 80 atau 443 | gotify://namahost/token gotifys://namahost/token?prioritas=tinggi |
Menggeram | menggeram:// | (UDP) 23053 | menggeram://nama host menggeram://namahost:portno geram: // kata sandi @ nama host geram://kata sandi@namahost:port Catatan : Anda juga dapat menggunakan versi parameter get yang memungkinkan permintaan Growl berperilaku menggunakan protokol v1.x yang lebih lama. Contohnya akan terlihat seperti: Growl://hostname?version=1 |
bersekutu | bersekutu:// | (TCP) 443 | serikat://webhook_id/webhook_token serikat://avatar@webhook_id/webhook_token |
Asisten Rumah | hassio:// atau hassios:// | (TCP) 8123 atau 443 | hassio://namahost/accesstoken hassio://pengguna@namahost/accesstoken hassio://pengguna:kata sandi@namahost:port/accesstoken hassio://namahost/opsional/jalur/accesstoken |
IFTTT | ifttt:// | (TCP) 443 | ifttt://webhooksID/Event ifttt://webhooksID/Event1/Event2/EventN ifttt://webhooksID/Event1/?+Key=Nilai ifttt://webhooksID/Event1/?-Key=value1 |
Bergabung | bergabung:// | (TCP) 443 | bergabung://apikey/device bergabunglah://apikey/device1/device2/deviceN/ gabung://apikey/group gabung://apikey/groupA/groupB/groupN gabung://apikey/DeviceA/groupA/groupN/DeviceN/ |
KODI | kodi:// atau kodi:// | (TCP) 8080 atau 443 | kodi://namahost kodi://pengguna@namahost kodi://pengguna:kata sandi@namahost:port |
Kumulos | kumulos:// | (TCP) 443 | kumulos://apikey/serverkey |
Waktu LaMetrik | lametrik: // | (TCP) 443 | lametrik://apikey@device_ipaddr lametrik://apikey@namahost:port lametrik://client_id@client_secret |
Garis | garis:// | (TCP) 443 | baris://Token@Pengguna baris://Token/User1/User2/UserN |
LunaLaut | Lunasea: // | (TCP) 80 atau 443 | lunasea://pengguna:pass@+FireBaseDevice/ lunasea://pengguna:pass@FireBaseUser/ lunasea://pengguna:pass@hostname/+FireBaseDevice/ lunasea://pengguna:pass@hostname/@FireBaseUser/ |
pistol surat | pistol surat:// | (TCP) 443 | mailgun://pengguna@namahost/apikey mailgun://pengguna@namahost/apikey/email mailgun://pengguna@namahost/apikey/email1/email2/emailN mailgun://user@hostname/apikey/?name="Dari%20Pengguna" |
mastodon | mastodon:// atau mastodon:// | (TCP) 80 atau 443 | mastodon://access_key@namahost mastodon://access_key@namahost/@pengguna mastodon://access_key@hostname/@user1/@user2/@userN |
Matriks | matriks:// atau matriks:// | (TCP) 80 atau 443 | matriks://nama host matriks://pengguna@namahost matriks://pengguna:pass@namahost:port/#room_alias matriks://pengguna:pass@namahost:port/!room_id matriks://pengguna:pass@namahost:port/#room_alias/!room_id/#room2 matriks://token@namahost:port/?webhook=matriks matriks://pengguna:token@namahost/?webhook=slack&format=penurunan harga |
Yang paling penting | paling banyak:// atau paling banyak:// | (TCP) 8065 | mmest://namahost/authkey mmest://namahost:80/authkey mmest://pengguna@namahost:80/authkey mmest://namahost/authkey?saluran=saluran mmests://namahost/authkey mmests://pengguna@namahost/authkey |
Microsoft Power Automate / Alur Kerja (MSTeams) | alur kerja:// | (TCP) 443 | alur kerja://WorkflowID/Signature/ |
Tim Microsoft | msteam:// | (TCP) 443 | msteams://TokenA/TokenB/TokenC/ |
Kunci salah | salah kunci:// atau salah kunci:// | (TCP) 80 atau 443 | kunci salah://access_token@nama host |
MQTT | mqtt:// atau mqtts:// | (TCP) 1883 atau 8883 | mqtt://namahost/topik mqtt://pengguna@namahost/topik mqtts://pengguna:pass@namahost:9883/topic |
awan berikutnya | ncloud:// atau ncloud:// | (TCP) 80 atau 443 | ncloud://adminuser:pass@host/Pengguna nclouds://adminuser:pass@host/User1/User2/UserN |
BerikutnyacloudTalk | nctalk:// atau nctalk:// | (TCP) 80 atau 443 | nctalk://pengguna:pass@host/RoomId nctalks://pengguna:pass@host/RoomId1/RoomId2/RoomIdN |
Pemberitahuan | pemberitahuan:// | (TCP) 443 | pemberitahuan://Token/ |
Pemberitahuan | pemberitahuan: // | (TCP) 443 | pemberitahuan://apikey/#channel pemberitahuan://apikey/#channel1/#channel2/#channeln |
Pemberitahuan | pemberitahuan:// | (TCP) 443 | pemberitahuan://ProjectID/MessageHook/ |
ntfy | tidak tahu:// | (TCP) 80 atau 443 | tidak tahu://topik/ ntfys://topik/ |
Kantor 365 | o365:// | (TCP) 443 | o365://TenantID:AccountEmail/ClientID/ClientSecret o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail1/TargetEmail2/TargetEmailN |
Satu Sinyal | satu sinyal: // | (TCP) 443 | onesignal://AppID@APIKey/PlayerID onesignal://TemplateID:AppID@APIKey/UserID onesignal://AppID@APIKey/#IncludeSegment onesignal://AppID@APIKey/Email |
Opsgenie | opsgenie: // | (TCP) 443 | opsgenie://APIKey opsgenie://APIKey/UserID opsgenie://APIKey/#Team opsgenie://APIKey/*Jadwal opsgenie://APIKey/^Eskalasi |
Tugas Pager | tugas halaman:// | (TCP) 443 | pagerduty://IntegrationKey@ApiKey pagerduty://IntegrationKey@ApiKey/Sumber/Komponen |
Pohon Pager | pohon halaman:// | (TCP) 443 | pagertree://integration_id |
ParsePlatform | parsep:// atau parsep:// | (TCP) 80 atau 443 | parsep://AppID:MasterKey@Hostname parseps://AppID:MasterKey@Hostname |
PopcornBeritahu | popcorn: // | (TCP) 443 | popcorn://ApiKey/ToPhoneNo popcorn://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ popcorn://ApiKey/ToEmail popcorn://ApiKey/ToEmail1/ToEmail2/ToEmailN/ popcorn://ApiKey/ToPhoneNo1/ToEmail1/ToPhoneNoN/ToEmailN |
Berkeliaran mencari mangsa | berkeliaran mencari mangsa:// | (TCP) 443 | mencari mangsa://apikey mencari mangsa://apikey/providerkey |
Dorong Peluru | hal:// | (TCP) 443 | pbul://accesstoken pbul://accesstoken/#channel pbul://accesstoken/A_DEVICE_ID pbul://accesstoken/[email protected] pbul://accesstoken/#channel/#channel2/[email protected]/DEVICE |
jet dorong | pjet:// atau pjets:// | (TCP) 80 atau 443 | pjet://namahost/rahasia pjet://namahost:port/rahasia pjets://rahasia@namahost/rahasia pjets://namahost:port/rahasia |
Dorong (Tekulus) | dorongan:// | (TCP) 443 | dorong://apikey/ |
Didorong | didorong: // | (TCP) 443 | didorong://appkey/appsecret/ didorong://appkey/appsecret/#ChannelAlias didorong://appkey/appsecret/#ChannelAlias1/#ChannelAlias2/#ChannelAliasN didorong://appkey/appsecret/@UserPushedID didorong://appkey/appsecret/@UserPushedID1/@UserPushedID2/@UserPushedIDN |
Dorong Saya | dorong saya:// | (TCP) 443 | dorong saya://Token/ |
penurut | kemiskinan: // | (TCP) 443 | pover://pengguna@token pover://pengguna@token/DEVICE pover://pengguna@token/DEVICE1/DEVICE2/DEVICEN Catatan : Anda harus menentukan user_id dan token Anda |
Dorong Lebih Aman | psafer:// atau psafer:// | (TCP) 80 atau 443 | psafer://privatekey psafers://privatekey/DEVICE psafer://privatekey/DEVICE1/DEVICE2/DEVICEN |
Ambisius | ambisius:// | (TCP) 443 | memaksa://apikey/DEVICE memaksa://apikey/DEVICE1/DEVICE2/DEVICEN memaksa://apikey/TOPIC memaksa://apikey/TOPIC1/TOPIC2/TOPICN |
Rusa Dorong | rusa dorong:// atau rusa dorong:// | (TCP) 80 atau 443 | rusa dorong://pushKey pushdeer://namahost/pushKey pushdeer://namahost:port/pushKey |
reddit: // | (TCP) 443 | reddit://pengguna:kata sandi@app_id/app_secret/subreddit reddit://pengguna:kata sandi@app_id/app_secret/sub1/sub2/subN | |
Memberontak | memberontak:// | (TCP) 443 | pemberontakan://bottoken/ChannelID pemberontakan://bottoken/ChannelID1/ChannelID2/ChannelIDN |
Roket.Obrolan | roket:// atau roket:// | (TCP) 80 atau 443 | roket://pengguna:kata sandi@namahost/IDKamar/Saluran roket://pengguna:kata sandi@namahost:443/#Channel1/#Channel1/RoomID roket://pengguna:kata sandi@namahost/#Saluran roket://webhook@namahost roket://webhook@hostname/@User/#Channel |
RSyslog | rsyslog:// | (UDP) 514 | rsyslog://namahost rsyslog://namahost/Fasilitas |
Ryver | sungai: // | (TCP) 443 | ryver://Organisasi/Token ryver://botname@Organization/Token |
KirimGrid | jaringan kirim:// | (TCP) 443 | sendgrid://APIToken:DariEmail/ sendgrid://APIToken:DariEmail/KeEmail sendgrid://APIToken:DariEmail/ToEmail1/ToEmail2/ToEmailN/ |
ServerChan | sekolah:// | (TCP) 443 | schan://sendkey/ |
API Sinyal | sinyal:// atau sinyal:// | (TCP) 80 atau 443 | sinyal://namahost:port/FromPhoneNo sinyal://namahost:port/FromPhoneNo/ToPhoneNo sinyal://namahost:port/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Dorongan Sederhana | dorong:// | (TCP) 443 | dorong://apikey spush://garam:kata sandi@apikey spush://apikey?event=Apprise |
Kendur | kendur:// | (TCP) 443 | kendur://TokenA/TokenB/TokenC/ kendur://TokenA/TokenB/TokenC/Channel kendur://botname@TokenA/TokenB/TokenC/Channel kendur://pengguna@TokenA/TokenB/TokenC/Channel1/Channel2/ChannelN |
SMTP2Pergi | smtp2go:// | (TCP) 443 | smtp2go://pengguna@namahost/apikey smtp2go://pengguna@namahost/apikey/email smtp2go://pengguna@namahost/apikey/email1/email2/emailN smtp2go://pengguna@namahost/apikey/?name="Dari%20Pengguna" |
SparkPost | pos percikan:// | (TCP) 443 | sparkpost://pengguna@namahost/apikey sparkpost://pengguna@namahost/apikey/email sparkpost://pengguna@namahost/apikey/email1/email2/emailN sparkpost://pengguna@namahost/apikey/?name="Dari%20Pengguna" |
Splunk | splunk:// atau victorops:/ | (TCP) 443 | splunk://route_key@apikey splunk://route_key@apikey/entity_id |
laboratorium aliran | strmlab: // | (TCP) 443 | strmlabs://AccessToken/ strmlabs://AccessToken/?name=nama&identifier=identifier&amount=0¤cy=USD |
Obrolan Sinologi | sinologi:// atau sinologi:// | (TCP) 80 atau 443 | sinologi://namahost/token sinologi://namahost:port/token |
log sistem | log sistem:// | tidak ada | log sistem:// syslog://Fasilitas |
Telegram | program:// | (TCP) 443 | tgram://bottoken/ChatID tgram://bottoken/ChatID1/ChatID2/ChatIDN |
twitter:// | (TCP) 443 | twitter://CKey/CSecret/AKey/ASecret twitter://pengguna@CKey/CSecret/AKey/ASecret twitter://CKey/CSecret/AKey/ASecret/User1/User2/User2 twitter://CKey/CSecret/AKey/ASecret?mode=tweet | |
Memutar | memutar:// | (TCP) 443 | twist://pasword:login twist://kata sandi:login/#saluran twist://kata sandi:login/#tim:saluran twist://password:login/#team:channel1/channel2/#team3:channel |
Tim Webex (Cisco) | tim wx:// | (TCP) 443 | timwx://Token |
Bot WeCom | kamicombot: // | (TCP) 443 | kamicombot://BotKey |
Ada apa | WhatsApp: // | (TCP) 443 | whatsapp://AccessToken@FromPhoneID/ToPhoneNo whatsapp://Template:AccessToken@FromPhoneID/ToPhoneNo |
WxPendorong | wxpusher: // | (TCP) 443 | wxpusher://AppToken@UserID1/UserID2/UserIDN wxpusher://AppToken@Topic1/Topic2/Topic3 wxpusher://AppToken@UserID1/Topik1/ |
XBMC | xbmc:// atau xbmc:// | (TCP) 8080 atau 443 | xbmc://namahost xbmc://pengguna@namahost xbmc://pengguna:kata sandi@namahost:port |
Obrolan Zulip | zulip: // | (TCP) 443 | zulip://botname@Organization/Token zulip://botname@Organization/Token/Stream zulip://botname@Organization/Token/Email |
Layanan Pemberitahuan | ID Layanan | Pelabuhan Bawaan | Contoh Sintaks |
---|---|---|---|
Pembicaraan Afrika | berbicara:// | (TCP) 443 | bicara://AppUser@ApiKey/ToPhoneNo bicara://AppUser@ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Sistem Pelaporan Paket Otomatis (ARPS) | April:// | (TCP) 10152 | aprs://pengguna:pass@callsign aprs://pengguna:pass@callsign1/callsign2/callsignN |
AWS SNS | sns: // | (TCP) 443 | sns://AccessKeyID/AccessSecretKey/NamaWilayah/+Nomor Telepon sns://AccessKeyID/AccessSecretKey/RegionName/+PhoneNo1/+PhoneNo2/+PhoneNoN sns://AccessKeyID/AccessSecretKey/Nama Wilayah/Topik sns://AccessKeyID/AccessSecretKey/RegionName/Topic1/Topic2/TopicN |
SMS Massal | bulksms:// | (TCP) 443 | bulksms://pengguna:kata sandi@ToPhoneNo bulksms://Pengguna:Kata Sandi@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
MassalVS | bulkvs:// | (TCP) 443 | bulkvs://pengguna:kata sandi@FromPhoneNo bulkvs://pengguna:kata sandi@FromPhoneNo/ToPhoneNo bulkvs://pengguna:kata sandi@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
SMS meledak | semburan pesan:// | (TCP) 443 | semburanms://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo semburanms://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
KlikKirim | klik kirim: // | (TCP) 443 | klik kirim://pengguna:pass@No Telepon klik kirim://pengguna:pass@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
DAPNET | dapnet: // | (TCP) 80 | dapnet://pengguna:pass@callsign dapnet://pengguna:pass@callsign1/callsign2/callsignN |
Jaringan D7 | d7sms: // | (TCP) 443 | d7sms://token@No Telepon d7sms://token@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
DingTalk | dingtalk:// | (TCP) 443 | dingtalk://token/ dingtalk://token/ToPhoneNo dingtalk://token/ToPhoneNo1/ToPhoneNo2/ToPhoneNo1/ |
Seluler Gratis | mobil gratis:// | (TCP) 443 | ponsel gratis://pengguna@kata sandi/ |
httpSMS | httpsms:// | (TCP) 443 | httpsms://ApiKey@FromPhoneNo https://ApiKey@FromPhoneNo/ToPhoneNo httpsms://ApiKey@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Kavenegar | kavenegar: // | (TCP) 443 | kavenegar://ApiKey/ToPhoneNo kavenegar://FromPhoneNo@ApiKey/ToPhoneNo kavenegar://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN |
PesanBurung | pesan burung: // | (TCP) 443 | pesan://ApiKey/FromPhoneNo pesan://ApiKey/FromPhoneNo/ToPhoneNo pesan://ApiKey/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
MSG91 | pesan91:// | (TCP) 443 | pesan91://TemplateID@AuthKey/ToPhoneNo pesan91://TemplateID@AuthKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Tolong | tolong:// | (TCP) 443 | silakan://AuthID@Token@FromPhoneNo silakan://AuthID@Token/FromPhoneNo/ToPhoneNo silakan://AuthID@Token/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Tujuh | tujuh: // | (TCP) 443 | tujuh://ApiKey/FromPhoneNo tujuh://ApiKey/FromPhoneNo/ToPhoneNo tujuh://ApiKey/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Société Française du Radiotéléphone (SFR) | sfr:// | (TCP) 443 | sfr://pengguna:kata sandi>@spaceId/ToPhoneNo sfr://pengguna:kata sandi>@spaceId/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
API Sinyal | sinyal:// atau sinyal:// | (TCP) 80 atau 443 | sinyal://namahost:port/FromPhoneNo sinyal://namahost:port/FromPhoneNo/ToPhoneNo sinyal://namahost:port/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Sinch | sedikit: // | (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 | smseagle:// atau smseagle:// | (TCP) 80 atau 443 | smseagles://namahost:port/ToPhoneNo smseagles://namahost:port/@ToContact smseagles://namahost:port/#ToGroup smseagles://namahost:port/ToPhoneNo1/#ToGroup/@ToContact/ |
Manajer SMS | smsmgr: // | (TCP) 443 | smsmgr://ApiKey@ToPhoneNo smsmgr://ApiKey@ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Gerbang Threema | tigama:// | (TCP) 443 | tiga: //GatewayID@secret/ToPhoneNo tiga: //GatewayID@secret/ToEmail threema://GatewayID@secret/ToThreemaID/ threema://GatewayID@secret/ToEmail/ToThreemaID/ToPhoneNo/... |
Twilio | dualio:// | (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/ |
Voipm | voipms: // | (TCP) 443 | voipms://kata sandi:email/FromPhoneNo voipms://kata sandi:email/FromPhoneNo/ToPhoneNo voipms://kata sandi:email/FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Vonage (sebelumnya Nexmo) | berikutnya: // | (TCP) 443 | berikutnya://ApiKey:ApiSecret@FromPhoneNo nexmo://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo nexmo://ApiKey:ApiSecret@FromPhoneNo/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/ |
Layanan Pemberitahuan | ID Layanan | Pelabuhan Bawaan | Contoh Sintaks |
---|---|---|---|
Pemberitahuan DBus Linux | dbus:// qt:// fasih:// kde:// | tidak ada | dbus:// qt:// fasih:// kde:// |
Pemberitahuan Gnome Linux | jembalang:// | tidak ada | jembalang:// |
Pemberitahuan MacOS X | macosx: // | tidak ada | macosx: // |
Pemberitahuan Windows | jendela: // | tidak ada | jendela: // |
ID Layanan | Pelabuhan Bawaan | Contoh Sintaks |
---|---|---|
surat ke:// | (TCP) 25 | mailto://userid:[email protected] mailto://domain.com?pengguna=userid&pass=kata sandi mailto://domain.com:2525?user=userid&pass=password mailto://[email protected]&pass=kata sandi mailto://mySendingUsername:[email protected][email protected] mailto://userid:[email protected]?smtp=mail.example.com&[email protected]&name=no%20reply |
mailtos: // | (TCP) 587 | mailtos://userid:[email protected] mailtos://domain.com?user=userid&pass=password mailtos://domain.com:465?user=userid&pass=password mailtos://[email protected]&pass=kata sandi mailtos://mySendingUsername:[email protected][email protected] mailtos://userid:[email protected]?smtp=mail.example.com&[email protected]&name=no%20reply |
Apprise memiliki beberapa layanan email yang terpasang di dalamnya (seperti yahoo, fastmail, hotmail, gmail, dll) yang sangat menyederhanakan layanan mailto://. Lihat detail lebih lanjut di sini.
Metode Posting | ID Layanan | Pelabuhan Bawaan | Contoh Sintaks |
---|---|---|---|
Membentuk | formulir:// atau formulir:// | (TCP) 80 atau 443 | formulir://namahost formulir://pengguna@namahost formulir://pengguna:kata sandi@namahost:port formulir://namahost/a/path/ke/post/ke |
JSON | json:// atau json:// | (TCP) 80 atau 443 | json://namahost json://pengguna@namahost json://pengguna:kata sandi@namahost:port json://namahost/a/path/ke/post/ke |
XML | xml:// atau xml:// | (TCP) 80 atau 443 | xml://namahost xml://pengguna@namahost xml://pengguna:kata sandi@namahost:port xml://namahost/a/path/ke/post/ke |
Cara termudah untuk menginstal paket ini adalah dari pypi:
pip install apprise
Apprise juga dikemas sebagai RPM dan tersedia melalui EPEL yang mendukung CentOS, Redhat, Rocky, Oracle Linux, dll.
# 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
Anda juga dapat memeriksa versi Grafis Apprise untuk memusatkan konfigurasi dan notifikasi Anda melalui halaman web yang dapat dikelola.
Alat antarmuka baris perintah (CLI) kecil juga disediakan dengan paket ini yang disebut apprise . Jika Anda mengetahui url server yang ingin Anda beri tahu, Anda cukup memberikan semuanya di baris perintah dan mengirimkan pemberitahuan Anda seperti itu:
# 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 '
Tidak seorang pun ingin menunjukkan kredensialnya agar semua orang dapat melihatnya di baris perintah. Tidak ada masalah, pemberitahuan juga mendukung file konfigurasi. Itu dapat menangani format YAML tertentu atau format TEKS yang sangat sederhana. Anda juga dapat menarik file konfigurasi ini melalui kueri HTTP juga! Anda dapat membaca lebih lanjut tentang struktur file konfigurasi yang diharapkan di sini.
# 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 juga mendukung lampiran file! Tentukan lampiran pemberitahuan sebanyak yang Anda inginkan.
# 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
Untuk membuat kait schema://
kustom Anda sendiri sehingga Anda dapat memicu kode kustom Anda sendiri, cukup sertakan dekorator @notify
untuk menggabungkan fungsi Anda.
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
Setelah Anda menentukan hook khusus, Anda hanya perlu memberi tahu Apprise di mana hook tersebut berada saat runtime.
# 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: \
Anda dapat membaca selengkapnya tentang membuat notifikasi dan/atau kaitan khusus Anda sendiri di sini.
Mereka yang menggunakan Command Line Interface (CLI) juga dapat memanfaatkan variabel lingkungan untuk mengatur pengaturan default terlebih dahulu:
Variabel | Keterangan |
---|---|
APPRISE_URLS | Tentukan URL default untuk memberi tahu JIKA tidak ada yang ditentukan secara eksplisit pada baris perintah. Jika --config ( -c ) ditentukan, maka ini akan menggantikan referensi apa pun ke variabel ini. Gunakan spasi dan/atau koma ( , ) untuk membatasi beberapa entri. |
APPRISE_CONFIG_PATH | Tentukan secara eksplisit jalur pencarian konfigurasi yang akan digunakan (menggantikan default). Jalur yang ditentukan di sini harus menunjuk ke nama file absolut yang akan dibuka/direferensikan. Gunakan titik koma ( ; ), pengumpan baris ( n ), dan/atau pengangkutan kembali ( r ) untuk membatasi beberapa entri. |
APPRISE_PLUGIN_PATH | Tentukan secara eksplisit jalur pencarian plugin khusus yang akan digunakan (menggantikan default). Gunakan titik koma ( ; ), pengumpan baris ( n ), dan/atau pengangkutan kembali ( r ) untuk membatasi beberapa entri. |
APPRISE_STORAGE_PATH | Tentukan secara eksplisit jalur penyimpanan persisten yang akan digunakan (menggantikan default). |
Untuk mengirim notifikasi dari dalam aplikasi python Anda, cukup lakukan hal berikut:
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' ,
)
Pengembang juga memerlukan akses ke file konfigurasi. Kabar baiknya adalah penggunaannya hanya melibatkan mendeklarasikan objek lain (disebut AppriseConfig ) yang dapat diserap oleh objek Apprise . Anda juga dapat dengan bebas mencampur dan mencocokkan entri konfigurasi dan notifikasi sesering yang Anda inginkan! Anda dapat membaca lebih lanjut tentang struktur file konfigurasi yang diharapkan di sini.
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' ,
)
Lampiran sangat mudah dikirim menggunakan 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'
)
Untuk mengirim lebih dari satu lampiran, cukup gunakan daftar, set, atau tupel saja:
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 ,
)
Secara default, tidak ada plugin khusus yang dimuat sama sekali untuk plugin yang dibuat dari dalam Apprise API. Merupakan kebijaksanaan pengembang untuk memuat modul khusus. Namun jika Anda memilih untuk melakukannya, itu semudah menyertakan referensi jalur di objek AppriseAsset()
sebelum inisialisasi instance Apprise()
Anda.
Misalnya:
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" )
Anda dapat membaca selengkapnya tentang membuat notifikasi dan/atau kaitan khusus Anda sendiri di sini.
Penyimpanan persisten memungkinkan Apprise menyimpan cache tindakan yang terjadi kembali secara opsional ke disk. Hal ini dapat sangat mengurangi biaya overhead yang digunakan untuk mengirim notifikasi.
Ada 3 status operasional Penyimpanan Persisten yang dapat dioperasikan oleh Apprise menggunakan:
auto
: Siram informasi cache yang dikumpulkan ke sistem file sesuai permintaan. Opsi ini sangat ringan. Ini adalah perilaku default untuk semua penggunaan CLI.flush
: Menghapus informasi cache apa pun ke sistem file selama setiap transaksi.memory
: Menonaktifkan Penyimpanan Persisten secara efektif. Setiap cache data yang diperlukan oleh setiap plugin yang digunakan dilakukan di memori. Apprise beroperasi secara efektif seperti biasanya sebelum penyimpanan peristen tersedia. Pengaturan ini memastikan tidak ada konten yang ditulis ke disk.auto
atau flush
. Hal ini dilakukan melalui objek AppriseAsset()
dan dijelaskan lebih lanjut dalam dokumentasi ini. Anda dapat menyediakan storage
kata kunci pada panggilan CLI Anda untuk melihat opsi penyimpanan persisten yang tersedia untuk Anda.
# 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
Anda juga dapat memfilter hasil Anda dengan menambahkan tag dan/atau Pengidentifikasi URL. Saat Anda mendapatkan listingan ( apprise storage list
), Anda mungkin melihat:
# 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
Status cache (penyimpanan persisten) adalah:
unused
: Plugin ini belum memasukkan apa pun ke disk untuk tujuan penggunaan kembali/cacheactive
: Plugin ini telah menulis konten ke disk. Atau paling tidak, ia telah menyiapkan lokasi penyimpanan persisten yang dapat digunakan untuk menulis.stale
: Sistem mendeteksi lokasi di mana URL mungkin pernah ditulis di masa lalu, namun tidak ada yang terhubung ke lokasi tersebut menggunakan URL yang disediakan. Kemungkinan besar hanya membuang-buang ruang atau tidak lagi berguna.Anda dapat menggunakan informasi ini untuk memfilter hasil dengan menentukan nilai ID URL (UID) setelah perintah Anda. Misalnya:
# 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
Saat menggunakan CLI, Penyimpanan persisten diatur ke mode operasional auto
secara default, Anda dapat mengubahnya dengan menyediakan --storage-mode=
( -SM
) selama panggilan Anda. Jika Anda ingin memastikannya selalu disetel ke nilai pilihan Anda.
Untuk informasi lebih lanjut tentang penyimpanan persisten, kunjungi di sini.
Untuk pengembang, penyimpanan persisten diatur dalam mode operasional memory
secara default.
Adalah kebijaksanaan pengembang untuk mengaktifkannya (dengan mengalihkannya ke auto
atau flush
). Jika Anda memilih untuk melakukannya: semudah memasukkan informasi dalam objek AppriseAsset()
sebelum inisialisasi instance Apprise()
Anda.
Misalnya:
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 )
Untuk informasi lebih lanjut tentang penyimpanan persisten, kunjungi di sini.
Jika Anda tertarik untuk membaca lebih lanjut tentang ini dan metode lain tentang cara menyesuaikan notifikasi Anda sendiri, silakan lihat tautan berikut:
Ingin membantu menjadikan Apprise lebih baik?