ghrr v1.0.0
Github Realtime Relay
Receive all Github events in realtime with socket.io from the Github Realtime Relay. This is probably the simplest way to create a realtime application on top of Github.
Server (Node)
Install the socket.io-client from npm.
npm install socket.io-clientTo receive all events you can hook onto the /events namespace
and subscribe to a specific Github Event. Please use lower case for subscribing to the event types.
var url = 'http://ghrr.lukasmartinelli.ch:80/events';
var socket = require('socket.io-client')(url);
socket.on('pushevent', function(event){
console.log('Push: ' + event.repository.full_name);
});There is also a /statistics namespace used by the GHRR web interface that
sends usage statistics for the Event Types.
var url = 'http://ghrr.lukasmartinelli.ch:80';
var io = require('socket.io-client')(url);
io('/statistics').on('types', function(typeCounts) {
console.log('PushEvents: ' + typeCounts.pushevent);
}Web Application
You need to add the socket.io-client to your web application.
<script src="//cdn.jsdelivr.net/socket.io-client/1.2.0/socket.io.js"></script>You can now connect directly to the public websocket. We support CORS for all domains so you should not encounter any problems.
var url = 'ghrr.lukasmartinelli.ch:80/events';
var socket = io(url);
socket.on('pushevent', function (event) {
console.log('Push: ' + event.repository.full_name);
});Host it yourself
Install with npm.
npm install ghrrIn order to poll all events you need an OAUTH access token.
Run the github realtime relay with a poll rate of 1000 and on port 80.
npm install ghrr
npm run start "YOUR GITHUB ACCESS TOKEN" 1000 80Now you can visit the status page displaying live statistics.

11 years ago