{"id":13764146,"url":"https://github.com/dimiro1/ipe","last_synced_at":"2025-05-10T17:31:42.039Z","repository":{"id":25749655,"uuid":"29187545","full_name":"dimiro1/ipe","owner":"dimiro1","description":"An open source Pusher server implementation compatible with Pusher client libraries written in GO","archived":true,"fork":false,"pushed_at":"2021-03-28T13:07:21.000Z","size":373,"stargazers_count":367,"open_issues_count":1,"forks_count":83,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-11-16T23:32:38.838Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://dimiro1.github.io/ipe","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimiro1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-13T11:49:19.000Z","updated_at":"2024-09-10T14:37:59.000Z","dependencies_parsed_at":"2022-08-24T14:13:29.728Z","dependency_job_id":null,"html_url":"https://github.com/dimiro1/ipe","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimiro1%2Fipe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimiro1%2Fipe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimiro1%2Fipe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimiro1%2Fipe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimiro1","download_url":"https://codeload.github.com/dimiro1/ipe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253453362,"owners_count":21911083,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T15:01:16.524Z","updated_at":"2025-05-10T17:31:41.607Z","avatar_url":"https://github.com/dimiro1.png","language":"Go","funding_links":[],"categories":["Software Packages","软件包","Other Software","Go Tools","軟件包","Go 工具"],"sub_categories":["Other Software","其他软件","其他软件库和软件包","其他軟件"],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/dimiro1/ipe)](https://goreportcard.com/report/github.com/dimiro1/ipe)\n\nTry browsing [the code on Sourcegraph](https://sourcegraph.com/github.com/dimiro1/ipe)!\n\n# IPÊ\n\nAn open source Pusher server implementation compatible with Pusher client libraries written in Go.\n\n# Why I wrote this software?\n\n1. I wanted to learn Go and I needed a non trivial application;\n2. I use Pusher in some projects;\n3. I really like Pusher;\n4. I was using Pusher on some projects behind a firewall;\n\n# Features\n\n* Public Channels;\n* Private Channels;\n* Presence Channels;\n* Web Hooks;\n* Client events;\n* Complete REST API;\n* Easy installation;\n* A single binary without dependencies;\n* Easy configuration;\n* Protocol version 7;\n* Multiple apps in the same instance;\n* Drop in replacement for pusher server;\n\n# Download pre built binaries\n\nYou can download pre built binaries from the [releases tab](https://github.com/dimiro1/ipe/releases).\n\n# Building\n\n```console\n$ go get github.com/dimiro1/ipe\n```\n\nor simply\n\n```console\n$ go install github.com/dimiro1/ipe\n```\n\nBuilding from a local checkout\n\n```console\n$ git clone https://github.com/dimiro1/ipe.git\n$ cd ipe/cmd\n$ go build -o ipe\n```\n\n# How to configure?\n\n## The server\n\n```yaml\n\n---\nhost: \":8080\"\nprofiling: false\nssl:\n  enabled: false\n  host: \":4343\"\n  key_file: \"key.pem\"\n  cert_file: \"cert.pem\"\napps:\n  - name: \"Sample Application\"\n    enabled: true\n    only_ssl: false\n    key: \"278d525bdf162c739803\"\n    secret: \"${APP_SECRET}\" # Expand env vars\n    app_id: \"1\"\n    user_events: true\n    webhooks:\n      enabled: true\n      url: \"http://127.0.0.1:5000/hook\"\n\n```\n\n## Libraries\n\n### Client javascript library\n\n```javascript\nlet pusher = new Pusher(APP_KEY, {\n  wsHost: 'localhost',\n  wsPort: 8080,\n  wssPort: 4433,    // Required if encrypted is true\n  encrypted: false, // Optional. the application must use only SSL connections\n  enabledTransports: [\"ws\", \"flash\"],\n  disabledTransports: [\"flash\"]\n});\n```\n\n### Client server libraries\n\nRuby\n\n```ruby\nPusher.host = 'localhost'\nPusher.port = 8080\n```\n\nPHP\n\n```php\n$pusher = new Pusher(APP_KEY, APP_SECRET, APP_ID, DEBUG, \"http://localhost\", \"8080\");\n```\n\nGo\n\n```go\npackage main\n\nimport \"github.com/pusher/pusher-http-go\"\n\nfunc main() {\n\tclient := pusher.Client{\n        AppId:  \"APP_ID\",\n        Key:    \"APP_KEY\",\n        Secret: \"APP_SECRET\",\n        Host:   \":8080\",\n    }\n\t\n\t// use the client\n}\n```\n\nNodeJS\n\n```javascript\nlet pusher = new Pusher({\n  appId: APP_ID,\n  key: APP_KEY,\n  secret: APP_SECRET\n  domain: 'localhost',\n  port: 80\n});\n\n```\n\n# Logging\n\nThis software uses the [glog](https://github.com/golang/glog) library\n\nfor more information about logging type the following in console.\n\n```console\n$ ipe -h\n```\n\n# When use this software?\n\n* When you are offline;\n* When you want to control your infrastructure;\n* When you do not want to have external dependencies;\n* When you want extend the protocol;\n\n# Contributing.\n\nFeel free to fork this repo.\n\n# Pusher\n\nPusher is an excellent service, their service is very reliable. I recommend for everyone.\n\n# Where this name came from?\n\nHere in Brazil we have this beautiful tree called [Ipê](http://en.wikipedia.org/wiki/Tabebuia_aurea), it comes in differente colors: yellow, pink, white, purple.\n\n[I want to see pictures](https://www.flickr.com/search/?q=ipe)\n\n# Author\n\nClaudemiro Alves Feitosa Neto\n\n# LICENSE\n\nCopyright 2014, 2018 Claudemiro Alves Feitosa Neto. All rights reserved.\nUse of this source code is governed by a MIT-style\nlicense that can be found in the LICENSE file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimiro1%2Fipe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimiro1%2Fipe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimiro1%2Fipe/lists"}