mirror of
https://github.com/kha7iq/pingme.git
synced 2025-05-15 14:20:18 -07:00
232 lines
6.8 KiB
Markdown
232 lines
6.8 KiB
Markdown
<!-- markdownlint-disable MD033 -->
|
||
<!-- markdownlint-disable-next-line -->
|
||
<h2 align="center">
|
||
<br>
|
||
<p align="center"><img width=30% src="https://raw.githubusercontent.com/kha7iq/pingme/master/.github/img/logo.png"></p>
|
||
</h2>
|
||
|
||
<h4 align="center">PingMe CLI</h4>
|
||
|
||
<p align="center">
|
||
<a href="https://github.com/kha7iq/pingme/releases">
|
||
<img alt="Release" src="https://img.shields.io/github/v/release/kha7iq/pingme">
|
||
<a href="https://goreportcard.com/report/github.com/kha7iq/pingme">
|
||
<img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/kha7iq/pingme">
|
||
<a href="#">
|
||
<img alt="Build" src="https://img.shields.io/github/workflow/status/kha7iq/pingme/goreleaser">
|
||
<a href="https://github.com/kha7iq/pingme/issues">
|
||
<img alt="GitHub issues" src="https://img.shields.io/github/issues/kha7iq/pingme?style=flat-square&logo=github&logoColor=white">
|
||
<a href="https://github.com/kha7iq/pingme/blob/master/LICENSE.md">
|
||
<img alt="License" src="https://img.shields.io/github/license/kha7iq/pingme">
|
||
<a href="https://github.com/agarrharr/awesome-cli-apps#devops">
|
||
<img alt="Awesome" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg">
|
||
<a href="https://pkg.go.dev/github.com/kha7iq/pingme">
|
||
<img alt="Go Dev Reference" src="https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat">
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="https://kha7iq.github.io/pingme">Documentation</a> •
|
||
<a href="#supported-services">Supported Services</a> •
|
||
<a href="#install">Install</a> •
|
||
<a href="#github-action">Github Action</a> •
|
||
<a href="#configuration">Configuration</a> •
|
||
<a href="#contributing">Contributing</a> •
|
||
<a href="#show-your-support">Show Your Support</a>
|
||
</p>
|
||
|
||
---
|
||
|
||
## 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.4"
|
||
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!<br/>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).
|
||
|
||
## Show your support
|
||
|
||
Give a ⭐️ if you like this project!
|
||
|
||
Fork it ⚙️
|
||
|
||
Make it better 🕶️
|
||
|
||
## Acknowledgments
|
||
|
||
This project is based on amazing library [Notify](https://github.com/nikoksr/notify)
|