3.1 KiB
		
	
	
	
	
	
			
		
		
	
	
			3.1 KiB
		
	
	
	
	
	
Gopush
A push notification server using Gin framework written in Go (Golang).
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"
-m: Notification message.-k: Google cloud message 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 (pemfile).-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
Run gopush with web server
Please make sure your config.yml exist. Default port is 8088.
$ gopush -c config.yml
Test status of api server using httpie tool:
$ http -v --verify=no --json GET https://localhost:8088/api/status
License
Copyright 2016 Bo-Yi Wu @appleboy.
Licensed under the MIT License.
