{"_id":"hornet","_rev":"54-7f52ff7c71d8262110ec04fb3377398a","name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"hornet","description":"Realtime engine for pub/sub in web applications. Backed by Socket.io, redis.","version":"0.1.0","author":{"name":"Nectify"},"repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"main":"hornet","engines":{"node":"v0.4.0"},"bin":{"hornet":"./hornet.js"},"dependencies":{"socket.io":"*","redis":"*","winston":"*"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_id":"hornet@0.1.0","_engineSupported":true,"_npmVersion":"0.2.18","_nodeVersion":"v0.4.0","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"2437d6da135af90b1ec30ef63f7ce3b9f79dee79","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.1.0.tgz","integrity":"sha512-P8XF6lEf2mF6NvMNyKKKHuZ1jO1MTNqMUgEcA/kAqQTPdYWu8f3sAJ+3g/r6wFZsR2bJPnz45lPibojtlxoVow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIClMESP69IP8a5cFL5jsT0bfmMzBoqQ29f/CYAZWgoEoAiEA6gc9hUKPXhuXuABL8FFnsEYxYT2HwiK56XSwOzQa1aY="}]}},"0.1.1":{"name":"hornet","description":"Realtime engine for pub/sub in web applications. Backed by Socket.io, redis.","version":"0.1.1","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"lib":"./lib","public":"./public"},"main":"hornet","engines":{"node":"v0.4.0"},"bin":{"hornet":"./hornet.js"},"dependencies":{"socket.io":"*","redis":"*","winston":"*"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_id":"hornet@0.1.1","_engineSupported":false,"_npmVersion":"0.3.18","_nodeVersion":"v0.5.0-pre","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"b90dcda23b98383528a5c79053e40ae203156cf3","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.1.1.tgz","integrity":"sha512-GipR5ZlW6M5e2KNXsR3MGCd1CTtI93ZcViE1D5uNJSfU66sw8Iw7filD/BhUAE1P1h4NhwOceh/qQ4goJTYVNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDadoob7LOombm9bc/wD0XXmY+XRKhQWWjM3196BnMRFQIhAK0OCTgIrrsmsHJ8XJsYdrR51tLB2PvEnzSKCZtAaeWJ"}]}},"0.1.2":{"name":"hornet","description":"Realtime engine for pub/sub in web applications. Backed by Socket.io, redis.","version":"0.1.2","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"lib":"./lib","public":"./public"},"main":"hornet","engines":{"node":">=0.4"},"bin":{"hornet":"./hornet.js"},"dependencies":{"socket.io":"*","redis":"*","winston":"*"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_id":"hornet@0.1.2","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.5.0-pre","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"f1d0f1ef91d022febca3fa792cd036150de39281","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.1.2.tgz","integrity":"sha512-stLtmWv3/zLdzmr4FfiwEKcKad3+PIST8ma6Kc0dwOy08kQfVwtbI+ziL2IfrWOZkbsxmGCXo2g2RAToszAdFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDL77h7z4yVHCf43TgkRzvpdAfpvpabcSoAcWOBcjgwEQIgRICxSAWcZ/6Ekw2x7yaISRkl+RTVutCYPOtT6dqHF4Q="}]}},"0.1.3":{"name":"hornet","description":"Realtime engine for pub/sub in web applications. Backed by Socket.io, redis.","version":"0.1.3","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"lib":"./lib","public":"./public"},"main":"hornet","engines":{"node":">=0.4"},"bin":{"hornet":"hornet.js"},"dependencies":{"socket.io":"*","redis":"*","winston":"*"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_id":"hornet@0.1.3","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.5.0-pre","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"e71cbc135d90eaaaf422c0bfd7ae28d11b333aa8","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.1.3.tgz","integrity":"sha512-XnHsg3wXnnxsILh6mnVMAsBCIxetYY/i0t9PvwFT/v2792LMWvQGpD6RgCEwf9cntl7RULViac8C1fRADNh2pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANJCS4Gg/HSChy+2m4cgu9qtC5gOQURpc7v7gRINmSCAiEAl8IfvCgDZrP5gv6K83Y1xFdwlLQvjbaPdNhOpPcNe5g="}]}},"0.1.4":{"name":"hornet","description":"Realtime engine for pub/sub in web applications. Backed by Socket.io, redis.","version":"0.1.4","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.4"},"bin":{"hornet":"./bin/hornet"},"dependencies":{"socket.io":"*","redis":"*","winston":"*"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_id":"hornet@0.1.4","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.5.0-pre","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"63e135f59cc510a917f5eb4f1e1ed64b298000ee","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.1.4.tgz","integrity":"sha512-F9Y2zQolqH1qB/dUDnkGAy2C2kLW64W7wVAZj94Lpfyx6AZEaF6ljMjGOOpoKNLakoBhydGlAmY4SEDgUSPCuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIASgsnwUwssnyH2HhkEZOfS2NGy9cdEfbm0EiBUF15dJAiABKzIRVYtRQxpfj7Dx+VQ9w9a9DYBug53xUL6/YJJ77w=="}]}},"0.1.5":{"name":"hornet","description":"Realtime engine for pub/sub in web applications. Backed by Socket.io, redis.","version":"0.1.5","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.4"},"bin":{"hornet":"./bin/hornet"},"dependencies":{"socket.io":"*","redis":"*","winston":"*"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_id":"hornet@0.1.5","_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.5.0-pre","files":[""],"_defaultsLoaded":true,"dist":{"shasum":"b6e507cce4dea8260b50ca7c04091345f6fae6a4","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.1.5.tgz","integrity":"sha512-Uemursr5q/B3ADButvpfuKI7dqG9Bc5A66jzNK4jhmVrOD6CwyMwFN3oNU4ZYvu6BQogbBUPwo4MJdNG3TZElg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1zHoW/ALGRZimzjAeY2ko4D5CcvcsJd0/htdADgfZDAiEA1mCyen+qFCTbxtNvR97at0eF3kqrNm8ULPN+Rt0LhdE="}]}},"0.2.0":{"name":"hornet","description":"Realtime engine for secured pub/sub in web applications. Backed by Socket.io, redis.","version":"0.2.0","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.4"},"bin":{"hornet":"./bin/hornet"},"dependencies":{"socket.io":"0.7.x","redis":"0.6.x","winston":"0.3.x"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmJsonOpts":{"file":"/Users/robin/.npm/hornet/0.2.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"hornet@0.2.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.5.0-pre","_defaultsLoaded":true,"dist":{"shasum":"9f57272cc9e4e935fd5b2a5961f6ea6590f65cee","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.2.0.tgz","integrity":"sha512-XGAJ6E0Xt9oEZIWDIKYaciFF5mmALK0DHoSyaYGkJ4tCV6Jy6P4f3+1RFzWduvA534v/Xy4Xccg4l3TQDzlZGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZQ0/CjTjc6yTZB3GqBWYFiNa6GBev7Ei4K9354vmcCAiEAtKHmbkzt8u4qQtfkbq3rpw7lZvfL7lXfDzdDHsgZ8mU="}]},"scripts":{}},"0.2.1":{"name":"hornet","description":"Realtime engine for secured pub/sub in web applications. Backed by Socket.io, redis.","version":"0.2.1","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.4"},"bin":{"hornet":"./bin/hornet"},"dependencies":{"socket.io":"0.7.x","redis":"0.6.x","winston":"0.3.x"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmJsonOpts":{"file":"/root/.npm/hornet/0.2.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"hornet@0.2.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.13","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"8916fefde8f4207ef4e8f84f00efad9a59e12ec7","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.2.1.tgz","integrity":"sha512-9UcXIe+XPvU52VshZEeF0qNjs52Zg7nwXRU20WzggeD5e5/YxKAQcZlCwl9uuesyAMiFIpScNc85Zzs8TXLY/g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtQGfFdD4MDHZQMsGGl8FDnIminYMLASZjKCmMh3hA8AiBivPPU/esXu+uIb4wNx51F6I3h1p8TRVMCj6ftUS4Ulw=="}]},"scripts":{}},"0.2.2":{"name":"hornet","description":"Realtime engine for secured pub/sub in web applications. Backed by Socket.io, redis.","version":"0.2.2","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.4"},"bin":{"hornet":"./bin/hornet"},"dependencies":{"socket.io":"0.7.x","redis":"0.6.x","winston":"0.3.x"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmJsonOpts":{"file":"/Users/robin/.npm/hornet/0.2.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"hornet@0.2.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"e3c7231ccdbcd6d2b4bc0961e239afa46f19731f","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.2.2.tgz","integrity":"sha512-AL93QmSOXC4UczSixpGCiWIf4Zf+4vFHZ2EMTW2FFVEHLSlVIgd1CTEXnkZFr16f5q9IWmowjx8Npv1vWUcy6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmJrmzBCLptwL9mVS2FkF25RGAEleNEEss4SiTJrn1IgIhAOo2Ii++O3HACGrVcKOvQjN2Lvh8vKEwn7odV+XtLrLN"}]},"scripts":{},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.2.3":{"name":"hornet","description":"Realtime engine for secured pub/sub in web applications. Backed by Socket.io, redis.","version":"0.2.3","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.4"},"bin":{"hornet":"./bin/hornet"},"dependencies":{"socket.io":"0.8.4","redis":"0.6.x","winston":"0.3.x"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmJsonOpts":{"file":"/Users/robin/.npm/hornet/0.2.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"hornet@0.2.3","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.15","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"1310ce5cc477fc1e2239f5355da71e9271a6f835","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.2.3.tgz","integrity":"sha512-lIhvzOe4vjUMvMca+p4DYyDCC0E9+knOde4Qd0cw8vcHR3jp0nTtzidBDJCTK8wxOD7zAvJNA1vAxfQx6OaWeQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7tISHGkguTe12rcOh9J8NKWM8w6tCCIIJab6W/IN3twIhAIsWRrz9PctI73qBPqdcfYjhyat4bmYgPPbzuJytdNs8"}]},"scripts":{},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.2.4":{"name":"hornet","description":"Realtime engine for secured pub/sub in web applications. Backed by Socket.io, redis.","version":"0.2.4","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.4"},"bin":{"hornet":"./bin/hornet"},"dependencies":{"socket.io":"0.8.7","redis":"0.6.x","winston":"0.3.x"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.2.4","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"a31700c5d1fda18031b298a1425485a14f1fee37","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.2.4.tgz","integrity":"sha512-AU92gwOvjycshqu/vAzYAgVzWmjTs4o27a/lAcQZekgVzkjQlm69fY8myeljLCsLe4wxrHggcQc3IjbMELVeMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtxu4+l5QZULU9+Wvz+kMu+ojpkNkaAG90Q/iEguKH3gIhAJuzaswVdsgrT13xvNJwIKmt1zQ0IiFJ+Psande9ozpe"}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.1":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.1","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.1","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"cb6d52cae9a658597c536410374967f4004a3779","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.1.tgz","integrity":"sha512-Rr+n8KWYxz4LQsBaxlHN2fNW1PXuRAQQh7Oc9wXdqwHP1VN9G6rR/sxexKHNdhUuyoxpda+49yGWaQ4TTnVqOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHbVg/s/ZVc6SSPUqq/HtoF9Yhyn2jJgEi3y/Vdffh0lAiB5sk5ylX42PRnexeYIVUKVrTJFPIwRo+MwLYM7/NOWrQ=="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.2":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.2","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.2","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"a9a5d6ad81a6b1f91bd2d66e42fe6dfb33fd880e","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.2.tgz","integrity":"sha512-8mz/UUUejo4XJfK1vk02X/rLzjwJhaMantJXpoj80S0lex8LbG7c7Zg5YF3tl8G7w9kMQxp8fnlmEhmfhd+1MQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEDX3RtviNRr87Tp4CDMEnakJzwhfbpO2x26ltuhuHmHAiAzpPE6PHnSqwD3Rxrzr71mzVmRh7t9gzENOuPEViRNsQ=="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.3":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.3","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.3","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"5638bd8e23465314a9b0b22b9285c055be52c0b6","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.3.tgz","integrity":"sha512-AkXGsq7mIzZXvaQdBjZ5Oz5E5Jx5LZ5NiWtf2RKPMYOsMainoHRP4MvmmMeGBHEE9yuAjl+kKuVElwwgmCK0+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGPHoIrIObLf6NnK+8h0XfU/TnYla3joJyNVH4b+qy+1AiEA7DInBIUjAuBZKUXSoWVkM/5HfFrzxfDogDs0hzkPpLg="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.4":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.4","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.4","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"a9d9c2fb9b41574e3309acd731844a06a5824480","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.4.tgz","integrity":"sha512-NIg3qa5FH5W04FETLFVvJKPA24x/IJm/Laog2Z7s6j1BHkA5ObdEzZSqusdPEu3/KJ+lloMecUdLgmw1U779Ng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgx3lJiJlXs/gx8zxZb21QoRv87m7FLyGm5gHoB+3f7AiBsh48NsrpuakWQv1Vcw6SkxGhHylDQdIQQZHOzbfE45A=="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.5":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.5","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.5","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"886dec3781443bf1a668e2000652f215ade7f131","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.5.tgz","integrity":"sha512-CYuUs3yyrG8qJRa/p0nJPclC3OVJP6+kSTxFdJBfZ0tcwR9IPuvGPO9gmopzi5NTadwDb5YPqkMxSrU+3k0PPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtyemfpk+q4CXPnLzAbawVLvyBZCs9HKY4+QAyh6qfRAiBk/iX35fckjJuXwHdEemAtmAMRyZXhuK8Px306Q4DPlQ=="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.6":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.6","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.6","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"b079dbe95ba6ea167744caf074c897a0ac6b431e","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.6.tgz","integrity":"sha512-z6JvTc8TB35D4VsKuNP05feE9DfZU+OieKB/M0BS8T5qljAIKgnhI+QY9GJfYmqcGKfucSnTamMMGinw/DSjMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYtmw7UyB563ZOirrYcxx3C+mfaTPB0ARi3IUySgFsKQIhAK+g3NmxaXVSdc+IDOZFe7yP8GXgJr1Sr1ZMfi0jvCzc"}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.7":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.7","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.7","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"5670ba6c1000af37764016eb7dc8d464a12fbf92","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.7.tgz","integrity":"sha512-wfriwgRaeTK6BL5i64Jq/4Pkp9/u2d6tOI8puncLuGrp4u3KVkKMoF0HUB4dP0uzyQgE+TUwzwBvt6nA9LZLxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDYNgr/uIRBnogW/reH3rqFGPX7xme0UpZchuhPmjMqwIgKR54eavVNqxZ6an9G830U3aKgreUTBA8Bh/CrHJInUM="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.8":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.8","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.8","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"f6af5ab5542357d05c6e44652f19420a27f1f1e2","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.8.tgz","integrity":"sha512-yjGKdT3O5NWquDOdkItuxwl0ZEoZX6wTdY4El30OpjdcGwxAGt9ii20L6HJykchQzcJmjPznmWK8096tGR/EHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcXNN7tRlBBaFd6SacOKpMbj0l/gzWF9w87pTrTRbwpQIhANpE9Y6x7skuEDVCXo6+MTW8XoQAJ7bkiY+BGeBA0wru"}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.9":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.9","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.9","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"3fba26388dbe8465da55a52902448df72a64447e","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.9.tgz","integrity":"sha512-HjN5vett+MAhxbVqGOWbJohGYEBHxAwlGKuFYHEKTMFn6hZnRrorqGuvdUBHC2sg9htGYJEJToHjDC1pk/z4JQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7GyQNui+TmDGdLkh3rHYHAwosw45QrZsqvwOtARrMGwIgDhjBh4wS3bKPxy8s9ZTQBSc+AWJN6kYuz9RI6FXfV0A="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.10":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.10","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.10","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"2e1c7f2f2502e824d484f894ad31abfc629ac42f","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.10.tgz","integrity":"sha512-eBALuBBqpR2iBilIymFEeECtLy2AQHkzi/2FozUWdtIz/L3bN64Rc+JmO7zpcUQiMBokTFFd3P9EwejPTORXWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0hYwh6e+WwvElMuiBYLUbsDfdQvelOxnLhQBZes3BdAIhAKp5pl0Kf4qKu+q+gnZsXkW5QGnFxhbJHBHEphJLkxyo"}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.11":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.11","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx","darwin"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.11","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"5248d4ce1b0a16c1814c443283979ac0a0644d49","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.11.tgz","integrity":"sha512-d4xjkdDM7dG6x/WU6mSCSoWoB3OYNBt1l0PQOUrWktZ4/K42kzpP84vEHI1cO5uimSHpdKsF+w5558W4i+/NyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh1pFdzE24Ad5rN2SUTNkkCRYtNWBoZfaoRg5k4VXogQIgbgO1XC2CHLz7zEdn/297A71+hTIxvbqyWu09m2d3mYY="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.12":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.12","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx","darwin"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.12","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"ac1505c9367d23d61775382424ff9a39b1ed8351","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.12.tgz","integrity":"sha512-uo+3CinK/6R29wtMlQm7hEtF7nxAC1WiqI01rfHnqHbzsi4AEYuKM+I9HuyvDqGK03BOmLroJVCrocXPWGNN4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZY7QLg1vLPlkFPIcNhkGzD1xWLn/7u6gTDuRiJuXUgwIgIMX1l2BQYEk1RNMOj5gqzbxHBfYYGcDhotI/DjZZPoA="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.3.13":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.3.13","repository":{"type":"git","url":"git@github.com:nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx","darwin"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"engines":{"node":">=0.6.5"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"socket.io":"0.8.7","redis":"0.6.x","uglify-js":"1.2.5","winston":"0.5.9","pkginfo":"0.2.x"},"devDependencies":{"mocha":"0.10.1","should":"0.5.1","socket.io-client":"0.8.7","assertvanish":"0.0.3-1"},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"_npmUser":{"name":"robink","email":"robin.komiwes@gmail.com"},"_id":"hornet@0.3.13","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.5","_defaultsLoaded":true,"dist":{"shasum":"af39cc97fc8539ea0247594e16b8218cc1eeddd7","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.3.13.tgz","integrity":"sha512-iicgdXz1mX+HtrI6zFZENPjAYiDbEH9H/skpYOTef4W4Gj2x5rPpGw5153WFSJm0F2yoDUGo7Vx0xcpdjdWvlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICCdUIbAxyVYBQ8l9m4lN9AEIhhddEZT7xdceoti3JLzAiB3abHL83qUoEPb8DGh3w/QnvYTA4w1lW5RR8T5l+MNcg=="}]},"maintainers":[{"name":"robink","email":"robin.komiwes@gmail.com"},{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"}]},"0.4.0":{"name":"hornet","description":"Realtime engine for easy and secured pub/sub in web applications. Backed by Socket.io and redis","version":"0.4.0","repository":{"type":"git","url":"git+ssh://git@github.com/nectify/hornet.git"},"contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"os":["linux","osx","darwin"],"directories":{"bin":"./bin","lib":"./lib","public":"./public"},"bin":{"hornet":"./bin/hornet"},"main":"index","dependencies":{"pkginfo":"0.2.x","redis":"^2.8.0","socket.io":"^2.1.1","uglify-js":"1.2.5","winston":"^3.1.0"},"devDependencies":{},"licenses":[{"type":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0"}],"gitHead":"6664987829b60fd6d6c6f02a3d4f7894df5f92c0","homepage":"https://github.com/nectify/hornet#readme","_id":"hornet@0.4.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"iryusa","email":"maxime.brazeilles@gmail.com"},"dist":{"integrity":"sha512-wzsSy3r5KfbNtzRDqc2BRXr0iIWdHHl+jNfNqRon0vudU9WvPAqnvDAzv0BTtZrvlH9fKmWUM8DNZMi7VQiLcA==","shasum":"61bf7db8f8dc45784007d9887d3c985f7b3cd6de","tarball":"https://registry.npmjs.org/hornet/-/hornet-0.4.0.tgz","fileCount":23,"unpackedSize":67726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkmLVCRA9TVsSAnZWagAA56QP/3VLi2G/capCTPAl+vra\ndyKpjoDFw7igF9MsJN8LwCsU5gxkEp5gDZPNU62eKZGVyp9VSoeLvHFJXRgj\nOmQdz8dDlx4dt8QHuIoE7so7OCh9wvW/F4N4KJtAreDMNSwEecw7UM5Ev4ff\nfVwRxXLsYr0+QekgWaV/unphADSJf/WHXntVzBi7JaCHaOxd2c4WEDWwCcUU\nHJTtYq9QqVPR3COHUz4FNd5eibBMvsLP/sXsE3Adaz+c78kB9QbA68OQGmVE\noXqCU+m0tInqbPfPZgGK89/q0DoI5oS2YGLSg4oFo8gf7tCHZvietCgympQV\nHRC5EnAc/nGaWjXzYPn6FjMYtJ4hkwbizfcaBY/wBKs8kQAkPTu7C0NsBhDV\nXoosdRUe155uwxkT0g3lW9bNzyu/o1u6rw8fk1n64vXvZp4EgSsQzSeLozzg\n8VHl68a9Vd9ZImwPodqvovR6YpHE89ac/OYvp4w2Ml7go4XXB0T66kp7mVYG\n31vHu+EA5T06V5d6bjZuLRG1kGAIii9H0j6HlnzMw3piWnMtyw1w1lmFMoxi\naMyd+WrpD6/uy0yEnieraprFcwDVrX3P6fDgSUtpOrgI43y1fQQiASHbw1sN\nadtBPWnolQnotdvON82KDDIIHKsRA97IvBMOpss+osKSL9HPgptB7prQXxIr\n3bvR\r\n=/QqB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHcaTp5Psoe8BLnqqHtHgQk4rrBkbM91MR4t+hoqwmMQIgYez8RdUzbxUhoV0+IfctQu0bZivAr4NM2afQsqC/CCM="}]},"maintainers":[{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"robink","email":"robin.komiwes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hornet_0.4.0_1536320213149_0.5253818444469618"},"_hasShrinkwrap":false}},"maintainers":[{"name":"maximebrazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"robink","email":"robin.komiwes@gmail.com"}],"time":{"modified":"2022-06-18T21:33:39.514Z","created":"2011-06-17T16:00:21.767Z","0.1.0":"2011-06-17T16:00:22.306Z","0.1.1":"2011-06-20T11:58:31.890Z","0.1.2":"2011-06-20T12:00:38.963Z","0.1.3":"2011-06-20T12:03:29.664Z","0.1.4":"2011-06-20T12:14:51.764Z","0.1.5":"2011-06-20T15:07:13.314Z","0.2.0":"2011-07-01T17:19:33.023Z","0.2.1":"2011-07-27T13:36:08.473Z","0.2.2":"2011-08-05T08:35:28.762Z","0.2.3":"2011-09-19T15:46:59.355Z","0.2.4":"2011-12-14T14:49:45.783Z","0.3.1":"2012-01-23T10:11:30.895Z","0.3.2":"2012-01-23T11:09:39.063Z","0.3.3":"2012-01-23T11:23:18.290Z","0.3.4":"2012-01-23T13:25:47.495Z","0.3.5":"2012-02-06T13:52:43.545Z","0.3.6":"2012-02-25T13:46:15.944Z","0.3.7":"2012-02-27T00:01:11.615Z","0.3.8":"2012-02-27T00:36:48.490Z","0.3.9":"2012-02-27T01:18:21.030Z","0.3.10":"2012-02-28T14:56:44.003Z","0.3.11":"2012-04-01T15:15:28.993Z","0.3.12":"2012-05-18T15:57:16.986Z","0.3.13":"2012-05-18T16:13:59.632Z","0.4.0":"2018-09-07T11:36:53.280Z"},"repository":{"type":"git","url":"git+ssh://git@github.com/nectify/hornet.git"},"homepage":"https://github.com/nectify/hornet#readme","contributors":[{"name":"Robin Komiwes","email":"robin.komiwes@gmail.com","url":"http://twitter.com/robinkomiwes"},{"name":"Maxime Brazeilles","email":"maxime.brazeilles@gmail.com"},{"name":"Tristan Bourgois","email":"tristan.bourgois@gmail.com"}],"bugs":{"url":"http://github.com/nectify/hornet/issues"},"readme":"# Hornet\n\n* https://github.com/nectify/hornet\n\n## Description\n\nHornet is a realtime engine originally built for [Fresc](http://fre.sc) that let you enhance your web application by connecting users together.\nHornet is meant to be used next to your own existing application, no matter what language or framework you're using, by using connectors.\n\nHornet is powered by NodeJs, Socket.io and is backed by Redis.\n\n### Hornet philosophy: the engine and the connector\n\nHornet engine acts as a hub for your existing web application: it keeps a pool of connected users and offers you the possibility to broadcast them messages in realtime.\n\nThe connector is a small library that is going to be used by your existing application to connect your clients to Hornet and to broadcast message to them. \nWhen a client access a page with realtime features on it, your webapp has to generate a connection token to let the client subscribe to a hornet channel. \n\nWhen you want to broadcast a message to a specific channel, you'll also use the hornet connector to publish it. \nUsing Redis publish/subscribe mechanism, Hornet core engine will be notified by this new message and forward it to subscribed clients.\n\nHornet messages should always be JSON valid objects, containing at least the \"type\" property.\n\n### Features\n\n* Realtime publishing to clients from your existing web application\n* Secure subscription to channels, using temporary (2 min TTL), non-consecutive 9-chars base 62 numbers.\n* Standardised architecture for connectors. Implementation already existing for Java and Ruby\n* Lots of supported transports and browsers thanks to [Socket.io](http://socket.io/)\n* Multichannel support\n\n## Requirements\n\n* [Node.js](https://github.com/joyent/node) and [npm](http://npmjs.org/)\n* [Redis](http://redis.io/)\n\n## Installation\n\n\tnpm install hornet -g\n\n## Starting a hornet instance\n\nLaunch redis server if not already done:\n\n\tredis-server\n\nLaunch hornet:\n  \n\thornet\n\nHow to scale? Just launch more hornet instances and load balance them though a TCP load balancer.\n\n## Client side JavaScript API    \n\n### Required libs\n\nInclude this library :\n\n\t<script src=\"http://host:port/hornet/hornet.js\"></script>\n\nNote that Hornet is running on port 8187 by default. If you want to expose Hornet on port 80 on your domain, use a TCP load balancer, like HAProxy\n\n\n### Instantiate the connection\n\nToken should be generated for one or multiple channels using a connector. See the dedicated section below.\n\n\t// javascript\n\tvar hornet = new Hornet({\n\t\turi: 'uri', \n\t\tchannels: ['channel1', 'channel2'], \n\t\ttoken: 'token' \n\t});\n\thornet.connect();\n\nExample :\n\n\t// javascript\n\tvar hornet = new Hornet({ uri: 'http://localhost:8187', channels: ['news', 'privateMessages'], token: 'VhjHU89Jhk' });\n\thornet.connect();    \n\n## Messages handling\n\nEach time a new message is coming, an event is raised. Handle them like the following:\n\n\t// javascript\n\thornet.on(\"channel\",\"message_type\", function ( messageData ) {\n\t\t// your own code here\n\t});\n\nNote that you can handle the same type on multiple channels like the following:\n\n\t// javascript\n\thornet.on([\"channel\", \"channel2\"], \"message_type\", function ( messageData ) {\n\t\t// your own code here\n\t});\n\n### Excluding clients from a message broadcast\n\nIf message have the except attribute setted, with a token as value, then the client will not be notified from the message.\n\nExample:\n\n\tClient with token \"a3RErg5Z\" has subscribed to channel \"cookie\"\n\tClient with token \"2dlk5ELM\" has subscribed to channel \"cookie\"\n\tClient with token \"EKR39Ehg\" has subscribed to channel \"cookie\"\t\n\tClient with token \"a3RErg5Z\" sends \"{ type: \"foo\", except: \"a3RErg5Z\", text: \"dummy\" }\"\n\tHornet is notified of the new message, broadcasts it to clients with tokens : \"2dlk5ELM\" and \"EKR39Ehg\"\n\n### Sending message to specific clients\n\nIf message have the except attribute setted, with a token as value, then the client will not be notified from the message.\n\nExample:\n\n\tClient with token \"a3RErg5Z\" has subscribed to channel \"cookie\"\n\tClient with token \"2dlk5ELM\" has subscribed to channel \"cookie\"\n\tClient with token \"EKR39Ehg\" has subscribed to channel \"cookie\"\t\n\tClient with token \"a3RErg5Z\" sends \"{ type: \"foo\", only: \"2dlk5ELM\", text: \"dummy\" }\"\n\tHornet is notified of the new message, sends it to clients with tokens : \"2dlk5ELM\"\n\n## Hornet channel\nThis channel is only used for handling intern events like disconnect or error.\n\n### Handling error \n\nHornet can throw some errors events through the socket, like an invalid token. Use the following to handle that case :\n\n\t//javascript\n\thornet.on(\"hornet\", \"error\", function (reply) {\n\t\t// Something went wrong\n\t};\n\n\t//javascript\n\t//Exemple of a reply :\n\t{ \n\t  type: \"error\",\n\t  channel: \"hornet\",\n\t  error: \"INVALID_TOKEN\", \n\t  errorMsg : \"Invalid token used, please get a new token\" \n\t};\n\n### Reconnect when losing the connection\n\nSocket.io has an built-in system for reconnection and Hornet has its own too. It allows you to ask for a new token to initialize a new connection. You just have to define the \"disconnect\" event with this :\n\n\t//javascript\n\thornet.on(\"hornet\", disconnect\", function ( ) {\n\t\t//Ajax calling to get a new token ?\n\t};\n\nAfter that, the client will try to open a new connection to Hornet with the new token. Notice that it lets some time between two attempts and this increases over the time to a maximum of 30 seconds.\n\n## Hornet connectors \n\n### Standard\n\nEach connector should expose the following described methods, adapted to any language or framework specificities\n\n#### constructor\n\n\tinitializer of the connector. Should have Redis connection settings as parameters\n\n#### create access token\n\n\tparam string : channel : name of the channel associated to the access token\n\treturn string : the access token\n\n#### disconnect tokens\n\n\tparam string list : tokens : list of tokens to permanently disconnect from any hornet instance\n\n#### publish\n\n\tparam string list: channels : names of the channels to publish\n\tparam string : type : type of the message that is going to be published\n\tparam string : message : JSON object containing all the message data to be broadcasted\n\tparam string list : options : pair of key/value of options that will be merged with @message. Usually used to specify \"only\" or \"except\".\n\treturn number : the result of the redis publish event\n\n#### redis\n\n\treturns redis client instance : the redis client instance used by the connector\n\n#### TTL\n\n\tproperty : the value of time to live for access token. Should be 120 seconds as default ( 2 minuts ) \n\n### List of existing connectors\n\nEach language who has an existing Redis client library should be able to produce an Hornet connector. At the moment, the following are existing:\n\n* Java : https://github.com/nectify/hornet-connector-java\n* Ruby : https://github.com/nectify/hornet-connector-ruby\n\n## License\n\nThis project is distributed under Apache 2 License. See LICENSE.txt for more information.\n","readmeFilename":"README.md"}