Argus is a lightweight monitor to notify of new software releases via Gotify/Slack messages and/or WebHooks.

Argus

GitHub Go Report Card GitHub go.mod Go version (subdirectory of monorepo) GitHub package.json dependency version (subfolder of monorepo) GitHub Workflow Status

GitHub Workflow Status GitHub release (latest by date) GitHub all releases GitHub release (latest by SemVer)

GitHub Workflow Status Docker Image Version (latest semver) Docker Image Size (latest semver) Docker Pulls

Argus will query websites at a user defined interval for new software releases and then trigger Gotify/Slack notification(s) and/or WebHook(s) when one has been found. For example, you could set it to monitor the Argus repo (release-argus/argus). This will query the GitHub API and track the "tag_name" variable. When this variable changes from what it was on a previous query, a GitHub-style WebHook could be sent that triggers something (like AWX) to update Argus on your server.

Table of Contents

Demo

A demo of Argus can be seen on our website here.

Command-line arguments

$ argus -h
Usage of /usr/local/bin/argus:
  -config.check
        Print the fully-parsed config.
  -config.file string
        Argus configuration file path. (default "config.yml")
  -log.level string
        ERROR, WARN, INFO, VERBOSE or DEBUG (default "INFO")
  -log.timestamps
        Enable timestamps in CLI output.
  -test.gotify string
        Put the name of the Gotify service to send a test message.
  -test.service string
        Put the name of the Service to test the version query.
  -test.slack string
        Put the name of the Slack service to send a test message.
  -web.cert-file string
        HTTPS certificate file path.
  -web.listen-host string
        IP address to listen on for UI, API, and telemetry. (default "0.0.0.0")
  -web.listen-port string
        Port to listen on for UI, API, and telemetry. (default "8080")
  -web.pkey-file string
        HTTPS private key file path.
  -web.route-prefix string
        Prefix for web endpoints (default "/")

Building from source

Prereqs

The backend of Argus is built with Go and the frontend with React. The React frontend is built and then embedded into the Go binary so that those web files can be served.

Go changes

To see the changes you've made by modifying any of the .go files, you must recompile Argus. You could recompile the whole app with a make build, but this will also recompile the React components. To save time (and CPU power), you can use the existing React static and recompile just the Go part by running make go-build. (Running this in the root dir will produce the argus binary)

React changes

To see the changes after modifying anything in web/ui/react-app, you must recompile both the Go backend as well as the React frontend. This can be done by running make build. (Running this in the root dir will produce the argus binary)

Getting started

To get started with Argus, simply download the binary from the releases page, and setup the config for that binary.

For further help, check out the Getting Started page on our website.

Config formatting

The config can be broken down into 6 key areas. (Further help)

  • defaults - This is broken down into areas with defaults for services, gotifies, slacks and webhooks.
  • settings - Settings for the Argus server.
  • service - A dictionary mapping of all the services to monitor as well as what to notify when a new release is found.
  • gotify - A dictionary mapping of targets for Gotify messages.
  • slack - A dictionary mapping of targets for Slack messages.
  • webhook - A dictionary mapping of targets for WebHooks.
Comments
  • feat: Support for Telegram

    feat: Support for Telegram

    Is your feature request related to a problem? Please describe. I don't use Slack or Gotify.

    Describe the solution you'd like I'd like to be able to specify an arbitrary set of Telegram bot API credentials, as well as an arbitrary chat ID. Messages should arrive at that chat.

    Describe alternatives you've considered I tried looking for a Tekegram plugin for Gotify, but was unsuccessful.

  • Config File Suggestions

    Config File Suggestions

    If you are open to a suggestion, I would probably make a few tweaks to the config.yml structure to make it a little easier to navigate for new users. I realize this would be a breaking change. Maybe it could be incorporated into the version that adds settings thru the GUI. First step is to validate the config.xml structure and adjust accordingly. Below would be my suggestion.

    Current Example

      Sonarr/Sonarr:
        type: url
        url: http://services.sonarr.tv/v1/releases
        semantic_versioning: false
        url_commands:
          - type: regex
            regex: \"version\":\s?\"([0-9.]+)\"
            index: 1
        web_url: http://osu.sonarr:8079/sonarr/system/updates
        icon: https://raw.githubusercontent.com/NX211/homer-icons/master/png/sonarr.png
        deployed_version:
          url: http://osu.sonarr:8079/sonarr/api/v3/system/status?apikey=428f9a8d1420426ca21a891c928594b5
          json: version
    

    Proposed Example

      Sonarr/Sonarr:
        options:
          semantic_versioning: false
        latest_version:
          type: url
          url: http://services.sonarr.tv/v1/releases
          url_commands:
            - type: regex
              regex: \"version\":\s?\"([0-9.]+)\"
              index: 1
        dashboard:
          web_url: http://local.sonarr:8079/sonarr/system/updates
          icon: https://raw.githubusercontent.com/walkxhub/dashboard-icons/master/png/sabnzbd.png
        deployed_version:
          url: http://local.sonarr:8079/sonarr/api/v3/system/status?apikey=<redacted>
          json: version
    
  • feat: Support for local webhooks

    feat: Support for local webhooks

    Please consider support for local webhooks such as webhook tool. It would also be extra-useful to somehow configure argus to change an HTTP Query parameter so different services can call the same webhook with different parameters. Such as for instance: http://192.168.9.9/hooks/update-docker?container=argus.

  • Gotify Configuration

    Gotify Configuration

    @JosephKav I was going to wait until Shoutrr integration is implemented, but thought I would give Gotify a spin. I am not getting notifications. Am I missing something?

    Global Block

    settings:
      web:
        listen_host: 0.0.0.0
        listen_port: "8111"
        route_prefix: /
    defaults:
      service:
        access_token: <redacted>
        interval: 30m
        deployed_version: {}
    gotify:
      GOTIFY_NOTIFICATION:
        url: http://osu.gotify:8132
        token: <redacted>
        title: Argus Notification
        message: {{ service_id }} - {{ version }} released.
        extras:
          client_display: text/plain
          client_notification: '{{ web_url }}'
        priority: 5
        delay: 0s
        max_tries: 3
    

    Service Definition

    Service:
      CaddyDockerProxy:
        type: url
        url: https://github.com/lucaslorentz/caddy-docker-proxy/tags
        semantic_versioning: false
        url_commands:
          - type: regex
            regex: releases\/tag\/(v[0-9.]+)
        web_url: https://github.com/lucaslorentz/caddy-docker-proxy/releases
        icon: https://raw.githubusercontent.com/walkxhub/dashboard-icons/master/svg/caddy.svg
        gotify:
          GOTIFY_NOTIFICATION: {}
        deployed_version:
          url: http://osu.logs:8069/caddy2/current_version.txt
          regex: caddy-docker-proxy/plugin/v2\s?(v[0-9.]+)
    
  • feat: give webhooks the option for accepting invalid HTTPS certs

    feat: give webhooks the option for accepting invalid HTTPS certs

    webhooks currently fail to send if the cert is invalid (e.g. self-signed). This'll add an allow_invalid_certs key to each webhook (with support for it in defaults/globally like notify)

    Triggered by: Originally posted by @samcro1967 in https://github.com/release-argus/Argus/issues/61#issuecomment-1139014316

    So for fun (I mean who doesn't love certs), I changed webhook to use https. I get a different error in the webhook log when I execute the webhook from Argus, but I am guessing it is related to how I generated the self signed cert. Thought I would share in case it sheds any new light on the topic.

    webhook log

    [webhook] 2022/05/26 15:30:37 http: TLS handshake error from 172.18.0.14:41156: tls: oversized record received with length 21536
    

    cert generation command

    openssl req -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout key.pem -days 9999 -out cert.pem`
    
  • Positive Look Behind Question

    Positive Look Behind Question

    I am getting an error using a positive look behind. It works at https://regex101.com/. I tried various escapes for the ? and <. Any ideas?

    Logs

    panic: regexp: Compile(`(?<=\"version\":\s\")([0-9.]+)\"`): error parsing regexp: invalid or unsupported Perl syntax: `(?<`
    

    Regex

    (?<=\"version\":\s\")([0-9.]+)\"
    
  • Add ability to resend Webhooks when not on latest version

    Add ability to resend Webhooks when not on latest version

    If I understand the current webhook implementation, once a new version is detected and a webhook is successfully sent, you can not resend it. Restarting Argus reenables the ability to send it again. I can resend a webhook on a service whose deployed version matches the current version. This seems backward to me. I want to resend a webhook on a service that is still not up to date, not on a service that is already up to date. Maybe I am thinking about this in the wrong way???

    I have services setup to auto approve with a delay of one hour. This seems to work 90+ percent of the time. Occasionally even though the webhook is successfully sent and executed, the version is still not updated. This is happening as the updates have not replicated throughout CDN when the webhook is pulling the latest docker image as an example. This time will vary obviously so I settled on an hour as it works most of the time.

    Ideally I think from a process flow it would look like this when auto approve is enabled:

    Interval check
    New version is detected
    Delay times out
    Webhook is executed
    Interval check
    Version is still not up to date
    Webhook is executed again
    Interval check
    Version is still not up to date
    Webhook is executed again
    Interval check
    Version is up to date
    

    Would probably want some max retry around the webhook upgrade executions different than retrying the webhook because it failed to send the webhook. After a few failures, human intervention will probably be required. No point in staying in that hamster wheel forever. Thoughts?

  • Move services out of primary config file into a services folder

    Move services out of primary config file into a services folder

    I'd like to request a feature where in instead of configuring all of the services as part of the primary config file, that the primary config file pull them from any .yml file in a given services folder.

    I've been playing around with services all afternoon and got 3 working, after which I commented them all out in the config file in order to work on a 4th (logging was getting very busy) only to realize that the server overwrite / deleted all commented lines in the config file thus resulting in me needing to start from scratch on the 3 I had already got working.

    Having each service be it's own file would allow for easy enabling/disabling by renaming the files to a non .yml extension and would also just keep everything a lot more organized when you end up with dozens of monitored services (my goal is to use this to monitor all server based applications we host eventually which could end up being quite a lot)

  • Getting up and running / installation documentation

    Getting up and running / installation documentation

    Hi there,

    I am very interested in this project and have been trying to set up a test vm with it for awhile but i've been struggling to get it up and running with the getting started documentation and was hoping to get some assistance/ request (or even help create) better setup documentation once I understand how to get going:

    what i've done so far:

    downloaded latest binary Argus-0.6.0.linux-amd64

    transferred binary to centos 8 vm via scp

    gave the binary execute permissions via chmod

    ran ./Argus-0.6.0.linux-amd64 -help

    created a /home/argus/argus directory structure and moved the binary to /home/argus/argus/Argus-0.6.0.linux-amd64

    created a config.yml at /home/argus/argus/config.yml

    added the following to the config.yml file just for a test:
    
    settings:
      log:
        level: INFO           # Log level, DEBUG/VERBOSE/INFO/WARNING/ERROR
        timestamps: false     # Log with timestamps
      web:
        listen_host: 172.29.2.128  # IP address to listen on
        listen_port: 8080     # Port to listen on
        route_prefix: /       # Web route prefix, e.g. /demo means http://IP:PORT/demo to access
        cert_file: ''         # HTTPS Cert path, e.g. `cert.pem`
        pkey_file: ''         # HTTPS PrivKey path, e.g. `privkey.pem`
    
    service:
      adnanh/webhook:
        type: github
        url: adnanh/webhook
        web_url: https://github.com/adnanh/webhook/releases/{{ version }}
        regex_content: webhook-linux-amd64\.tar\.gz
        icon: https://raw.githubusercontent.com/adnanh/webhook/development/docs/logo/logo-128x128.png
    

    created a systemd service file at /etc/systemd/system/argus.service

    
    [Unit]
    Description=Argus Server
    Documentation=https://release-argus.io/docs
    After=network-online.target
    
    [Service]
    User=argus
    Restart=on-failure
    ExecStart=/home/argus/argus \
      -config.file=/home/argus/argus/config.yml
    
    [Install]
    WantedBy=multi-user.target
    

    I'm not sure what else, but i feel like i'm definitely missing something.... i cant hit the web ui at the boxes ip address (172.29.2.128:8080) also tried disabling firewall and se linux so it's neither of those

  • help: Clarification on how to properly use new (0.5.1) Shoutrrr notifications

    help: Clarification on how to properly use new (0.5.1) Shoutrrr notifications

    Hello,

    I am trying to use the new shoutrrr notification to send telegram messages. I have created an entry in:

    defaults:
      notify:
        telegram_updates:
          type: telegram
          url_fields:
            Token: TOKEN_FROM_BOTFATHER
          params:
            Chats: 'chat_id'
    
    • Do I need now to add a "notify:" entry for each service for them to notify on new releases? I haven't and I don't receive any notifications. (makes sense as I only want to receive notifications on certain services not all).
    • If I add an entry "notify: telegram_updates:" in a service it complains that the type is needed, if I then add the type it asks for token, so it seems I need to repeat the config in defaults.

    Is this the expected behaviour? Regards,

  • Github API Rate Limiting

    Github API Rate Limiting

    It appears that each time Argus is restarted the Github APIs are queried. Restarting Argus several times when working on adding a new service runs into Github rate limiting pretty easily. This maybe become a moot point if #4 is implemented so service can be added dynamically thru the UI.

    Maybe rather than just querying the Github API at Argus start, check the timestamp of the last check, the interval in config.yml if defined, and delay checking until it is time to do so to avoid rate limiting.

  • build(deps): bump modernc.org/sqlite from 1.20.1 to 1.20.2

    build(deps): bump modernc.org/sqlite from 1.20.1 to 1.20.2

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump @commitlint/cli from 17.3.0 to 17.4.1

    build(deps): bump @commitlint/cli from 17.3.0 to 17.4.1

    Bumps @commitlint/cli from 17.3.0 to 17.4.1.

    Release notes

    Sourced from @​commitlint/cli's releases.

    v17.4.1

    17.4.1 (2023-01-09)

    Note: Version bump only for package @​commitlint/root

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.1

    v17.4.0

    17.4.0 (2023-01-04)

    Bug Fixes

    • stop truncating the body in presence of dashes (#3476) (02a61be)

    Features

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.3.0...v17.4.0

    Changelog

    Sourced from @​commitlint/cli's changelog.

    17.4.1 (2023-01-09)

    Note: Version bump only for package @​commitlint/cli

    17.4.0 (2023-01-04)

    Bug Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • build(deps): bump json5 from 1.0.1 to 1.0.2 in /web/ui

    build(deps): bump json5 from 1.0.1 to 1.0.2 in /web/ui

    Bumps json5 from 1.0.1 to 1.0.2.

    Release notes

    Sourced from json5's releases.

    v1.0.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295). This has been backported to v1. (#298)
    Changelog

    Sourced from json5's changelog.

    Unreleased [code, diff]

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0 [code, diff]

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)

    v2.1.3 [code, diff]

    • Fix: An out of memory bug when parsing numbers has been fixed. (#228, #229)

    v2.1.2 [code, diff]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
  • build(deps): bump @commitlint/config-conventional from 17.3.0 to 17.4.0

    build(deps): bump @commitlint/config-conventional from 17.3.0 to 17.4.0

    Bumps @commitlint/config-conventional from 17.3.0 to 17.4.0.

    Release notes

    Sourced from @​commitlint/config-conventional's releases.

    v17.4.0

    17.4.0 (2023-01-04)

    Bug Fixes

    • stop truncating the body in presence of dashes (#3476) (02a61be)

    Features

    New Contributors

    Full Changelog: https://github.com/conventional-changelog/commitlint/compare/v17.3.0...v17.4.0

    Changelog

    Sourced from @​commitlint/config-conventional's changelog.

    17.4.0 (2023-01-04)

    Note: Version bump only for package @​commitlint/config-conventional

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • feat: Helm chart

    feat: Helm chart

    Is your feature request related to a problem? Please describe. I am planning to build a Helm Chart for the deployment of Argus.

    I would make it available, as a subfolder called chart or helm.

  • Ability to list service currently being monitored

    Ability to list service currently being monitored

    Looking for a way to get a list of the services that are currently being monitored by Argus from the cli. I know they are printed in the logs when the container starts, but hoping there is another way to grab them without having to parse docker logs. :-)

    I can run docker exec -it argus bash -c 'argus' > services.txt and get them that way. It tries to start a new instance of argus and fails as the port is already in use, but it does print out the services that are active in config.yaml. Probably not the best way to go about it.

    Would it be possible to add another cli option such as -config.services that simply lists all of the monitored services each on its own line similarly to how it does in the logs?

Related tags
Hera is a Python framework for constructing and submitting Argo Workflows.

Hera is an Argo Workflows Python SDK. Hera aims to make workflow construction and submission easy and accessible to everyone! Hera abstracts away workflow setup details while still maintaining a consistent vocabulary with Argo Workflows.

Dec 31, 2022
Notify messages from gcs bucket objects to slack

Notify to Slack Notify message to slack from gcs storage file. Deploy $ gcloud functions deploy notify_to_slack \ --entry-point NotifyToSlack \

Oct 5, 2021
Notify - Notification microservice for sending templated payloads as Slack messages

Notify Notify is a microservice that takes an event & payload from an applicatio

May 23, 2022
This small Docker project is the easiest way to send notifications directly via .txt files to services like: Gotify, Telegram, SMTP (Email) or Webhook.
This small Docker project is the easiest way to send notifications directly via .txt files to services like: Gotify, Telegram, SMTP (Email) or Webhook.

This small Docker project is the easiest way to send notifications directly via .txt files to services like: Gotify, Telegram, SMTP (Email) or Webhook.

Oct 5, 2022
Slack-emoji-bot - This Slack bot will post the newly created custom Slack emojis to the channel of your choice

Slack Emoji Bot This Slack bot will post the newly created custom Slack emojis t

Oct 21, 2022
Notify Slack about KPIs test
Notify Slack about KPIs test

This action is a part of GitHub Actions Library created by rtCamp. Slack Notify - GitHub Action A GitHub Action to send a message to a Slack channel.

Jan 10, 2022
Argus is a subdomain enumeration tool

Argus Argus is a domain enumeration tool. Usage : LINUX : ./argus Windows : double click the executable or .\argus When you enter the domain name , pl

Apr 28, 2022
Grafana-threema-forwarder - Alert forwarder from Grafana webhooks to Threema wire messages

Grafana to Threema alert forwarder Although Grafana has built in support for pus

Nov 11, 2022
Check for new github releases of your Golang application 🎊

whatsnew Check for new github releases of your Golang application ?? whatsnew provides a simple way to check GitHub for new releases of your Go applic

Dec 1, 2021
A codename generator meant for naming software releases.

codename-generator This library written in Golang generates a random code name meant for naming software releases if you run short of inspiration. Cur

Jun 26, 2022
A self-hosted golang application that listens for Terraform pull request events via webhooks.
A self-hosted golang application that listens for Terraform pull request events via webhooks.

Atlantis Terraform Pull Request Automation Resources What is Atlantis? What does it do? Why should you use it? Stargazers over time Resources How to g

Dec 9, 2021
Webserver I built to serve Infura endpoints. Deployable via k8s and AWS EKS. Load testable via k6 tooling, and montiorable via prometheus and grafana

Infura Web Server Welcome to my verion of the take home project. I've created a webserver written in go to serve Infura api data over 3 possible data

Nov 15, 2022
Listmonk-messenger - Lightweight HTTP server to handle webhooks from listmonk and forward it to different messengers
Listmonk-messenger - Lightweight HTTP server to handle webhooks from listmonk and forward it to different messengers

listmonk-messenger Lightweight HTTP server to handle webhooks from listmonk and

Dec 28, 2022
Monitor your Website and APIs from your Computer. Get Notified through Slack, E-mail when your server is down or response time is more than expected.
Monitor your Website and APIs from your Computer. Get Notified through Slack, E-mail when your server is down or response time is more than expected.

StatusOK Monitor your Website and APIs from your computer.Get notified through Slack or E-mail when your server is down or response time is more than

Dec 27, 2022
Monitor star changes of GitHub repo, and send the notification to slack or lark.

stargazers Features monitor the star events of the GitHub repo send the notifications to Slack or Lark How to use For Lark, create a bot called like s

Dec 4, 2022
Purpose: dump slack messages, users and files using browser token and cookie.

Slack Dumper Purpose: dump slack messages, users and files using browser token and cookie. Typical usecase scenarios: You want to archive your private

Jan 2, 2023
REPLbot is a Slack bot that allows you to control a REPL from within Slack.
REPLbot is a Slack bot that allows you to control a REPL from within Slack.

?? REPLbot REPLbot is a Slack bot that allows you to control a REPL from within Slack. It comes with a few REPLs (Go ?? , Java, NodeJS, PHP, Python, R

Dec 31, 2022
Slack remote terminal - execute commands on remote host using slack slash command

slackRT Slack remote terminal - execute commands on remote host using slack slash command Installation Go to api.slack.com/apps and sign in and create

Jul 12, 2022
This slack-bot collects all @gophers notifications into one slack channel

slack-bot Slack bot copying reference to a ping to notifications channel The bot is designed to listen on messages containing specific tag, copy refer

Apr 11, 2022
This is for managing Slack App Manifests, it is no use if you are not developing an App for Slack.

Terraform Provider Slack App This is for managing Slack App Manifests, it is no use if you are not developing an App for Slack. Requirements Terraform

May 23, 2022