![]() |
![]()
| ![]() |
![]()
NAMEurlwatch-reporters - Reporters for change notifications SYNOPSISurlwatch --edit-config DESCRIPTIONBy default urlwatch(1) prints out information about changes to standard output, which is your terminal if you run it interactively. If running via cron(8) or another scheduler service, it depends on how the scheduler is configured. You can enable one or more additional reporters that are used to send change notifications. Please note that most reporters need additional dependencies installed. See urlwatch-config(5) for generic config settings. To send a test notification, use the --test-reporter command-line option with the name of the reporter: urlwatch --test-reporter stdout This will create a test report with new, changed, unchanged and error notifications (only the ones configured in display in the Configuration will be shown in the report) and send it via the stdout reporter (if it is enabled). To test if your e-mail reporter is configured correctly, you can use: urlwatch --test-reporter email Any reporter that is configured and enabled can be tested. If the notification does not work, check your configuration and/or add the --verbose command-line option to show detailed debug logs. BUILT-IN REPORTERSThe list of built-in reporters can be retrieved using: urlwatch --features At the moment, the following reporters are built-in:
PUSHOVERYou can configure urlwatch to send real time notifications about changes via Pushover <https://pushover.net/>. To enable this, ensure you have the chump python package installed (see Dependencies). Then edit your config (urlwatch --edit-config) and enable pushover. You will also need to add to the config your Pushover user key and a unique app key (generated by registering urlwatch as an application on your Pushover account <https://pushover.net/apps/build>. You can send to a specific device by using the device name, as indicated when you add or view your list of devices in the Pushover console. For example device: 'MyPhone', or device: 'MyLaptop'. To send to all of your devices, set device: null in your config (urlwatch --edit-config) or leave out the device configuration completely. Setting the priority is possible via the priority config option, which can be lowest, low, normal, high or emergency. Any other setting (including leaving the option unset) maps to normal. PUSHBULLETPushbullet notifications are configured similarly to Pushover (see above). You’ll need to add to the config your Pushbullet Access Token, which you can generate at https://www.pushbullet.com/#settings TELEGRAMTelegram notifications are configured using the Telegram Bot API. For this, you’ll need a Bot API token and a chat id (see https://core.telegram.org/bots). Sample configuration: telegram: Messages can be sent silently (silent) if you prefer notifications with no sounds, and monospace formatted (monospace). By default notifications are not silent and no formatting is done. telegram: To set up Telegram, from your Telegram app, chat up BotFather (New Message, Search, “BotFather”), then say /newbot and follow the instructions. Eventually it will tell you the bot token (in the form seen above, <number>:<random string>) - add this to your config file. You can then click on the link of your bot, which will send the message /start. At this point, you can use the command urlwatch --telegram-chats to list the private chats the bot is involved with. This is the chat ID that you need to put into the config file as chat_id. You may add multiple chat IDs as a YAML list: telegram: Don’t forget to also enable the reporter. SLACKSlack notifications are configured using “Slack Incoming Webhooks”. Here is a sample configuration: slack: To set up Slack, from you Slack Team, create a new app and activate “Incoming Webhooks” on a channel, you’ll get a webhook URL, copy it into the configuration as seen above. MATTERMOSTMattermost notifications are set up the same way as Slack notifications, the webhook URL is different: mattermost: See Incoming Webooks <https://developers.mattermost.com/integrate/incoming-webhooks/> in the Mattermost documentation for details. DISCORDDiscord notifications are configured using “Discord Incoming Webhooks”. Here is a sample configuration: discord: To set up Discord, from your Discord Server settings, select Integration and then create a "New Webhook", give the webhook a name to post under, select a channel, push "Copy Webhook URL" and paste it into the configuration as seen above. Embedded content might be easier to read and identify individual reports. Subject precedes the embedded report and is only used when embed is true. When colored is true reports will be embedded in code section (with diff syntax) to enable colors. GOTIFY[Gotify](https://gotify.net/) is a server for sending and receiving messages in real-time through WebSockets. To push notifications to a gotify server you need an application token. You can create one for urlwatch like so:
4. Fill out the fields and press “CREATE”. 6. Click on the eye icon of the newly created entry and copy the token. Here is a sample configuration: gotify: IFTTTTo configure IFTTT events, you need to retrieve your key from here: https://ifttt.com/maker_webhooks/settings The URL shown in "Account Info" has the following format: https://maker.ifttt.com/use/{key} In this URL, {key} is your API key. The configuration should look like this (you can pick any event name you want): ifttt: The event will contain three values in the posted JSON:
These values will be passed on to the Action in your Recipe. MATRIXYou can have notifications sent to you through the Matrix protocol <https://matrix.org>. To achieve this, you first need to register a Matrix account for the bot on any homeserver. You then need to acquire an access token and room ID, using the following instructions adapted from this guide <https://t2bot.io/docs/access_tokens/>:
Here is a sample configuration: matrix: You will probably want to use the following configuration for the markdown reporter, if you intend to post change notifications to a public Matrix room, as the messages quickly become noisy: markdown: E-MAIL VIA SENDMAILYou can send email via the system's sendmail command provided by the MTA. You need to set method: sendmail in the config file: report: E-MAIL VIA GMAIL SMTPYou need to configure your GMail account to allow for “less secure” (password-based) apps to login:
You do not want to do this with your primary GMail account, but rather on a separate account that you create just for sending mails via urlwatch. Allowing less secure apps and storing the password (even if it's in the keychain) is not good security practice for your primary account. Now, start the configuration editor: urlwatch --edit-config These are the keys you need to configure: report: The password is best stored in your keychain, and not in the config file. To store the password, run: urlwatch --smtp-login This will query your password, check the login, and store it in your keychain. Subsequent runs will use this password for logging in. E-MAIL VIA AMAZON SIMPLE E-MAIL SERVICE (SES)Same as the GMail configuration above, but use e.g. email-smtp.us-west-2.amazonaws.com as the SMTP host, and username and port settings according to SES's login page. SMTP LOGIN WITHOUT KEYRINGIf for whatever reason you cannot use a keyring to store your password (for example, when using it from a cron job) you can also set the insecure_password option in the SMTP config: report: The insecure_password key will be preferred over the data stored in the keyring. Please note that as the name says, storing the password as plaintext in the configuration is insecure and bad practice, but for an e-mail account that’s only dedicated for sending mails this might be a way. Never ever use this with your primary e-mail account! Seriously! Create a throw-away GMail (or other) account just for sending out those e-mails or use local sendmail with a mail server configured instead of relying on SMTP and password auth. Note that this makes it really easy for your password to be picked up by software running on your machine, by other users logged into the system and/or for the password to appear in log files accidentally. XMPPYou can have notifications sent to you through the XMPP protocol. To achieve this, you should register a new XMPP account that is just used for urlwatch. Here is a sample configuration: xmpp: The password is not stored in the config file, but in your keychain. To store the password, run: urlwatch --xmpp-login and enter your password. If for whatever reason you cannot use a keyring to store your password you can also set the insecure_password option in the XMPP config. For more information about the security implications, see SMTP login without keyring. PROWLYou can have notifications sent to you through the Prowl push notification service, to receive the notification on iOS. To achieve this, you should register a new Prowl account, and have the Prowl application installed on your iOS device. To create an API key for urlwatch:
Here is a sample configuration: prowl: The “subject" field is similar to the subject field in the email, and will be used as the name of the Prowl event. The application is prepended to the event and shown as the source of the event in the Prowl App. SHELLThis is a simple reporter that pipes the text report notification to a command of your choice. The command is run using Python's subprocess.Popen() <https://docs.python.org/3/library/subprocess.html#popen-constructor> with shell=False (to avoid possibly-unwanted shell expansion). Of course, you can create your own shell script that does shell expansion and other things, and call that from the command. The key ignore_stdout (defaults to true) can be used to ignore any output the program writes on stdout. The key ignore_stderr (defaults to false) can be used to ignore any output the program writes on stderr. If stdout/stderr are not ignored, urlwatch will log any possible output in its --verbose log. The report written to stdin of the process is based on the output of the text reporter, configuring the text reporter will adjust the data sent to the shell reporter. For example, to simply append reports to a file, configure it like this: shell: FILES$XDG_CONFIG_HOME/urlwatch/urlwatch.yaml SEE ALSOurlwatch(1), urlwatch-config(5), urlwatch-intro(7), urlwatch-cookbook(7) COPYRIGHT2024 Thomas Perl
|