Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kha7iq/pingme

PingMe is a CLI which provides the ability to send messages or alerts to multiple messaging platforms & email.
https://github.com/kha7iq/pingme

alert cli discord email golang gotify line mastodon mattermost messaging microsoft-teams pingme pushbullet pushover rocketchat slack telegram twillio wechat

Last synced: 9 minutes ago
JSON representation

PingMe is a CLI which provides the ability to send messages or alerts to multiple messaging platforms & email.

Awesome Lists containing this project

README

        




PingMe CLI



Release

Go Report Card

GitHub issues

License

Awesome

Go Dev Reference


Documentation
Supported Services
Install
Github Action
Configuration
Contributing

---

## About

**PingMe** is a personal project to satisfy my needs of having alerts, most
major platforms have integration to send alerts but its not always useful,
either you are stuck with one particular platform, or you have to do alot of
integrations. I needed a small utility which i can just call from my backup scripts,
cron jobs, CI/CD pipelines or from anywhere to send a message with particular
information. And i can ship it everywhere with ease. Hence, the birth of PingMe.

Everything is configurable via environment variables, and you can simply export
the logs or messages to a variable which will be sent as message, and most of
all this serves as a swiss army knife sort of tool which supports multiple
platforms.

## Supported services

- *Discord*
- *Email*
- *Gotify*
- *Line*
- *Mastodon*
- *Mattermost*
- *Microsoft Teams*
- *Pushbullet*
- *Pushover*
- *RocketChat*
- *Slack*
- *Telegram*
- *Textmagic*
- *Twillio*
- *Zulip*
- *Wechat*

## Install

### MacOS & Linux Homebrew

```bash
brew install kha7iq/tap/pingme
```

## Shell Script
By default pingme is going to be installed at `/usr/bin/` sudo is requried for this operation.

If you would like to provide a custom install path you can do so as input to script. i.e `./install.sh $HOME/bin`
```bash
curl -s https://raw.githubusercontent.com/kha7iq/pingme/master/install.sh | sudo sh
```
or
```bash
curl -sL https://bit.ly/installpm | sudo sh
```

## Linux

* AUR
```bash
# build from sources
yay -S pingme

# binary
yay -S pingme-bin

```

## Manual
```bash
# Chose desired version, architecture & target os
export PINGME_VERSION="0.2.6"
export ARCH="x86_64"
export OS="Linux"
wget -q https://github.com/kha7iq/pingme/releases/download/v${PINGME_VERSION}/pingme_${OS}_${ARCH}.tar.gz && \
tar -xf pingme_${OS}_${ARCH}.tar.gz && \
chmod +x pingme && \
sudo mv pingme /usr/local/bin/pingme
```

### Windows

```powershell
scoop bucket add pingme https://github.com/kha7iq/scoop-bucket.git
scoop install pingme
```

Alternatively you can head over to [release pages](https://github.com/kha7iq/pingme/releases)
and download `deb`, `rpm` or `binary` for windows & all other supported platforms.

### Docker

Docker container is also available on both dockerhub and github container registry.

`latest` tag will always pull the latest version available, or you can also download
specific version. Checkout [release](https://github.com/kha7iq/pingme/releases)
page for available versions.

Docker Registry

```bash
docker pull khaliq/pingme:latest
```

Github Registry

```bash
docker pull ghcr.io/kha7iq/pingme:latest
```

Run

```bash
docker run ghcr.io/kha7iq/pingme:latest
```

## Github Action

A github action is available for integration with your workflows, you can find it on
[Github Market Place](https://github.com/marketplace/actions/pingme-action) or
here [Github Repo](https://github.com/kha7iq/pingme-action).
```yaml
- name: PingMe-Action
uses: kha7iq/pingme-action@v1
```

## Usage

```bash
❯ pingme

NAME:
PingMe - Send message to multiple platforms

USAGE:
main [global options] command [command options] [arguments...]

DESCRIPTION:
PingMe is a CLI tool which provides the ability to send messages or alerts to multiple
messaging platforms and also email, everything is configurable via environment
variables and command line switches.Currently supported platforms include Slack, Telegram,
RocketChat, Discord, Pushover, Mattermost, Pushbullet, Microsoft Teams, Twillio, Mastodon,
email address, Line, Gotify and Wechat.

COMMANDS:
telegram Send message to telegram
rocketchat Send message to rocketchat
slack Send message to slack
discord Send message to discord
teams Send message to microsoft teams
pushover Send message to pushover
email Send an email
mattermost Send message to mattermost
pushbullet Send message to pushbullet
twillio Send sms via twillio
zulip Send message to zulip
mastodon Set status message for mastodon
line Send message to line messenger
wechat Send message to wechat official account
gotify Send push notification to gotify server
help, h Shows a list of commands or help for one command

GLOBAL OPTIONS:
--help, -h show help (default: false)
```

Check [Documentation Page](https://kha7iq.github.io/pingme/#/) for more details.

## Configuration

All the flags have corresponding environment variables associated with it. You
can either provide the value with flags or export to a variable.

View the [Documentation Page](https://kha7iq.github.io/pingme/#/) for more
details.

## Contributing

Contributions, issues and feature requests are welcome!
Feel free to check
[issues page](https://github.com/kha7iq/pingme/issues). You can also take a look
at the [contributing guide](https://github.com/kha7iq/pingme/blob/master/CONTRIBUTING.md).

## Acknowledgments

This project is based on amazing library [Notify](https://github.com/nikoksr/notify)