Skip to content
An unofficial Pushover Client for Linux written in Go
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
icon
webinterface
.gitignore
LICENSE
README.md
config.go
main.go
notifications.go
notify_linux.go
pushover_client.go
webserver.go
webserver_helpers.go

README.md

Icon SchubsiGo

An unofficial Pushover Client for Linux written in Go.

Features

  • Uses native desktop notifications
  • Login and register device via simple webinterface
  • Supports opening URLs directly from the notification
  • Supports 2 Factor Authentication logins

Missing features from the Pushover Open Client specification

  • Playing sounds with notifications (Intentionally left out since I just hate notification sounds)
  • Working with or acknowledging Emergency-Priority Messages (might be implemented in the future)
  • Displaying a list of all notifications sorted by Application. This is not really in the scope of this program; I only really wanted to display incoming messages as desktop notifications. It would be possible to integrate this into the webinterface, however.

Installation

go get github.com/jangxx/SchubsiGo

You can also download a binary from the releases page.

Usage

After starting the program, an icon appears in the system tray area. Clicking on it opens the webinterface in the default webbrowser. You can then proceed to login and register your device there. Afterwards, you can use the webinterface to see your login status and log out.

Building the binary yourself

Install go.rice by running

go get github.com/GeertJohan/go.rice
go get github.com/GeertJohan/go.rice/rice

Install libgtk3. The exact way to do this differs by distro, so here is an example for Ubuntu (and it's derivatives):

sudo apt install libgtk-3-dev

Clone this repository and run

rice embed-go
go build

Modifying the web interface

  1. Install node.js
  2. Install gulp
npm i -g gulp-cli
  1. Install dependencies:
cd webinterface
npm i
  1. Run gulp
gulp

You are now able to change the files around and gulp automatically updates the build/ directory.

If you are done, simply run gulp build --production to build and minify all assets of the webinterface.

Attributions

The icon is a modified version of an icon by Freepik from www.flaticon.com licensed by CC 3.0 BY.

You can’t perform that action at this time.