2015-01-18 08:01:15 -03:00
2015-01-16 22:35:41 -03:00
2015-01-16 13:16:08 -03:00
2015-01-17 08:21:49 -03:00
2015-01-16 13:17:22 -03:00
2015-01-14 13:19:11 -03:00
2015-01-17 19:58:46 -03:00
2015-01-17 19:58:46 -03:00
2015-01-17 19:58:46 -03:00
2015-01-13 20:53:12 -03:00
2015-01-02 18:20:27 -03:00
2015-01-14 13:19:11 -03:00
2015-01-12 21:15:36 -03:00
2015-01-02 18:20:27 -03:00
2015-01-17 08:21:23 -03:00
2015-01-14 13:16:54 -03:00
2015-01-18 08:01:15 -03:00
2015-01-02 18:20:27 -03:00
2015-01-16 22:37:45 -03:00
2015-01-12 21:15:36 -03:00
2015-01-17 19:58:46 -03:00
2015-01-18 08:01:15 -03:00

IPÊ

This software is written in Go - the WYSIWYG lang

Why I wrote this software?

  1. I wanted to learn Go and I needed a non trivial application;
  2. I use Pusher in some projects;
  3. 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;

Building

This software use the standard GOPATH structure and Godep as "dependency manager", so, install godep first.

Then from the project directory execute:

$ godep restore
$ go install github.com/dimiro1/ipe

How to configure?

The server

{
	"Host": ":8080",      // Host and Port
	"Expvar": true,       // Export variables to /debug/vars
	"User": "Username",   // Username for Expvar
	"Password": "123456", // Password for Expvar
	"Apps": [
		{
			"ApplicationDisabled": false, // Disable this app
			"OnlySSL": false,             // If this application is avaibale only in SSL
			"Secret": "APP_SECRET", // The secret key, do't tell anyone
			"Key": "APP_KEY",       // Application Key
			"Name": "APP_NAME",     // This app name
			"AppID": "APP_ID",      // This app ID
			"UserEvents": true,     // true if Client events are enabled
			"WebHooks": true,       // true if WebHooks are enabled
			"URLWebHook": "http://localhost:4567/php/hook.php" // Url for webhooks
		}
	]
}

Libraries

Client javascript library

var pusher = new Pusher(API_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;

Contributing.

Feel free to fork this repo.

Pusher

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

Where this name came from?

Here in Brazil we have this beatiful 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 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.

S
Description
No description provided
Readme MIT
4.8 MiB
Languages
Go 92.5%
JavaScript 5.9%
HTML 0.7%
Dockerfile 0.6%
Shell 0.2%
Other 0.1%