Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hrntknr/ntf
A command line application to send notifications, on demand and when commands finish.
https://github.com/hrntknr/ntf
line notifications pushbullet pushover rust slack
Last synced: 2 months ago
JSON representation
A command line application to send notifications, on demand and when commands finish.
- Host: GitHub
- URL: https://github.com/hrntknr/ntf
- Owner: hrntknr
- License: gpl-3.0
- Created: 2020-09-11T12:24:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-07-25T16:32:49.000Z (over 2 years ago)
- Last Synced: 2024-06-19T10:08:06.144Z (7 months ago)
- Topics: line, notifications, pushbullet, pushover, rust, slack
- Language: Go
- Homepage:
- Size: 126 KB
- Stars: 63
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ntf
[![build](https://github.com/hrntknr/ntf/workflows/.github/workflows/build.yml/badge.svg)](https://github.com/hrntknr/ntf/actions?query=workflow%3A.github%2Fworkflows%2Fbuild.yml)
`ntf` brings notification to your shell. This project was inspired by [ntfy](https://github.com/dschep/ntfy).
Compared to ntfy, it has the following advantages
- Works in a single binary
- lightweight
- No need to install additional plug-insHowever, support for the backend type is poorer than ntfy.
## Quickstart
```sh
$ # for linux
$ sudo curl -L https://github.com/hrntknr/ntf/releases/download/v1.0.1/ntf-x86_64-unknown-linux-gnu -o /usr/local/bin/ntf
$ # for mac
$ # sudo curl -L https://github.com/hrntknr/ntf/releases/download/v1.0.1/ntf-x86_64-apple-darwin -o /usr/local/bin/ntf
$ sudo chmod +x /usr/local/bin/ntf$ echo -e 'backends: ["pushover"]\npushover: {"user_key": "t0k3n"}' > ~/.ntf.yml
$ # If you want to use slack, you can do the following
$ # echo -e 'backends: ["slack"]\nslack: {"webhook: "https://hooks.slack.com/services/hogehoge"}' > ~/.ntf.yml
$
$ # send message: "test"
$ ntf send test
$ # override default setting
$ ntf send test --pushover.priority emergency --pushover.retry 60 --pushover.expire 3000
$
$ # exec command: `sleep 1` and send result
$ ntf done sleep 1
$
$ # Enable shell integration
$ echo 'export AUTO_NTF_DONE_LONGER_THAN=10' >> ~/.bashrc
$ echo 'eval "$(ntf shell-integration)"' >> ~/.bashrc
``````
> $ ntf --help
Usage:
[command]Available Commands:
done Execute the command and notify the message
help Help about any command
send send notification
shell-integration shell-integrationFlags:
-h, --help help for this commandUse " [command] --help" for more information about a command.
> $ ntf send --help
send notificationUsage:
send [flags]Flags:
--backends strings
-h, --help help for send
--line.token string
--pushbullet.token string
--pushover.device string
--pushover.expire int
--pushover.priority string
--pushover.retry int
--pushover.user_key string
--slack.color string
--slack.webhook string
--syslog.facility string
--syslog.severity string
-t, --title string override title
```## Supported backend
### [slack: (webhook)](https://api.slack.com/messaging/webhooks)
`~/.ntf.yml` example:
```yml
backends:
- slack
slack:
webhook: 'https://hooks.slack.com/services/****'
color: '#ff0000' #option
```### [discord: (Webhook compatible with slack)](https://discord.com/developers/docs/resources/webhook)
`~/.ntf.yml` example:
```yml
backends:
- slack
slack:
webhook: 'https://discordapp.com/api/webhooks/****/****/slack'
color: '#ff0000' #option
```### [pushbullet](https://pushbullet.com/)
`~/.ntf.yml` example:
```yml
backends:
- pushbullet
pushbullet:
token: '********************'
```### [pushover](https://pushover.net/)
`~/.ntf.yml` example:
```yml
backends:
- pushover
pushover:
user_key: '********************'
priority: 'emergency' #option (emergency|high|normal|low|lowest)
retry: 30 #option
expire: 3600 #option
```### [line](https://notify-bot.line.me/)
`~/.ntf.yml` example:
```yml
backends:
- line
line:
token: '********************'
```### syslog
`~/.ntf.yml` example:
```yml
backends:
- syslog
syslog:
facility: 'user' #option
severity: 'emerg' #option
```## Custom backend
You can add the custom backend you want by simply creating a struct that implements the interface in the backends folder.
Or, submit a backend request that you would like to use via Issue.