IPÊ

This software is written in Go - the WYSIWYG lang

Why I wrote this software?

I wanted to learn Go and I needed a non trivial application; I use Pusher in some projects; I really like Pusher;

Features

Public Channels;

Private Channels;

Presence Channels;

Web Hooks;

Client events;

Complete REST API;

Easy instalation;

A single binary without dependencies;

Easy configuration;

Protocol version 7;

Multiple apps in the same instance;

Drop in replacement for pusher server;

Download pre built binaries

You can download pre built binaries from the releases tab.

I do not have a Windows machine, so I can only distribute binaries for amd64 linux and amd64 darwin.

Building

$ go get github.com/dimiro1/ipe

or simply

$ go install github.com/dimiro1/ipe

How to configure?

The server

{ " Host " : " :8080 " , " SSL " : false , " SSLHost " : " :4433 " , " SSLKeyFile " : " A key.pem file " , " SSLCertFile " : " A cert.pem file " , " Apps " : [ { " ApplicationDisabled " : false , " Secret " : " A really secret random string " , " Key " : " A random Key string " , " OnlySSL " : false , " Name " : " The app name " , " AppID " : " The app ID " , " UserEvents " : true , " WebHooks " : true , " URLWebHook " : " Some URL to send webhooks " } ] }

Libraries

Client javascript library

var pusher = new Pusher ( APP_KEY , { wsHost : ' localhost ' , wsPort : 8080 , enabledTransports : [ " ws " , " flash " ], disabledTransports : [ " flash " ] });

Client server libraries

Ruby

Pusher .host = ' localhost ' Pusher .port = 8080

PHP

$pusher = new Pusher ( APP_KEY , APP_SECRET , APP_ID , DEBUG , " http://localhost " , " 8080 " );

NodeJS

var pusher = new Pusher ({ appId : APP_ID , key : APP_KEY , secret : APP_SECRET domain : ' localhost ' , port : 80 });

Logging

This software uses the glog library

for more information about logging type the following in console.

$ ipe -h

When use this software?

When you are offline;

When you want to control your infrastructure;

When you do not want to have external dependencies;

When you want extend the protocol;

Feel free to fork this repo.

Pusher

Pusher is an excelent service, their service is very reliable. I recomend for everyone.

Where this name came from?

Here in Brazil we have this beautiful tree called Ipê, it comes in differente colors: yellow, pink, white, purple.

I want to see pictures

Author

Claudemiro Alves Feitosa Neto

LICENSE

Copyright 2014, 2015, 2016 Claudemiro Alves Feitosa Neto. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file.