{"id":13627572,"url":"https://github.com/t0mer/cloudflared-mon","last_synced_at":"2025-10-18T15:41:46.523Z","repository":{"id":218946672,"uuid":"621032297","full_name":"t0mer/cloudflared-mon","owner":"t0mer","description":"Cloudflared-Mon is a python based Cloudflare Zero Tunnel monitoring. With Cloudflare you will be notified when tunnel health has changed.","archived":false,"fork":false,"pushed_at":"2025-01-27T00:13:35.000Z","size":24,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T00:54:14.442Z","etag":null,"topics":["apprise","bot","cloudflare","cloudflare-tunnel","cloudflared","docker","docker-compose","home-automation","python3","zero-trust"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t0mer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-29T21:22:45.000Z","updated_at":"2025-04-03T14:31:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"53fbaaeb-8bef-4984-9da0-267040c4c65e","html_url":"https://github.com/t0mer/cloudflared-mon","commit_stats":null,"previous_names":["t0mer/cloudflared-mon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/t0mer/cloudflared-mon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fcloudflared-mon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fcloudflared-mon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fcloudflared-mon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fcloudflared-mon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t0mer","download_url":"https://codeload.github.com/t0mer/cloudflared-mon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fcloudflared-mon/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262352621,"owners_count":23297689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apprise","bot","cloudflare","cloudflare-tunnel","cloudflared","docker","docker-compose","home-automation","python3","zero-trust"],"created_at":"2024-08-01T22:00:35.861Z","updated_at":"2025-10-18T15:41:46.433Z","avatar_url":"https://github.com/t0mer.png","language":"Python","funding_links":[],"categories":["Projects by main language"],"sub_categories":["python"],"readme":"# cloudflared-mon\nCloudflared-Mon is a python based Cloudflare Zero Tunnel monitoring. With Cloudflare you will be notified when tunnel health has changed.\n\n## Components and Frameworks used in cloudflared-mon:\n* [Loguru](https://pypi.org/project/loguru/) For logging.\n* [pyTelegramBotAPI](https://pypi.org/project/pyTelegramBotAPI/) For the Bot.\n* [schedule](https://pypi.org/project/schedule/) For scheduling route checks.\n\n## Installation\nBefore we can start working with Cloudflared-Mon, we need to create a new telegram bot. \n\n### Create Telegram bot\nHow to Create a New Bot for Telegram\nOpen [Telegram messenger](https://web.telegram.org/), sign in to your account or create a new one.\n\n Enter @Botfather in the search tab and choose this bot (Official Telegram bots have a blue checkmark beside their name.)\n\n[![@Botfather](https://github.com/t0mer/voicy/blob/main/screenshots/scr1-min.png?raw=true \"@Botfather\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr1-min.png?raw=true \"@Botfather\")\n\nClick “Start” to activate BotFather bot.\n\n[![@start](https://github.com/t0mer/voicy/blob/main/screenshots/scr2-min.png?raw=true \"@start\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr1-min.png?raw=true \"@start\")\n\nIn response, you receive a list of commands to manage bots.\nChoose or type the /newbot command and send it.\n\n[![@newbot](https://github.com/t0mer/voicy/blob/main/screenshots/scr3-min.png?raw=true \"@newbot\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr3-min.png?raw=true \"@newbot\")\n\n\nChoose a name for your bot — your subscribers will see it in the conversation. And choose a username for your bot — the bot can be found by its username in searches. The username must be unique and end with the word “bot.”\n\n[![@username](https://github.com/t0mer/voicy/blob/main/screenshots/scr4-min.png?raw=true \"@username\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr4-min.png?raw=true \"@username\")\n\n\nAfter you choose a suitable name for your bot — the bot is created. You will receive a message with a link to your bot t.me/\u003cbot_username\u003e, recommendations to set up a profile picture, description, and a list of commands to manage your new bot.\n\n[![@bot_username](https://github.com/t0mer/voicy/blob/main/screenshots/scr5-min.png?raw=true \"@bot_username\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr5-min.png?raw=true \"@bot_username\")\n\n\n\n### Docker\n\nCloudflared-Mon is a docker based application that can be installed using docker compose:\n```\nversion: \"3.7\"\nservices:\n  cloudflared-mon:\n    image: techblog/cloudflared-mon\n    container_name: cloudflared-mon\n    restart: always\n    environment:\n      - CHECK_INTERVALS=60\n      - NOTIFIERS=\n      - CF_TOKEN=\n      - CF_EMAIL=\n      - CF_ACCOUNT_ID=\n    volumes:\n      - ./cloudflared-mon/db:/app/db\n```\n\n### Environment\n* CHECK_INTERVALS - Optional. Time in seconds between checks. Default is set to 60.\n* NOTIFIERS - Set the nofitications, using [APPRIS](https://github.com/caronc/apprise/wiki).\n* CF_TOKEN - Your cloudflare account token. this can be found on your cloudflare profile. **Make sure to create Token with read only permissions** [Read here how](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/)\n* CF_EMAIL - Your cloudflare account email address.\n* CF_ACCOUNT_ID - Your cloudflare account ID. The account id is part of the URL: **https://dash.cloudflare.com/xxd00270exxxxxxxxxxxxxxxxxxxxxxx**\n\n\n### Volumes\nCloudflare-Mon is using sqlite database to save and monitor the Tunnels state. Use docker persistent storage to keep the db after update or changes.\n\n\n## Supported Notifications\nThe section identifies all of the services supported by this library. [Check out the wiki for more information on the supported modules here](https://github.com/caronc/apprise/wiki).\n\n### Popular Notification Services\nThe table below identifies the services this tool supports and some example service urls you need to use in order to take advantage of it. Click on any of the services listed below to get more details on how you can configure Apprise to access them.\n\n| Notification Service | Service ID | Default Port | Example Syntax |\n| -------------------- | ---------- | ------------ | -------------- |\n| [Apprise API](https://github.com/caronc/apprise/wiki/Notify_apprise_api)  | apprise:// or apprises:// | (TCP) 80 or 443 | apprise://hostname/Token\n| [AWS SES](https://github.com/caronc/apprise/wiki/Notify_ses)  | ses://   | (TCP) 443   | ses://user@domain/AccessKeyID/AccessSecretKey/RegionName\u003cbr/\u003eses://user@domain/AccessKeyID/AccessSecretKey/RegionName/email1/email2/emailN\n| [Boxcar](https://github.com/caronc/apprise/wiki/Notify_boxcar)  | boxcar://   | (TCP) 443   | boxcar://hostname\u003cbr /\u003eboxcar://hostname/@tag\u003cbr/\u003eboxcar://hostname/device_token\u003cbr /\u003eboxcar://hostname/device_token1/device_token2/device_tokenN\u003cbr /\u003eboxcar://hostname/@tag/@tag2/device_token\n| [Discord](https://github.com/caronc/apprise/wiki/Notify_discord)  | discord://   | (TCP) 443   | discord://webhook_id/webhook_token\u003cbr /\u003ediscord://avatar@webhook_id/webhook_token\n| [Emby](https://github.com/caronc/apprise/wiki/Notify_emby)  | emby:// or embys:// | (TCP) 8096 | emby://user@hostname/\u003cbr /\u003eemby://user:password@hostname\n| [Enigma2](https://github.com/caronc/apprise/wiki/Notify_enigma2)  | enigma2:// or enigma2s:// | (TCP) 80 or 443 | enigma2://hostname\n| [Faast](https://github.com/caronc/apprise/wiki/Notify_faast) | faast://    | (TCP) 443    | faast://authorizationtoken\n| [FCM](https://github.com/caronc/apprise/wiki/Notify_fcm) | fcm://    | (TCP) 443    | fcm://project@apikey/DEVICE_ID\u003cbr /\u003efcm://project@apikey/#TOPIC\u003cbr/\u003efcm://project@apikey/DEVICE_ID1/#topic1/#topic2/DEVICE_ID2/\n| [Flock](https://github.com/caronc/apprise/wiki/Notify_flock) | flock://    | (TCP) 443    | flock://token\u003cbr/\u003eflock://botname@token\u003cbr/\u003eflock://app_token/u:userid\u003cbr/\u003eflock://app_token/g:channel_id\u003cbr/\u003eflock://app_token/u:userid/g:channel_id\n| [Gitter](https://github.com/caronc/apprise/wiki/Notify_gitter) | gitter://    | (TCP) 443    | gitter://token/room\u003cbr/\u003egitter://token/room1/room2/roomN\n| [Google Chat](https://github.com/caronc/apprise/wiki/Notify_googlechat) | gchat://    | (TCP) 443    | gchat://workspace/key/token\n| [Gotify](https://github.com/caronc/apprise/wiki/Notify_gotify) | gotify:// or gotifys://   | (TCP) 80 or 443    | gotify://hostname/token\u003cbr /\u003egotifys://hostname/token?priority=high\n| [Growl](https://github.com/caronc/apprise/wiki/Notify_growl)  | growl://   | (UDP) 23053   | growl://hostname\u003cbr /\u003egrowl://hostname:portno\u003cbr /\u003egrowl://password@hostname\u003cbr /\u003egrowl://password@hostname:port\u003c/br\u003e**Note**: you can also use the get parameter _version_ which can allow the growl request to behave using the older v1.x protocol. An example would look like: growl://hostname?version=1\n| [Home Assistant](https://github.com/caronc/apprise/wiki/Notify_homeassistant)       | hassio:// or hassios://   | (TCP) 8123 or 443 | hassio://hostname/accesstoken\u003cbr /\u003ehassio://user@hostname/accesstoken\u003cbr /\u003ehassio://user:password@hostname:port/accesstoken\u003cbr /\u003ehassio://hostname/optional/path/accesstoken\n| [IFTTT](https://github.com/caronc/apprise/wiki/Notify_ifttt) | ifttt://    | (TCP) 443    | ifttt://webhooksID/Event\u003cbr /\u003eifttt://webhooksID/Event1/Event2/EventN\u003cbr/\u003eifttt://webhooksID/Event1/?+Key=Value\u003cbr/\u003eifttt://webhooksID/Event1/?-Key=value1\n| [Join](https://github.com/caronc/apprise/wiki/Notify_join) | join://   | (TCP) 443    | join://apikey/device\u003cbr /\u003ejoin://apikey/device1/device2/deviceN/\u003cbr /\u003ejoin://apikey/group\u003cbr /\u003ejoin://apikey/groupA/groupB/groupN\u003cbr /\u003ejoin://apikey/DeviceA/groupA/groupN/DeviceN/\n| [KODI](https://github.com/caronc/apprise/wiki/Notify_kodi) | kodi:// or kodis://    | (TCP) 8080 or 443   | kodi://hostname\u003cbr /\u003ekodi://user@hostname\u003cbr /\u003ekodi://user:password@hostname:port\n| [Kumulos](https://github.com/caronc/apprise/wiki/Notify_kumulos) | kumulos:// | (TCP) 443 | kumulos://apikey/serverkey\n| [LaMetric Time](https://github.com/caronc/apprise/wiki/Notify_lametric) | lametric:// | (TCP) 443 | lametric://apikey@device_ipaddr\u003cbr/\u003elametric://apikey@hostname:port\u003cbr/\u003elametric://client_id@client_secret\n| [Mailgun](https://github.com/caronc/apprise/wiki/Notify_mailgun) | mailgun:// | (TCP) 443 | mailgun://user@hostname/apikey\u003cbr /\u003emailgun://user@hostname/apikey/email\u003cbr /\u003emailgun://user@hostname/apikey/email1/email2/emailN\u003cbr /\u003emailgun://user@hostname/apikey/?name=\"From%20User\"\n| [Matrix](https://github.com/caronc/apprise/wiki/Notify_matrix) | matrix:// or matrixs://  | (TCP) 80 or 443 | matrix://hostname\u003cbr /\u003ematrix://user@hostname\u003cbr /\u003ematrixs://user:pass@hostname:port/#room_alias\u003cbr /\u003ematrixs://user:pass@hostname:port/!room_id\u003cbr /\u003ematrixs://user:pass@hostname:port/#room_alias/!room_id/#room2\u003cbr /\u003ematrixs://token@hostname:port/?webhook=matrix\u003cbr /\u003ematrix://user:token@hostname/?webhook=slack\u0026format=markdown\n| [Mattermost](https://github.com/caronc/apprise/wiki/Notify_mattermost) | mmost:// or mmosts:// | (TCP) 8065 | mmost://hostname/authkey\u003cbr /\u003emmost://hostname:80/authkey\u003cbr /\u003emmost://user@hostname:80/authkey\u003cbr /\u003emmost://hostname/authkey?channel=channel\u003cbr /\u003emmosts://hostname/authkey\u003cbr /\u003emmosts://user@hostname/authkey\u003cbr /\u003e\n| [Microsoft Teams](https://github.com/caronc/apprise/wiki/Notify_msteams) | msteams://  | (TCP) 443   | msteams://TokenA/TokenB/TokenC/\n| [MQTT](https://github.com/caronc/apprise/wiki/Notify_mqtt) | mqtt://  or mqtts:// | (TCP) 1883 or 8883   | mqtt://hostname/topic\u003cbr /\u003emqtt://user@hostname/topic\u003cbr /\u003emqtts://user:pass@hostname:9883/topic\n| [Nextcloud](https://github.com/caronc/apprise/wiki/Notify_nextcloud) | ncloud:// or nclouds:// | (TCP) 80 or 443 | ncloud://adminuser:pass@host/User\u003cbr/\u003enclouds://adminuser:pass@host/User1/User2/UserN\n| [NextcloudTalk](https://github.com/caronc/apprise/wiki/Notify_nextcloudtalk) | nctalk:// or nctalks:// | (TCP) 80 or 443 | nctalk://user:pass@host/RoomId\u003cbr/\u003enctalks://user:pass@host/RoomId1/RoomId2/RoomIdN\n| [Notica](https://github.com/caronc/apprise/wiki/Notify_notica) | notica://  | (TCP) 443   | notica://Token/\n| [Notifico](https://github.com/caronc/apprise/wiki/Notify_notifico) | notifico://  | (TCP) 443   | notifico://ProjectID/MessageHook/\n| [Office 365](https://github.com/caronc/apprise/wiki/Notify_office365) | o365://  | (TCP) 443   | o365://TenantID:AccountEmail/ClientID/ClientSecret\u003cbr /\u003eo365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail\u003cbr /\u003eo365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail1/TargetEmail2/TargetEmailN\n| [OneSignal](https://github.com/caronc/apprise/wiki/Notify_onesignal) | onesignal:// | (TCP) 443 | onesignal://AppID@APIKey/PlayerID\u003cbr/\u003eonesignal://TemplateID:AppID@APIKey/UserID\u003cbr/\u003eonesignal://AppID@APIKey/#IncludeSegment\u003cbr/\u003eonesignal://AppID@APIKey/Email\n| [Opsgenie](https://github.com/caronc/apprise/wiki/Notify_opsgenie) | opsgenie:// | (TCP) 443 | opsgenie://APIKey\u003cbr/\u003eopsgenie://APIKey/UserID\u003cbr/\u003eopsgenie://APIKey/#Team\u003cbr/\u003eopsgenie://APIKey/\\*Schedule\u003cbr/\u003eopsgenie://APIKey/^Escalation\n| [ParsePlatform](https://github.com/caronc/apprise/wiki/Notify_parseplatform) | parsep:// or parseps:// | (TCP) 80 or 443 | parsep://AppID:MasterKey@Hostname\u003cbr/\u003eparseps://AppID:MasterKey@Hostname\n| [PopcornNotify](https://github.com/caronc/apprise/wiki/Notify_popcornnotify) | popcorn://  | (TCP) 443   | popcorn://ApiKey/ToPhoneNo\u003cbr/\u003epopcorn://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/\u003cbr/\u003epopcorn://ApiKey/ToEmail\u003cbr/\u003epopcorn://ApiKey/ToEmail1/ToEmail2/ToEmailN/\u003cbr/\u003epopcorn://ApiKey/ToPhoneNo1/ToEmail1/ToPhoneNoN/ToEmailN\n| [Prowl](https://github.com/caronc/apprise/wiki/Notify_prowl) | prowl://   | (TCP) 443    | prowl://apikey\u003cbr /\u003eprowl://apikey/providerkey\n| [PushBullet](https://github.com/caronc/apprise/wiki/Notify_pushbullet) | pbul://    | (TCP) 443    | pbul://accesstoken\u003cbr /\u003epbul://accesstoken/#channel\u003cbr/\u003epbul://accesstoken/A_DEVICE_ID\u003cbr /\u003epbul://accesstoken/email@address.com\u003cbr /\u003epbul://accesstoken/#channel/#channel2/email@address.net/DEVICE\n| [Pushjet](https://github.com/caronc/apprise/wiki/Notify_pushjet) | pjet:// or pjets:// | (TCP) 80 or 443 | pjet://hostname/secret\u003cbr /\u003epjet://hostname:port/secret\u003cbr /\u003epjets://secret@hostname/secret\u003cbr /\u003epjets://hostname:port/secret\n| [Push (Techulus)](https://github.com/caronc/apprise/wiki/Notify_techulus) | push://    | (TCP) 443    | push://apikey/\n| [Pushed](https://github.com/caronc/apprise/wiki/Notify_pushed) | pushed://    | (TCP) 443    | pushed://appkey/appsecret/\u003cbr/\u003epushed://appkey/appsecret/#ChannelAlias\u003cbr/\u003epushed://appkey/appsecret/#ChannelAlias1/#ChannelAlias2/#ChannelAliasN\u003cbr/\u003epushed://appkey/appsecret/@UserPushedID\u003cbr/\u003epushed://appkey/appsecret/@UserPushedID1/@UserPushedID2/@UserPushedIDN\n| [Pushover](https://github.com/caronc/apprise/wiki/Notify_pushover)  | pover://   | (TCP) 443   | pover://user@token\u003cbr /\u003epover://user@token/DEVICE\u003cbr /\u003epover://user@token/DEVICE1/DEVICE2/DEVICEN\u003cbr /\u003e**Note**: you must specify both your user_id and token\n| [PushSafer](https://github.com/caronc/apprise/wiki/Notify_pushsafer)  | psafer:// or psafers://  | (TCP) 80 or 443  | psafer://privatekey\u003cbr /\u003epsafers://privatekey/DEVICE\u003cbr /\u003epsafer://privatekey/DEVICE1/DEVICE2/DEVICEN\n| [Reddit](https://github.com/caronc/apprise/wiki/Notify_reddit) | reddit:// | (TCP) 443   | reddit://user:password@app_id/app_secret/subreddit\u003cbr /\u003ereddit://user:password@app_id/app_secret/sub1/sub2/subN\n| [Rocket.Chat](https://github.com/caronc/apprise/wiki/Notify_rocketchat) | rocket:// or rockets://  | (TCP) 80 or 443   | rocket://user:password@hostname/RoomID/Channel\u003cbr /\u003erockets://user:password@hostname:443/#Channel1/#Channel1/RoomID\u003cbr /\u003erocket://user:password@hostname/#Channel\u003cbr /\u003erocket://webhook@hostname\u003cbr /\u003erockets://webhook@hostname/@User/#Channel\n| [Ryver](https://github.com/caronc/apprise/wiki/Notify_ryver) | ryver://  | (TCP) 443   | ryver://Organization/Token\u003cbr /\u003eryver://botname@Organization/Token\n| [SendGrid](https://github.com/caronc/apprise/wiki/Notify_sendgrid) | sendgrid://  | (TCP) 443   | sendgrid://APIToken:FromEmail/\u003cbr /\u003esendgrid://APIToken:FromEmail/ToEmail\u003cbr /\u003esendgrid://APIToken:FromEmail/ToEmail1/ToEmail2/ToEmailN/\n| [ServerChan](https://github.com/caronc/apprise/wiki/Notify_serverchan) | serverchan://   | (TCP) 443    | serverchan://token/\n| [SimplePush](https://github.com/caronc/apprise/wiki/Notify_simplepush) | spush://   | (TCP) 443    | spush://apikey\u003cbr /\u003espush://salt:password@apikey\u003cbr /\u003espush://apikey?event=Apprise\n| [Slack](https://github.com/caronc/apprise/wiki/Notify_slack) | slack://  | (TCP) 443   | slack://TokenA/TokenB/TokenC/\u003cbr /\u003eslack://TokenA/TokenB/TokenC/Channel\u003cbr /\u003eslack://botname@TokenA/TokenB/TokenC/Channel\u003cbr /\u003eslack://user@TokenA/TokenB/TokenC/Channel1/Channel2/ChannelN\n| [SMTP2Go](https://github.com/caronc/apprise/wiki/Notify_smtp2go) | smtp2go:// | (TCP) 443 | smtp2go://user@hostname/apikey\u003cbr /\u003esmtp2go://user@hostname/apikey/email\u003cbr /\u003esmtp2go://user@hostname/apikey/email1/email2/emailN\u003cbr /\u003esmtp2go://user@hostname/apikey/?name=\"From%20User\"\n| [Streamlabs](https://github.com/caronc/apprise/wiki/Notify_streamlabs) | strmlabs:// | (TCP) 443 | strmlabs://AccessToken/\u003cbr/\u003estrmlabs://AccessToken/?name=name\u0026identifier=identifier\u0026amount=0\u0026currency=USD\n| [SparkPost](https://github.com/caronc/apprise/wiki/Notify_sparkpost) | sparkpost:// | (TCP) 443 | sparkpost://user@hostname/apikey\u003cbr /\u003esparkpost://user@hostname/apikey/email\u003cbr /\u003esparkpost://user@hostname/apikey/email1/email2/emailN\u003cbr /\u003esparkpost://user@hostname/apikey/?name=\"From%20User\"\n| [Spontit](https://github.com/caronc/apprise/wiki/Notify_spontit) | spontit://  | (TCP) 443   | spontit://UserID@APIKey/\u003cbr /\u003espontit://UserID@APIKey/Channel\u003cbr /\u003espontit://UserID@APIKey/Channel1/Channel2/ChannelN\n| [Syslog](https://github.com/caronc/apprise/wiki/Notify_syslog) | syslog://  | (UDP) 514 (_if hostname specified_) | syslog://\u003cbr /\u003esyslog://Facility\u003cbr /\u003esyslog://hostname\u003cbr /\u003esyslog://hostname/Facility\n| [Telegram](https://github.com/caronc/apprise/wiki/Notify_telegram) | tgram://  | (TCP) 443   | tgram://bottoken/ChatID\u003cbr /\u003etgram://bottoken/ChatID1/ChatID2/ChatIDN\n| [Twitter](https://github.com/caronc/apprise/wiki/Notify_twitter) | twitter://  | (TCP) 443   | twitter://CKey/CSecret/AKey/ASecret\u003cbr/\u003etwitter://user@CKey/CSecret/AKey/ASecret\u003cbr/\u003etwitter://CKey/CSecret/AKey/ASecret/User1/User2/User2\u003cbr/\u003etwitter://CKey/CSecret/AKey/ASecret?mode=tweet\n| [Twist](https://github.com/caronc/apprise/wiki/Notify_twist) | twist://  | (TCP) 443   | twist://pasword:login\u003cbr/\u003etwist://password:login/#channel\u003cbr/\u003etwist://password:login/#team:channel\u003cbr/\u003etwist://password:login/#team:channel1/channel2/#team3:channel\n| [XBMC](https://github.com/caronc/apprise/wiki/Notify_xbmc) | xbmc:// or xbmcs://    | (TCP) 8080 or 443   | xbmc://hostname\u003cbr /\u003exbmc://user@hostname\u003cbr /\u003exbmc://user:password@hostname:port\n| [XMPP](https://github.com/caronc/apprise/wiki/Notify_xmpp) | xmpp:// or xmpps://    | (TCP) 5222 or 5223   | xmpp://user:password@hostname\u003cbr /\u003exmpps://user:password@hostname:port?jid=user@hostname/resource\u003cbr/\u003exmpps://user:password@hostname/target@myhost, target2@myhost/resource\n| [Webex Teams (Cisco)](https://github.com/caronc/apprise/wiki/Notify_wxteams) | wxteams://  | (TCP) 443   | wxteams://Token\n| [Zulip Chat](https://github.com/caronc/apprise/wiki/Notify_zulip) | zulip://  | (TCP) 443   | zulip://botname@Organization/Token\u003cbr /\u003ezulip://botname@Organization/Token/Stream\u003cbr /\u003ezulip://botname@Organization/Token/Email\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fcloudflared-mon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft0mer%2Fcloudflared-mon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fcloudflared-mon/lists"}