hotalert/readme.md
2023-03-31 00:24:46 +03:00

2.6 KiB

hotalert

Introduction

hotalert is a command line tool for task execution and alerting. Tasks and alerts are defined in yaml files.

A sample use case is to run it on PC or a Raspberry PI and get alerts on your mobile device when certain keywords apear in an URL.

--

It wants to be like Windows Task Scheduler but it requires Cron for scheduling and at the moment it is stateless and does not have much functionality.

Installation

Example

If you want to send a notification to your mobile phone when a keyword is found on a website you can use the webhook_discord alerter and the web_scrape task function.

Example:

tasks:
  - options:
      url: [...]
      keywords: ["Episode 10", "Episode 11"]
    timeout: 10
    alerter: "webhook_discord"
    function: "web_scrape"
alerts:
  webhook_discord:
    webhook: https://discord.com/api/webhooks/[...]
    # $keywords can be used as a placeholder in the message, and it will be replaced with the actual keywords.
    message: "Hi, the keyword(s) `$keywords` was found on [...]"

Viewing the help:

Hotalert is a command line tool that for task execution and configuration. Tasks and alerts are defined 
in yaml files and the program parses the files, executes the tasks and emits alerts when the tasks conditions are met.

Usage:
  hotalert [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  directory   execute each yaml file from a directory
  file        execute tasks from a single file
  help        Help about any command

Flags:
  -h, --help   help for hotalert

Use "hotalert [command] --help" for more information about a command.

Running the program

./hotalert file test_file.yaml
2022-12-19T22:12:22.435+0200	INFO	alert/discord.go:82	Alert posted:
BEGIN
Hi, the keyword(s) `Episode 10,Episode 11` was found on [...]
END
2022-12-19T22:12:22.435+0200	INFO	cmd/file.go:60	Done

Output:

Discord preview

Available task functions

web_scrape

The web_scrape task scrapes a web page by issuing a GET request and parses the response to look for keywords.

Options:

  • url (string) - The url to scrape.
  • keywords (array[string]) - A list of keyword strings to look for.

Development

To build the program for Linux under Linux use the following command:

GOOS=linux GOARCH=arm64 go build

If you're using Windows use:

$env:GOOS = "linux"
$env:GOARCH = "arm"
$env:GOARM = 5 

go build -o hotalert .