{"_id":"gifsockets-server","_rev":"37-ed519a2d5c42ff245cff28ec8b0564d2","name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","dist-tags":{"latest":"0.38.1"},"versions":{"0.30.0":{"name":"gifsockets-server","description":"Mothereffing GIFSockets!!!","version":"0.30.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs lib/image-info-server/phantomjs/compose.js","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"_id":"gifsockets-server@0.30.0","dist":{"shasum":"fe8b8953ef62b501d02402828cceb19a3b69e3c0","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.30.0.tgz","integrity":"sha512-RfBEir4IzjS7NKRhIuT2txzzKkmBPLa3AmwCRuljy1oRJXCejnJtNWmjfPnCjo7PcyazVg5ZFn9r/5I7czLjIg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYgosWzmn4ud6Nc76OwrDqVNgpx9vTTvPazyvviAxipAiBhvw3uMoFtDDQ1jWJZzi+riqTqgpx/iknVDjHl23iArw=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.30.1":{"name":"gifsockets-server","description":"Mothereffing GIFSockets!!!","version":"0.30.1","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs lib/image-info-server/phantomjs/compose.js","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"_id":"gifsockets-server@0.30.1","dist":{"shasum":"1faa8e75ea97750a09c6f0224670dde60f142d18","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.30.1.tgz","integrity":"sha512-rI1HTgXEwOsGkjP7Ntu52sW77F4O+5lEuhhRrFcQfaBoFBywm4rGSIekw9JZ+VwYhf9DXnyFT5sYt3hANwufaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTmeU9OnQc14dZpzpo9UXaXq1BRPaU9nX4+KFTLvA7iQIhALaF9RGpfkwR6NpriEEFIxLe3BJF+HSoHh36d97tHezs"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.31.0":{"name":"gifsockets-server","description":"Mothereffing GIFSockets!!!","version":"0.31.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs lib/image-info-server/phantomjs/compose.js","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"_id":"gifsockets-server@0.31.0","dist":{"shasum":"be7f31fed9e4f56f486a10de7013e64faccee39b","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.31.0.tgz","integrity":"sha512-QT88xenJMJg7TrWgYmsCqL+CFdOiQH6iZMQKVsoGWBw1O+DEshoC+g03wZtt4EZRSyBEw0RYm8n8pyk99ZKzlQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbIEhhCRsciiNJnmSRISORSeLzfyAhajPFjCc8qGV+IAIhALabB0Y5aPVCfOJ34rJrcbhuFsboBtI4pj0N10NyrMtN"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.32.0":{"name":"gifsockets-server","description":"Mothereffing GIFSockets!!!","version":"0.32.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs lib/image-info-server/phantomjs/compose.js","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"_id":"gifsockets-server@0.32.0","dist":{"shasum":"ee4e6463a8d5832ed96f7fb19d007f7c0772dc47","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.32.0.tgz","integrity":"sha512-kxyBftysKtHnsWuNvuZs1I2xmLo4f2El0EhkRa4/RDuKl6SyFH83SPt4DXmHEClduxOvb6i6EiDXG9Ja76NU3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICkJAp6QJd5U2LtCrn72UMkBe1kRax0wZvPpLVoSIQvlAiEAxfHExINJdqK6etPWTf4S5aFaainDOpoXRCJzNE9W3DI="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.33.0":{"name":"gifsockets-server","description":"Mothereffing GIFSockets!!!","version":"0.33.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs lib/image-info-server/phantomjs/compose.js","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1","commander":"~2.0.0"},"_id":"gifsockets-server@0.33.0","dist":{"shasum":"8aae6923ffe022c8f6e579c2731b6ba2b40af18a","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.33.0.tgz","integrity":"sha512-i8VMB+MTYGGSYRTpcsX3J75BY/sYKlvP8bU0+qsb/GdayaRytqqJUM0icvBAh5erRaW1cjEX4vZYVg3cfxHe9Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEWVVgyDH0QxKT02RMB9ACRGuZyUHT8vZ2GbAMBDFyYkAiAQVVVNSnysu0wH5KeT7oHHUDR2+TE8sUNUV0buRaaJ6g=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.34.0":{"name":"gifsockets-server","description":"Mothereffing GIFSockets!!!","version":"0.34.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1","commander":"~2.0.0"},"_id":"gifsockets-server@0.34.0","dist":{"shasum":"0e9c7902927f82073ab950ff9faa4bfb0b59e027","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.34.0.tgz","integrity":"sha512-6Wf9CZIrp9dW/1aCBQHIFx00HqP/RHnTbZkbASNrwJ6QJgxK/HkcOgLeWiNnjepnOUUJ4jVx/ALJe2i4XfqOww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCw5crt7j8KhwUTjGAB0BuFWVJf0yiDmyWZ21QmZgYcdwIhAMgfatReeHeJ6XR3O/e4dVquLj1OWBNj06iQoy4tIvCU"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.34.1":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.34.1","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1","commander":"~2.0.0"},"_id":"gifsockets-server@0.34.1","dist":{"shasum":"4730b497c31f03ad2443fd15858d22e9112695bc","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.34.1.tgz","integrity":"sha512-l6xwGAGKg0X17pn3uktUcLSoRR1XBcTLpR9bXPe8U88zCApVb6ANLZ3OAOL0RBBpDaG0G9MkBYpxhfSkQtOLug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD91PaTqC9WwTnf6IzNUXscJMhnDh6AaSzhsrRaH0iJaQIgJqO/3whMePCcGWib7ilYWzLAZiQgdSKt20bx5Ja3Yw8="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.35.0":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.35.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1","commander":"~2.0.0"},"_id":"gifsockets-server@0.35.0","dist":{"shasum":"bb5fd14ccd4c134d63df6f8947a526a38ffd0e82","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.35.0.tgz","integrity":"sha512-mzCq3KafTivxkC29DuFjFJ0qKVQQcdNdRjCvyAj3aFD3ijIKhruxUsv5Cjo9a8QWlLOxATY9Td3QTCEdOM2X+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKIy9KlhOypifqQf8Ti8VbnXHF8uH1mmZj28CwcvfHiAiB0NcgdWLslRWHRq3MHUJ0qRKWSnwRecKojlMiuohYxOw=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.35.1":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.35.1","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1","commander":"~2.0.0"},"_id":"gifsockets-server@0.35.1","dist":{"shasum":"fd4bf88ad4ef67ab2679e60877ca665708be8e4b","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.35.1.tgz","integrity":"sha512-1IMbG0Qxdy3qSBsOiJ643b/JyTexzyhkAwPL880fgYrn9/vExWHtva/KDrLoOVp9Wy+3XBsIfrixABagkCv+bw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYk1TaRkIB7ZHTgo2AJRZSAGQ9D606AWLJFc4RWk3P6wIhAImW2yVY7NFDy/OJts4tAs99btn9VPm/kxRQJOLjgDWA"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.36.0":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.36.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0","gifsockets-middleware":"~0.1.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1","commander":"~2.0.0"},"_id":"gifsockets-server@0.36.0","dist":{"shasum":"4621a26d5a12cef870a3abf54b60338a63bc7835","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.36.0.tgz","integrity":"sha512-6cIyXHOTNOuOQI9nFE1iWJ/XBbmIy6jcpaz5h9w+KzzSp1I0PiklikBPiLu0ZFUIZKwErvwHDxSq9iqxQ8bcCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7fLDCf+Alh2KKZESLX6dLkRYkzpZW4PptHIfp83qULQIgSnSpbVbuKkW4ner9CtziZUXWHN5B8oSQdvCCvrJ54w0="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}]},"0.36.1":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.36.1","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0","gifsockets-middleware":"~0.1.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1","commander":"~2.0.0"},"gitHead":"c64d6228d75fab05187d8e84320d9de015262bb4","_id":"gifsockets-server@0.36.1","_shasum":"45391b238b06c321ea07ae3f27c41a1a50b7f48d","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}],"dist":{"shasum":"45391b238b06c321ea07ae3f27c41a1a50b7f48d","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.36.1.tgz","integrity":"sha512-7PJzXM3ND8PHRpRypRRkJVr+HlGknknx7x50gwh6I0erGTCeYvKRK79nu+QPY/Gk2xR9YSarmTndeQacviyH+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXBh39o1gTR+WBN7VYtB5094y6NowBNel/n7myRuXyKgIgYmRACaAisBQ7EZrLjER77CTwWLwmZA6xnGonY2L4WSo="}]}},"0.36.2":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.36.2","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0","gifsockets-middleware":"~0.1.0","commander":"~2.0.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"gitHead":"1cfc51d744884b0c31dc21df29f02510b3c4abc0","_id":"gifsockets-server@0.36.2","_shasum":"9b7d39fec59957efadc6d8ea05ff7e3282f0c717","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}],"dist":{"shasum":"9b7d39fec59957efadc6d8ea05ff7e3282f0c717","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.36.2.tgz","integrity":"sha512-QzLcbZqoEaTFgHYr/kcsUfkn8xjUcAaI8QrHdnXs1eOJBScQqc82B8Q/8hpf3KRKC5SSbSqBdrtvpCo+Lyd1ZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEu1JoVSnS6JUdisXYSawauswgdguKxWwa2kyUMLI6bqAiB0SI/z2q4d3xWsEqSLkDRGLi2rmmPIGle1FXZfsjh36g=="}]}},"0.36.3":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.36.3","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0","gifsockets-middleware":"~0.1.0","commander":"~2.0.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"gitHead":"810b12f38634cbdea3d30cd9928233a80eccf346","_id":"gifsockets-server@0.36.3","_shasum":"1eb4e069cb989b17fad59e738eb261f53d251511","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}],"dist":{"shasum":"1eb4e069cb989b17fad59e738eb261f53d251511","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.36.3.tgz","integrity":"sha512-QZzkSx0TeNvZyi6UZZy2LHNmz8CotR/imH2W1ZjP1avJft76b8uJWHFXrYe6VCxVmbxyfgFdTc0D/LuJlIpJ8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2Ut41F1EPxCD0jPkHv9GeMNb/tREKjvUptfkuMfNMvAIgHkR/Mow43jz++WEbjpmKom1i9PwOdB8VjPYBbkCG0y8="}]}},"0.37.0":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.37.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0","gifsockets-middleware":"~0.1.0","commander":"~2.0.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"gitHead":"41b0b3d83c511866fd5f23deb89c33d80e61199d","_id":"gifsockets-server@0.37.0","_shasum":"3d3a96cb59c7e60a8119cd732c68fe54cc6cd9e6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}],"dist":{"shasum":"3d3a96cb59c7e60a8119cd732c68fe54cc6cd9e6","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.37.0.tgz","integrity":"sha512-VCxij7jMsCFzU70iDZHul1vFmp1xBfuRuqLaAbEJDEW3oDBJ/1vIlx0mF705Vuo2Nodk7oXc8qfRIGKBM10Qww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIATSj0YfkNRxs6/cuffko4A2FiCLNMFlJ0CLuCWonPrmAiBiJdwsxGcqthiUzXFmVmVCw1ej9ezHr8l2GrsuUhO9Fw=="}]}},"0.38.0":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.38.0","homepage":"http://console-log.2013.nodeknockout.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0","gifsockets-middleware":"~0.1.0","commander":"~2.0.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"gitHead":"1430c7ba88fc5ad46e62c176ca6c3450362c9a63","_id":"gifsockets-server@0.38.0","_shasum":"80abd5b2dd190491d55386171d846ebc567c70f2","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}],"dist":{"shasum":"80abd5b2dd190491d55386171d846ebc567c70f2","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.38.0.tgz","integrity":"sha512-mqqLSqVJvEL26N9rapH0i1ixrxTedqBxdOKXxw+1N8phjIbDJx6/xrBaj1zgMjFfXjvezp8jidi+45ksZGmTWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCH104qfXzhk+GlfI9czr6Hu1b4hKL6PkqzX05jZZpsJECIDHHwxXT1lXBQ1uH1kZkx+8JroZeRAAP47sVRnxWzF1Y"}]}},"0.38.1":{"name":"gifsockets-server","description":"Never-ending animated GIFs as a chat system","version":"0.38.1","homepage":"http://gifsockets.twolfson.com/","author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"licenses":[{"type":"UNLICENSE","url":"https://github.com/twolfson/gifsockets-server/blob/master/UNLICENSE"}],"bin":{"gifsockets-server":"bin/gifsockets-server"},"main":"server/app.js","scripts":{"start":"node bin/gifsockets-server","start-phantomjs":"phantomjs-pixel-server","postinstall":"which phantomjs 2>&1 > /dev/null || npm install phantomjs","test":"mocha"},"engines":{"node":"0.10.x"},"dependencies":{"obj-extend":"~0.1.0","raw-body":"0.0.3","express":"~3.4.4","jade":"~0.35.0","marked":"~0.2.10","request":"~2.27.0","gif-encoder":"~0.4.0","function-to-string":"~0.2.0","gifsockets":"~0.1.0","gifsockets-middleware":"~0.1.0","commander":"~2.0.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-zip":"~0.10.0","grunt-contrib-jshint":"~0.7.1","grunt-curl":"~1.2.1","grunt-contrib-copy":"~0.4.1","mocha":"~1.14.0","phantomjs-pixel-server":"~0.1.0","request":"~2.27.0","get-pixels":"~1.0.1"},"gitHead":"0203ce29caf9162c62d5856e6464459ab6c389cd","_id":"gifsockets-server@0.38.1","_shasum":"f6b8a66fd5e30e60fe0d954835285a177bf57c98","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"twolfson","email":"todd@twolfson.com"},"maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}],"dist":{"shasum":"f6b8a66fd5e30e60fe0d954835285a177bf57c98","tarball":"https://registry.npmjs.org/gifsockets-server/-/gifsockets-server-0.38.1.tgz","integrity":"sha512-6Rm/mEUX2N5zKl9kzp+6rHQUp2YKiKqlqUdthzpPyuDbNHkOp5ll83/pOrXkHHpvrffB4sTKJZU8jwjB9dlgYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWOk0drYkGM2lHURmtiA49loO40wufsmpzzJTItOMDPgIhAIq+4iECovvyyWKWXWi339uw5QvkkjHCxLsTGY9pQT8d"}]}}},"readme":"# gifsockets-server [![Build status](https://travis-ci.org/twolfson/gifsockets-server.png?branch=master)](https://travis-ci.org/twolfson/gifsockets-server)\n\n\nGIFSockets are never-ending animated [GIFs][GIF] for sending text and images between people.\n\nDemo: http://gifsockets.twolfson.com/\n\n`gifsockets-server` is a reimplementation of [videlalvaro/gifsockets][]. It was written in [Clojure][] and not trivial to set up, especially without any [Clojure][] experience.\n\nThis project is written in [JavaScript][] and use [gif-encoder][] for encoding and [PhantomJS][] for [canvas][] preparation.\n\n[videlalvaro/gifsockets]: https://github.com/videlalvaro/gifsockets\n[Clojure]: http://en.wikipedia.org/wiki/Clojure\n[GIF]: http://en.wikipedia.org/wiki/Graphics_Interchange_Format\n[JavaScript]: http://en.wikipedia.org/wiki/ECMAScript\n[gif-encoder]: https://github.com/twolfson/gif-encoder\n[gif.js]: http://jnordberg.github.io/gif.js/\n[PhantomJS]: http://phantomjs.org/\n[canvas]: https://developer.mozilla.org/en-US/docs/HTML/Canvas\n\nTo run this website locally:\n\n```bash\nnpm install -g gifsockets-server phantomjs-pixel-server\nphantomjs-pixel-server &\ngifsockets-server\n# Website will be available at http://localhost:8000/\n```\n\n## Documentation\nThis code was written during [Node Knockout 2013][], a 48 hour hackathon, but it is slowly being organized.\n\n[Node Knockout 2013]: http://2013.nodeknockout.com/\n\nThe server you are running is at `server/app.js` and the `gif` logic is inside of `lib`.\n\nModules which are part of this project include:\n\n- [`gifsockets`][] The heart of the `gifsockets project`, a mediator for subscribing any writable stream to newly written [GIF][] frames\n- [`gifsockets-middleware`][] Plug and play middlewares to set up a server with `gifsockets`\n- [`gif-encoder`][] A fork of [gif.js][] with stream support and is optimized for [node.js][] performance\n- [`phantomjs-pixel-server`][] A [PhantomJS][] server which takes text and converts it to an `rgba` array of pixels\n\n[node.js]: http://nodejs.org/\n[`gifsockets`]: https://github.com/twolfson/gifsockets\n[`gifsockets-middleware`]: https://github.com/twolfson/gifsockets-middleware\n[`gif-encoder`]: https://github.com/twolfson/gif-encoder\n[`phantomjs-pixel-server`]: https://github.com/twolfson/phantomjs-pixel-server\n\n## Development\n### Dependencies\nServer-side dependencies are managed with [npm][] and client-side dependencies are managed with [grunt][]. To install the latest dependencies\n\n```bash\nnpm install\n# npm http GET https://registry.npmjs.org/marked\n# npm http GET https://registry.npmjs.org/express\n# ...\n\ngrunt install\n# Running \"curl-dir:public/js/\" (curl-dir) task\n# Files \"public/js/filereader.js\", \"public/js/filereader.min.js\", \"public/js/jquery.js\" created.\n# ...\n# Done, without errors.\n```\n\nIf you never used [grunt][] before, install the [CLI tool][grunt-cli] via\n\n```bash\nnpm install -g grunt-cli\n```\n\n[npm]: https://npmjs.org/\n[grunt]: http://gruntjs.com/\n[grunt-cli]: https://github.com/gruntjs/grunt-cli\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint via [grunt](https://github.com/gruntjs/grunt) and test via `npm test`.\n\n## Donating\nSupport this project and [others by twolfson][gittip] via [gittip][].\n\n[![Support via Gittip][gittip-badge]][gittip]\n\n[gittip-badge]: https://rawgithub.com/twolfson/gittip-badge/master/dist/gittip.png\n[gittip]: https://www.gittip.com/twolfson/\n\n## Unlicense\nAs of Nov 10 2013, Todd Wolfson has released this repository and its contents to the public domain.\n\nIt has been released under the [UNLICENSE][].\n\n[UNLICENSE]: UNLICENSE\n","maintainers":[{"name":"twolfson","email":"todd@twolfson.com"}],"time":{"modified":"2022-06-18T08:18:48.379Z","created":"2013-11-18T01:22:35.471Z","0.30.0":"2013-11-18T02:08:59.110Z","0.30.1":"2013-11-18T02:12:00.885Z","0.31.0":"2013-11-18T02:32:11.803Z","0.32.0":"2013-11-18T03:46:38.026Z","0.33.0":"2013-11-18T03:49:55.018Z","0.34.0":"2013-11-18T04:16:50.407Z","0.34.1":"2013-11-18T09:11:53.431Z","0.35.0":"2013-11-20T07:57:09.875Z","0.35.1":"2013-11-20T08:01:43.626Z","0.36.0":"2013-11-21T11:07:23.090Z","0.36.1":"2014-10-07T04:01:22.370Z","0.36.2":"2014-10-07T04:02:18.026Z","0.36.3":"2014-10-07T04:03:19.527Z","0.37.0":"2014-10-07T04:07:27.397Z","0.38.0":"2014-10-07T05:33:46.500Z","0.38.1":"2014-10-07T05:40:37.549Z"},"author":{"name":"Todd Wolfson","email":"todd@twolfson.com","url":"http://twolfson.com/"},"repository":{"type":"git","url":"git://github.com/twolfson/gifsockets-server.git"},"homepage":"http://gifsockets.twolfson.com/","bugs":{"url":"https://github.com/twolfson/gifsockets-server/issues"},"readmeFilename":"README.md"}