Go to file
Bo-Yi Wu f9d5b91b6c remove log message.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2016-04-11 14:54:37 +08:00
certificate Add tls and normal server listen testing. 2016-04-02 00:37:58 +08:00
config [ci skip] update readme. 2016-04-10 13:06:34 +08:00
docker #10 support testing in docker. 2016-04-11 14:10:46 +08:00
gorush remove log message. 2016-04-11 14:54:37 +08:00
script fix sh error. 2016-03-28 15:57:20 +08:00
.editorconfig add editor config 2016-03-24 16:10:46 +08:00
.gitignore update unit testing. 2016-04-07 14:42:38 +08:00
.travis.yml add android push test. 2016-04-01 22:15:10 +08:00
LICENSE Initial commit 2016-03-22 15:15:20 +08:00
Makefile #10 support testing in docker. 2016-04-11 14:10:46 +08:00
README.md remove log message. 2016-04-11 14:54:37 +08:00
gorush.go remove log message. 2016-04-11 14:54:37 +08:00

README.md

Gopush

A push notification server using Gin framework written in Go (Golang).

Build Status Coverage Status Go Report Card codebeat badge

Feature

  • Support Google Cloud Message using go-gcm library for Android.
  • Support HTTP/2 Apple Push Notification Service using apns2 library.
  • Support YAML configuration.
  • Support command line to send single Android or iOS notification.
  • Support Web API to send push notification.

See the YAML config example:

core:
  port: "8088"
  max_notification: 100
  mode: "release"
  ssl: false
  cert_path: "cert.pem"
  key_path: "key.pem"

api:
  push_uri: "/api/push"
  stat_go_uri: "/api/status"

android:
  enabled: false
  apikey: ""

ios:
  enabled: false
  pem_cert_path: "cert.pem"
  pem_key_path: "key.pem"
  production: false

log:
  format: "string" # string or json
  access_log: "stdout" # stdout: output to console, or define log path like "log/access_log"
  access_level: "debug"
  error_log: "stderr" # stderr: output to console, or define log path like "log/error_log"
  error_level: "error"

Basic Usage

How to send push notification using gopush command? (Android or iOS)

Download gopush binary file from release page.

Android

Send single notification with the following command.

$ gopush -android -m="your message" -k="API Key" -t="Device token"

iOS

Send single notification with the following command.

$ gopush -ios -m="your message" -i="API Key" -t="Device token"
  • -m: Notification message.
  • -i: Apple Push Notification Certificate path (pem file).
  • -t: Device token.

The default endpoint is APNs development. Please add -production flag for APNs production push endpoint.

$ gopush -ios -m="your message" -i="API Key" -t="Device token" -production

License

Copyright 2016 Bo-Yi Wu @appleboy.

Licensed under the MIT License.