57

GitHub - gotify/cli: A command line interface for pushing messages to gotify/ser...

 5 years ago
source link: https://github.com/gotify/cli
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Gotify-CLI travus-badge badge-release

Gotify-CLI is a command line client for pushing messages to gotify/server. It is not required to push messages. See alternatives.

gotify_cli.gif

Features

  • stores token/url in a config file
  • initialization wizard
  • piping support (echo message | gotify push)
  • simple to use

Alternatives

You can simply use curl, HTTPie or any other http-client to push messages.

$ curl -X POST "https://push.example.de/message?token=<apptoken>" -F "title=my title" -F "message=my message"
$ http -f POST "https://push.example.de/message?token=<apptoken>" title="my title" message="my message"

Installation

Download the latest release for your os: (this example uses version v1.2.0)

$ wget -O gotify https://github.com/gotify/cli/releases/download/v1.2.0/gotify-cli-linux-amd64
# or
$ curl -Lo gotify https://github.com/gotify/cli/releases/download/v1.2.0/gotify-cli-linux-amd64

Make gotify executable:

$ chmod +x gotify

Test if the Gotify-CLI works: (When it doesn't work, you may have downloaded the wrong file or your device/os isn't supported)

$ gotify version

It should output something like this:

Version:   1.2.0
Commit:    ec4a598f124c149802038c74571aa704a6660c4a
BuildDate: 2018-11-24-19:41:36

(optional) Move the executable to a folder on your $PATH:

$ mv gotify /usr/bin/gotify

Now you can either run the initialization wizard or create a config manually. This tutorial uses the wizard.

$ gotify init

When you've finished initializing Gotify-CLI, you are ready to push messages to gotify/server.

Here are some examples commands, you can view the "push help" via gotify help push (or have a look at push help).

$ gotify push my message
$ gotify push "my message"
$ echo my message | gotify push
$ gotify push < somefile
$ gotify push -t "my title" -p 10 "my message"

Help

Uses version v1.2.0

$ gotify help
NAME:
   Gotify - The official Gotify-CLI

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

VERSION:
   1.2.0

COMMANDS:
     init        Initializes the Gotify-CLI
     version, v  Shows the version
     config      Shows the config
     push, p     Pushes a message
     help, h     Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

Push help

$ gotify help push
NAME:
   gotify push - Pushes a message

USAGE:
   gotify push [command options] <message-text>

DESCRIPTION:
   the message can also provided in stdin f.ex:
   echo my text | gotify push

OPTIONS:
   --priority value, -p value  Set the priority (default: 0)
   --title value, -t value     Set the title (empty for app name)
   --token value               Override the app token
   --url value                 Override the Gotify URL
   --quiet, -q                 Do not output anything (on success)

Configuration

Note: The config can be created by gotify init.

Gotify-CLI will search the following paths for a config file:

  • /etc/gotify/cli.json
  • ~/.gotify/cli.json
  • ./cli.json

Structure

name description example token an application token (a client token will not work) A4ZudDRdLT40L5X url the URL to your gotify/server https://gotify.example.com

Config example

{
  "token": "A4ZudDRdLT40L5X",
  "url": "https://gotify.example.com"
}

Dockerfile

The Dockerfile contains the steps necessary to build a new version of the CLI and then run it in a minimal Alpine container.

Build:

docker build -t gotify/gotify-cli .

Run (this assumes your cli.json file is in the current working directory):

docker run -it -v "$PWD/cli.json:/home/app/cli.json" gotify/gotify-cli:latest push -p 5 "Test from Gotify CLI"

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK