{"_id":"truflux","_rev":"69-a962299b3a76c73e50e7973bfed2a8a0","name":"truflux","description":"Secure socket connection module","dist-tags":{"latest":"2.0.11"},"versions":{"0.1.2":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.1.2","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git+ssh","url":"git+ssh://git@eitrium.com:/git/truflux.git"},"gitHead":"afb7ef65bb387222e22fb67ad0ad4b03e3c76f4a","_id":"truflux@0.1.2","scripts":{},"_shasum":"d84990c917f4c38bc08fc967b72b60e184aea6b5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"d84990c917f4c38bc08fc967b72b60e184aea6b5","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.1.2.tgz","integrity":"sha512-G4jGgMzxz/RTFQESWa5bPyZpxr0EiyUObzD/zILYo47V7NIV5uqF+AEXX52iHL7N25eqaPLtgP/G100L7bOkkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+fNxzFZYhH6hE+pWkHPC3Gx4eWa3qL2cPbsjYhZ5R2AIgRkYA/LVn6TXjodlqDc9Tm7LVTcSHJWXop6idlq1Oo0A="}]}},"0.1.3":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.1.3","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git+ssh","url":"git+ssh://git@eitrium.com:/git/truflux.git"},"gitHead":"307d7b72d07183961525ba7ede14f81dd3b3066d","_id":"truflux@0.1.3","scripts":{},"_shasum":"50511acb6faf3823296296c25c065a8007cac4b5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"50511acb6faf3823296296c25c065a8007cac4b5","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.1.3.tgz","integrity":"sha512-zlIDpxZxEmR4MWik4+vR/RgD/lhn1kD0Ld6akz+A4wg45m1/7Dl0p/NBzSO8tkToHoKFB0rUpjGRFvJc3lPtvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7myDqlqPNe5NW18APbpqMQLIVz3DbKd30yN29RkW80AiEA6l2tM+If7mI3rfxgwpHmsDruqt18UdYpoGBOKzRQ3ic="}]}},"0.1.4":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.1.4","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git+ssh","url":"git+ssh://git@eitrium.com:/git/truflux.git"},"gitHead":"b79fe5652c927c5b7ca799effe75ff5e269e4c17","_id":"truflux@0.1.4","scripts":{},"_shasum":"379e3faa14aca6b3d8b037d489e63f61c0dc1099","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"379e3faa14aca6b3d8b037d489e63f61c0dc1099","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.1.4.tgz","integrity":"sha512-0+0QqPdSAt4ol75LOpmI/TVqdP4WqU7tEqHf+8Q0AxaTXgz1GIOSiml1OQqP3+bGB+/AcumF4hsVn/E41dtkTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnIbxPk0kTCwfvPtDrAX+rdbIKXQGT5P0Gdz3hL1F0vwIgI7Bfa7niR6M792j3Ze+lk75FG8pGyACln1V1D3rAam8="}]}},"0.1.5":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.1.5","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git+ssh","url":"git+ssh://git@eitrium.com:/git/truflux.git"},"gitHead":"b79fe5652c927c5b7ca799effe75ff5e269e4c17","_id":"truflux@0.1.5","scripts":{},"_shasum":"e9ea6ca8312805016d71bc2eca7727333f6e5b04","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"e9ea6ca8312805016d71bc2eca7727333f6e5b04","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.1.5.tgz","integrity":"sha512-2VMyQz4E2AxQCeKwZaWCV5ZsSQdBiF5NQEtmD+G1U86qsGuarg82+gf5jWY7s+bk7c6oBuyyN9bW2xd+9JTMxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcPLWbnS8wYcoEHIpHnpxcjyQk71V9rJvMye18GdWdlAIhAIo3V9aFGvfnAX8yb31TJZe+zoUsaaAH6DQ6qcN2B9WW"}]}},"0.1.6":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.1.6","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git+ssh","url":"git+ssh://git@eitrium.com:/git/truflux.git"},"gitHead":"b79fe5652c927c5b7ca799effe75ff5e269e4c17","_id":"truflux@0.1.6","scripts":{},"_shasum":"596b19ef3cdcbc383429481fee2694958a2b7ae7","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"596b19ef3cdcbc383429481fee2694958a2b7ae7","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.1.6.tgz","integrity":"sha512-cnG4ZN0wP/mVma9HOnThch1MN4VVafcaZND2nmuVGATzBiGHF5wXqAVQmFoWDgBrj9OZ8X6dc4iuykmUgakPKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIDsEEsaxR7FISrbuddnqB3I1VtouXisegV6sH97XKgQIgef5dxB7GIyWo0vwBlXq+Bl8fM85rZBFAjWS4H1AZd18="}]}},"0.1.8":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.1.8","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git+ssh","url":"git+ssh://git@eitrium.com:/git/truflux.git"},"gitHead":"b79fe5652c927c5b7ca799effe75ff5e269e4c17","_id":"truflux@0.1.8","scripts":{},"_shasum":"f9f4a3728bc53e8434dabb84c5f9d89caaf5383e","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"f9f4a3728bc53e8434dabb84c5f9d89caaf5383e","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.1.8.tgz","integrity":"sha512-OBdSaVZMZdo2rF+TaG+Fzs0OMZQEjKguc2yMYViq/LVzSaCNOp4MRfXOjkQSdFWUYmr29EJ/kUby8TzxxONvYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJWjfAz+wWOQdoay8yv79N4wP7hbAwXbKDUw3KOfW5HAiBa5ndV2QR1cDq9JxBZVdBHrwDIZsZPJjCtZS6Htz12LQ=="}]}},"0.1.9":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.1.9","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git+ssh","url":"git+ssh://git@eitrium.com:/git/truflux.git"},"gitHead":"b79fe5652c927c5b7ca799effe75ff5e269e4c17","_id":"truflux@0.1.9","scripts":{},"_shasum":"4daa4270d80684191ba9fc477ab47ea9d44d1ad3","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"4daa4270d80684191ba9fc477ab47ea9d44d1ad3","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.1.9.tgz","integrity":"sha512-mvGR6vN17M/3vJXMaxIGfw0x05C7hBl88AXjzbXExcIpyfis7UVsNfsM0stB26dd9ujW/+Oz3TM2GrSSUCtWgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbsVdmRSYUSwZ5hDzR4tTcBSlsGiL3nfLzEPoQUmPhPgIhALMfo+F6zP2tiNJDtdBkNb+2mFQwhPqpG9+m5XUSdQjc"}]}},"0.2.0":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.0","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"0.1.0"},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"a303a02c4608b33e04396c791db7bc3ca7b0f833","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.0","scripts":{},"_shasum":"e8cbb30b5cef1f02ae3d727522c6b49aa2445d6b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"e8cbb30b5cef1f02ae3d727522c6b49aa2445d6b","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.0.tgz","integrity":"sha512-7oNcIslGg0XUdy65jNXkn9O54G+6AQ/gStKlHQ4CqjTSl24qdnSP6zdFzBrHYfb+6elP3KlgHMPfLxC8j83gsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCI8Z4DSYMONyW3V+MQi+MggIiFqflYLXKaIR8M3Hq1zwIgBNID14lYevuxh/9GfgNQPOIDmrn+ns3TOP2yHfuOLJo="}]}},"0.2.1":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.1","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"^0.1.1"},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"7087b845f03c910e586a3a3b45077f5843f33bda","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.1","scripts":{},"_shasum":"b74de69b639a35e7d366054b534e3b625958833f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"b74de69b639a35e7d366054b534e3b625958833f","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.1.tgz","integrity":"sha512-sAWemH8BhVksNTRRxUKT9CKMOtUfSR31twL3FGW8KSYZD4DqKLw/NsSlSfIUIhvLKDodL/LBfwSYyehbng+mHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0AJiwoIppcDy500Y4DXgrFR1KG6x6dWGKmcHA+jPU+AiEAynbyhAlSLRqzQBsoiCpU3+gzfff+1m6In3uugiu7iqA="}]}},"0.2.2":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.2","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"^0.1.1"},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"7087b845f03c910e586a3a3b45077f5843f33bda","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.2","scripts":{},"_shasum":"263b1493d4f4921bf0ffb3fe5dda906c36d91b2b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"263b1493d4f4921bf0ffb3fe5dda906c36d91b2b","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.2.tgz","integrity":"sha512-k1e4rZCbBfh51l4vRBL0Aysv10gratt+wGuKFmDhQ0aCEwajxs2ZjZkI2I7s82JGRpZcb6d8g2XH8DS3Hefijw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEIyPSQs8+Hs3X4KltowzBWXK62oF7zbPxDsGRoXo0+SAiAaA+1QjghqyYmsFUR8pkmeOcB8WxDK/3BgEVexnIziig=="}]}},"0.2.3":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.3","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"^0.1.1"},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"7087b845f03c910e586a3a3b45077f5843f33bda","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.3","scripts":{},"_shasum":"9e265b0756c755f8d35a7014cec704688dea409d","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"9e265b0756c755f8d35a7014cec704688dea409d","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.3.tgz","integrity":"sha512-xzUUxj8RP9LBBvSSF3bmQR+g+SZGEycEzMrjRdQk0fgy9Cc9PwTHnPu3iCK2ftMcHIIucdcUT0ZvLMaP6sjRSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQeyQzwcB+bgy2ao+w8TCJTqzNWUrXqFHcEHz8vC3EXAIgddOlvqBQ66gpQESXPogSm0G72zQWiq3ZZe4Sc+zb6A0="}]}},"0.2.4":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.4","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{"truflux-msg":"^0.1.1"},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"7087b845f03c910e586a3a3b45077f5843f33bda","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.4","scripts":{},"_shasum":"38baa08383e5fbde8842b34b9064997b08d6a7ed","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"38baa08383e5fbde8842b34b9064997b08d6a7ed","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.4.tgz","integrity":"sha512-u0GCLpQchQDC9gE1YMzqge3YfkAfmsz8vhWfI5DE0w/gYIAZMP/2oBvI+J/NdPAX7b1QHT6p/O2DOTstZSBPNA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICJxKRkOkpsuHqaAl1b6/VKjYtjdiLYMhjEtRGQ/aAGcAiEAgEXMQ3rOZWrXK3rep4WF1g/ReOfV4iFngvPSCVP4ecw="}]}},"0.2.5":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.5","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"033f622a134c1086da8b2befb16e4012401f033c","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.5","scripts":{},"_shasum":"406b847e1df33838200018ec64d8eaa5484ccbd7","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"406b847e1df33838200018ec64d8eaa5484ccbd7","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.5.tgz","integrity":"sha512-DuQ3WyXJcq8N1P8We081SSBxxTl+Xc2oZzDCwI2g7ftaKo1Ur6bIPaWGFrioXQjt36TszYBqAQrUi/g+kIiNTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8CaEIdl0J6XKXJ6NYwmNczGzXTsCj1AN10gCVGGyVlgIgex+PnerZ0eyJlGaAItMlgHc4h6UV5ZSVMGexcx4yWRI="}]}},"0.2.6":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.6","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"bd962720137666718c9962896dcd679cec8d80cc","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.6","scripts":{},"_shasum":"688a9cabb3ba7fcdc8ea50c59dc2611cc1dfb63f","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"688a9cabb3ba7fcdc8ea50c59dc2611cc1dfb63f","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.6.tgz","integrity":"sha512-wcDX4Vrs3wm6yQ0/uxxhGs6bJxZlmw9SdEdzIXOdGC/VgKKn7d2V1CwYNG1kRB9rDSydU4JTgQ1okJpEFD5V4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDdyXmRvOsxkANXHyXGjNiV8iEpEuqom1l2YO88RYyJ3AiBJLeerLcrJNULSnPg2xDe6LRuaco9mcGxuPFv2k/yBpg=="}]}},"0.2.7":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.7","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"6ddf092a7a3087082909009ac5414db3013e7132","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.7","scripts":{},"_shasum":"7090223f2fcac1b4b7b804ad5f344ef46edef38a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"7090223f2fcac1b4b7b804ad5f344ef46edef38a","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.7.tgz","integrity":"sha512-oSXuK++40zuG/6hRMril9My+O+idZ72UzNFVsl4dB3MyjqoE3IqEGLcavrGugMfgLyP/dvKo+++9qiUJ2tt1FQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDDEPHj3qhayHMrRmO3eH5+UHcQD0/URi5Ng/ubxGvc+AiEAyGLzwkRPlZVMQH5uvATg9bp6ICSDizlHQOA9T16dr74="}]}},"0.2.8":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.2.8","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"b742cb6c0d43c5b7fedd1bad297549dbb79811c3","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.2.8","scripts":{},"_shasum":"072762331fed73a4147341b330f22d5c4ef5b118","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"072762331fed73a4147341b330f22d5c4ef5b118","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.2.8.tgz","integrity":"sha512-Z8gyEgH8APqSa1NBmeGiJIDcWV9v+bkSzZ5fugkamQyMFPRE9eops/BvcOi5mwfziyr2mjc/0kZb2nVkEH9Hcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4+/AjiSkMJ5JUmZK0vIWmyu69a4DjFwRmyXst93am7QIgZV/V0fCfAQ9wHm5jAXaE4EM7LO0/QKSuJx7vGbvoA4I="}]}},"0.3.0":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"0.3.0","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"ccb77713ec2a2ece71b8219a9371ae800570c5f3","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@0.3.0","scripts":{},"_shasum":"b9a872ae7185b2be82bf8d9cef999bf1ff23c3a9","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"b9a872ae7185b2be82bf8d9cef999bf1ff23c3a9","tarball":"https://registry.npmjs.org/truflux/-/truflux-0.3.0.tgz","integrity":"sha512-b+7TbrS4kqvZnpeQ70D0T4s332vFnyMI5F1eNN1a81YfbEpelLc3Xxy485RXSRytlajaJ9NQxlZ4i1dTAxZmig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCh/EHJx3CpjLqOBvm7BfVq/NrQJhXVT59DDCsDfKmfKgIhALPROOdgRvaCm86FTK23fpvHraskZZKbMKgti7rslAkm"}]}},"1.0.0":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.0.0","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"ccb77713ec2a2ece71b8219a9371ae800570c5f3","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@1.0.0","scripts":{},"_shasum":"3d85301d7b9295fd9e8439e54ea3213dd7d8268a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"3d85301d7b9295fd9e8439e54ea3213dd7d8268a","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.0.0.tgz","integrity":"sha512-jBduhKhcZ7Oz3xGfYv5tLzF336BduUjXipndodgVtrHTmP7xdyKF+1N6/4Vhp+v5tzVq6P8rK1Bx3JfYhTDuyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBogDEu0rKrgKwbaD54kFDec9q02ftluegz0IX9GnEFQIgJJYKFXTL8WVTp5YXkhkaozf1NhzENLoaxq87otrOmA8="}]}},"1.0.1":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.0.1","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"ccb77713ec2a2ece71b8219a9371ae800570c5f3","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@1.0.1","scripts":{},"_shasum":"72c9c7beb8b91871a3286df59c99b27ed4a5d9e5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"72c9c7beb8b91871a3286df59c99b27ed4a5d9e5","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.0.1.tgz","integrity":"sha512-UJ95x9zqzjBpu4hPcGna9Z7r7Ikq+zYay6wN22ExdGXETom1qbV4YEdU3HaeW0p8MxXXwHzlFarSFryMz0VSPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHZqWqbrFKLY0XwADN96bYH8/KL9RytZAfMImMNBWn9GAiBiViVXoCFWbh0vjOWUFjo8Qy0LKU3JQCMzcxl12kft7Q=="}]}},"1.1.0":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.1.0","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"45d912b966fcf4546a017ba61737be566efabeba","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@1.1.0","scripts":{},"_shasum":"58c2f02b45997d1907d628d51c186d2fb07d6021","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"58c2f02b45997d1907d628d51c186d2fb07d6021","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.1.0.tgz","integrity":"sha512-g0ot+NHQkc5XsmyPTtzktXFoxEIf6W+nMmqDXE7bMip1oSgxBHYEbrIPFpjEQ+u5kBO2D3eaPFZ3VN0/JAtPOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDaKfs1xgdQAK0Z55VRKeHxIE/UrFOwF3Ol1u1Wk6jl0AiATETGUhGPlLObmidEDwMNTm7MIJj+ggDxomLaUXingCQ=="}]}},"1.1.1":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.1.1","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"86c30bdfb2f94de52425e8deb6ed0d107693b94c","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@1.1.1","scripts":{},"_shasum":"64a3d6cbdae49e465a509f64f3d1146ef6cdc35a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"64a3d6cbdae49e465a509f64f3d1146ef6cdc35a","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.1.1.tgz","integrity":"sha512-rZfvYJ+v0hgMjbHYpJ2hAZiOKacH45T+ruBZE3UoByOl4sAp0mJhw5H8WuQhJSA1J2AqME/MloEQPh50Fa6jXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDhxfPDq9ZHV78knLCSCgGmn38LdF8hj1ft68raUFlILAiEAhP0M3vjx39LvoVgQZrfjT5bhn/jXspBqUW2rMW3FQG4="}]}},"1.1.2":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.1.2","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"e77a30ec6866e7c103a5faf1f99f1504d9f8bcb1","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@1.1.2","scripts":{},"_shasum":"704fbf71c9c1b9569bb2dfde6867bcfada7bbc93","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"704fbf71c9c1b9569bb2dfde6867bcfada7bbc93","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.1.2.tgz","integrity":"sha512-iTRJDCYZherBzjQrRCUoiqS9LXONL2yMcpB68eoF3XqZjUvOVBI9tym0y2WqfJ6HKNm7FcRsc1Q7D31h5enUFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD65S9sGIS8pUREDCHRGzoTTzNKR4Xc6NV9Hy+T4gUEWwIhANLib7MXMszqSfHd5uaMnSFKPVJcPMJRkz2nkKis86ak"}]}},"1.1.3":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.1.3","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"e0c255f3f91670b8fc7b526569972883920b34ae","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@1.1.3","scripts":{},"_shasum":"6250f20cb4f867d901b9dc3ee477235e460b3480","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"6250f20cb4f867d901b9dc3ee477235e460b3480","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.1.3.tgz","integrity":"sha512-OgJ20DznP8/SiKuvUHBi84VigdqZUHJOODvW/MBZND7UpQL7keVHoQ8XeQZkQbTyZelLhPJem2dW2qZOwlelsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBheHsAy8UERDZ/uGeu70tSmmFfl8KkIaQ2fhMieJp1jAiEA3W0SAzJ4gR/uHg60mvVYrp3xQJudxeOrGhlJw/RY8UA="}]}},"1.1.4":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.1.4","description":"Eitrium secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/EitriumTech/truflux.git"},"gitHead":"cd657bf3b4359a8bef4e4b6133209810a70268fe","bugs":{"url":"https://github.com/EitriumTech/truflux/issues"},"homepage":"https://github.com/EitriumTech/truflux","_id":"truflux@1.1.4","scripts":{},"_shasum":"2fa8d09d77fb415e2ded9307750375d97cd56fd7","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"2fa8d09d77fb415e2ded9307750375d97cd56fd7","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.1.4.tgz","integrity":"sha512-FY7Eq6kXv4rNAVXX1ug/C1QETArCEOk7ZU3zhXqXKfmT9bB871qIjWLmGWp97WAMDX4J++aHkDrNDUTG96lntw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFcDDYSi7Pj5OmnyBZCh+mABbHRCka7KUASTYYMR2+hDAiBfdP0Oc0jIvNQ5tTAWAiB2YiY6TZfNseGTONDRtBL8OA=="}]}},"1.1.6":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"1.1.6","description":"Secure socket connection module","keywords":["socket net server client protocol tcp wrapper"],"main":"./index.js","dependencies":{},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"0552008f184fd6d44e8456a4bb43c317dbce90e4","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@1.1.6","scripts":{},"_shasum":"8460f68420f44a8073b7af395c5f236e03a36fe8","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"8460f68420f44a8073b7af395c5f236e03a36fe8","tarball":"https://registry.npmjs.org/truflux/-/truflux-1.1.6.tgz","integrity":"sha512-JWr06S31cBdfXhJ3H4N/JOxybzIwfrgV/6Z2CITkxi4kjA/IgbcGrHgOolwDMoKMbXScwZ9e1PfXcot/hMGkaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSPnh3BRjw3NfzAJuYbEkoOs+KrTmSzBnh8y/4r6a7gQIhALJniAo36Pz1DtHEZ9cnx8T6zR6aWoRnIioIR5idEF/t"}]}},"2.0.0":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.0","description":"Secure socket connection module","keywords":["socket net server client protocol tcp wrapper websocket web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"0552008f184fd6d44e8456a4bb43c317dbce90e4","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.0","scripts":{},"_shasum":"7ac999e5f4d7cf6b5acffd35f2f925da43fc0d14","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"7ac999e5f4d7cf6b5acffd35f2f925da43fc0d14","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.0.tgz","integrity":"sha512-gW0yUHNYaZg0Au5sV1VwIXiyBzoS0zITChDZZ3SKU2c/OCfkU2wERL1Na2UK3LVo18cKmAGIry80tLOdKq68GQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGgeefE8NmAyN4c5x0hqgFMz4gRx3BgrH3X0HkowrUUoAiB0ErUC4rhpzfv4Dx07TzmKjQwtrKXRGftguK9RT5weEw=="}]}},"2.0.1":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.1","description":"Secure socket connection module","keywords":["socket net server client protocol tcp wrapper websocket web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"582c0294256bd6b739ba7849107fd8424d6c8b6d","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.1","scripts":{},"_shasum":"8b6ae3a183d3129de68d5508c96d7c1686f4ccb6","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"8b6ae3a183d3129de68d5508c96d7c1686f4ccb6","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.1.tgz","integrity":"sha512-wIcHKkD9SgqOzJYEcw5MZy3IOjY2phsKRJ/cEvo6lbMAWDG3YjNAIYpWLI/IU0rtoQf6qEGQlwO7xfKtefireg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3xYqsj7EK6a+D1iHX/V8hg0xKByt4kXsIitgdMfTeBAIhAMW7B1ge0iDlgw5TmMnai1870/IRJD/Ar0FfflPlyQil"}]}},"2.0.2":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.2","description":"Secure socket connection module","keywords":["socket net server client protocol tcp wrapper websocket web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"bda8376a8a316aecf717d1e2bc46ab9bc6899df8","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.2","scripts":{},"_shasum":"85615ccae64f9ec8cd6a816ad18cbfabb34f3d98","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"85615ccae64f9ec8cd6a816ad18cbfabb34f3d98","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.2.tgz","integrity":"sha512-uf6SwduyQmlN7T7YGMnwuLtQvQdyMf/8IKJ9/4+wxJUIpv6hV1WoDcXJwk58Cy2XS0L0UqNM0T18+NhO2fJuXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbKjyZiSP2mn9P9R7uXbehxD85Dpa2aQFU9FbXWABxJAiEAmwDVvpXWYRalAaaZGmsZKeAC5VckMVG+dCPF4/o11Ik="}]}},"2.0.3":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.3","description":"Secure socket connection module","keywords":["socket,net,server,client,protocol,tcp,wrapper,websocket,web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"bda8376a8a316aecf717d1e2bc46ab9bc6899df8","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.3","scripts":{},"_shasum":"b8c08f32b7c54853dbd2906e5550c63e39272782","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"b8c08f32b7c54853dbd2906e5550c63e39272782","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.3.tgz","integrity":"sha512-DCk1q7bdXCuv4kRoML1tCqde6X4l9y/IcOV17sItRLv7W8R17hFqDBAMAS4wMoDE4v5gxCfbsQ1OQbdhRU+RDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7WL+J8gJvkKgaS7AZKO34y2ajq6kID1oa6Ne1Rd62gAiEAi/0AKv/wMFwO91o+eqgK+kcx95J9urrLaYPiy9vYJIU="}]}},"2.0.4":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.4","description":"Secure socket connection module","keywords":["socket","net","server","client","protocol","tcp","wrapper","websocket","web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"bda8376a8a316aecf717d1e2bc46ab9bc6899df8","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.4","scripts":{},"_shasum":"bdf7627a4a115ace5ec542586399d40609c55e77","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"bdf7627a4a115ace5ec542586399d40609c55e77","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.4.tgz","integrity":"sha512-BvYT3andXe2BS/lUhLqpOL/ldZRJkL8IpTuWUU0f4fHeGwnoOaTRJWHysFp+rddRVHoFVHS6sztjrW7+E84ong==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRTCnwgULw8ffL0ZKMrE473O2UKL1uwiPNiDrTcwRGBAIgZJAr0455YJtCSTIGt7f/z90Ot05/6nrdFKnouFA/4O4="}]}},"2.0.6":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.6","description":"Secure socket connection module","keywords":["socket","net","server","client","protocol","tcp","wrapper","websocket","web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"bda8376a8a316aecf717d1e2bc46ab9bc6899df8","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.6","scripts":{},"_shasum":"d3e6de949e5223f9f8e9d1b9c11c4c154de588b1","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"d3e6de949e5223f9f8e9d1b9c11c4c154de588b1","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.6.tgz","integrity":"sha512-HGY9KQHAdcN8iqh+aXorcIQFNh8ORp8aW6DyDEa1V1ZBeC+HtNaKeqxnAivFHo6pNWKigUE3LG6c3Oxl9v4LsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHAGg84+X8/326rPo2BHfpRBElXVLqpWA13tZLg550VWAiEAygLjdTmY8pbJEjrM5Y4oDXOlttLbFGi1sq/2f1W6mNU="}]}},"2.0.7":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.7","description":"Secure socket connection module","keywords":["socket","net","server","client","protocol","tcp","wrapper","websocket","web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"bda8376a8a316aecf717d1e2bc46ab9bc6899df8","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.7","scripts":{},"_shasum":"bd20e52714a1f3a90006a29b4eabd1a86417eecb","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"bd20e52714a1f3a90006a29b4eabd1a86417eecb","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.7.tgz","integrity":"sha512-9sTc8SIyQmmJd2BqayK9joYN1cyl371coDfff5IfAuw6JLvoeXxWFKyNjKK4a0HlbHQnHMrSBwtL0XPYZ5vzsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL31T1vjXS6ux3jEz8x7HbgDyukmLSG8TIHCj8GnH5AgIhAKCZmR2/sK83BuMpgZtDlWa5MrWC5hYILptlxQRd0wrj"}]}},"2.0.9":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.9","description":"Secure socket connection module","keywords":["socket","net","server","client","protocol","tcp","wrapper","websocket","web"],"main":"./index.js","dependencies":{},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"3908ef78ee909fe4db3429d6e491a28492f6d53a","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.9","scripts":{},"_shasum":"4e3c57eef44973ca8e8ee3d7409eff0c23dcc713","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"4e3c57eef44973ca8e8ee3d7409eff0c23dcc713","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.9.tgz","integrity":"sha512-hSfVXyU5yF5pLXtVAzrgO+vWMsCtvLqzCrvSRwxkjTUePVwMQTe55dSGtNmPLO2eOqc8PS9tbiL2q8QefbVqdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7srgGYc0rRifGVTjWzE9U0omJbyA6aWnAsjybR3kz4AIhAL+MzaC/F6eg7CxJQOykxM1RNHqaqDhofkvcSt89qOFh"}]}},"2.0.10":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.10","description":"Secure socket connection module","keywords":["socket","net","server","client","protocol","tcp","wrapper","websocket","web"],"main":"./index.js","dependencies":{},"scripts":{"bench":"node ./benchmark/bench.js"},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"1c1ddeb57688d7e59f9124940c7206eb05e912f1","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.10","_shasum":"1381778ace7379ad66ba423e7d34aaca68f9e576","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"1381778ace7379ad66ba423e7d34aaca68f9e576","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.10.tgz","integrity":"sha512-vR9LfSiw3QAfzr6wwjw07A1G0iXTMRtoXQj3zWWyPzLz9semwxNa59+VVSv3FslmXNlZdeQJl8k1IxO6tQZgIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDELJPqkRkXfYCFMrkLV/XI9ct6YwRicCzP2Ls2bo2VOwIhANhcW1bVUMJETqFZyQt66i5EGuzMkYLdhPxSNwyhxF5v"}]}},"2.0.11":{"name":"truflux","author":{"name":"titon","email":"titon1235@gmail.com"},"version":"2.0.11","description":"Secure socket connection module","keywords":["socket","net","server","client","protocol","tcp","wrapper","websocket","web"],"main":"./index.js","dependencies":{},"scripts":{"bench":"node ./benchmark/bench.js"},"devDependencies":{"truflux-msg":"^1.0.0"},"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"gitHead":"a185f36c3470c387b8b1a30848eaf54fb3bb4367","bugs":{"url":"https://github.com/Auxolust/truflux/issues"},"homepage":"https://github.com/Auxolust/truflux","_id":"truflux@2.0.11","_shasum":"d13b2af30c1cda8d58635342678ec92b747088e2","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"titon","email":"titon1235@gmail.com"},"maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"dist":{"shasum":"d13b2af30c1cda8d58635342678ec92b747088e2","tarball":"https://registry.npmjs.org/truflux/-/truflux-2.0.11.tgz","integrity":"sha512-Zp7f+K05EshhDHg9I12gsnrZjLlh+RnAzfIfAt00S16PBeAeVwGkJtsVcYHonOSXc4avfsdS4JizGptT+0USIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICaWDoiepVgjpHuapkeBhbdLAek/HkNV0NsNdB/488kJAiAkk29TZZYyqPT4dYBjtsOoNFe+Iqi9qgTmKuLM/7cOEw=="}]}}},"readme":"# Truflux The fastest socket module on npm\r\n\r\n### To install\r\n```bash\r\nnpm install --save truflux\r\n```\r\n\r\n```js\r\nvar tru = require('truflux');\r\n```\r\n\r\nTruflux uses a separate protocol definition module. No internal messaging module is provided.Here are some official definition modules\r\n\r\n**truflux-msg** A stateless messaging protocol.Very easy to use.  https://www.npmjs.com/package/truflux-msg\r\n\r\n**truflux-state-msg** A stateful messaging protocol.Recommended for intermediate use.  https://www.npmjs.com/package/truflux-state-msg\r\n\r\n## TL:DR\r\nTruflux is a lightweight high performance socket framework for protocol based messaging for websockets and netsockets supporting read/write streams to allow you to send files across a network, as well as crypto for symmetric and asymmetric secure connections.The browser client is about ~5kb minified and ~2kb gzipped.\r\n\r\nFor some recipes on common networking actions see the end of the readme. This includes file sending and binding to servers like express .Note that the browser client contains the same functionality as a net client, but has a few small differences which are outlined below  \r\n\r\n### Current Performance stats\r\nThe current performance stats are based on the benchmarking test performed by ws, the current \"fastest\" socket library\r\nThese number are performed on a lowend 32bit laptop with 1.3GHz CPU with 1GB RAM which is actually inferior to the m3.xlarge EC2 instance that **ws** uses for testing.\r\n\r\n**NOTE** With a standard 3.2GHz CPU, you can expect a speed increase of about 8x\r\n\r\nHowever as you can see, we soundly beat the current benchmark of 'ws' performance even with the overhead of crypto.\r\n\r\n#### truflux \r\n\r\nNo crypto\r\n\r\n* Running 10000 roundtrips of 64 B binary data:      3.8s       185.96 kB/s\r\n* Running 5000 roundtrips of 16 kB binary data:      3.9s        23.85 MB/s\r\n* Running 1000 roundtrips of 128 kB binary data:     4.5s        36.62 MB/s\r\n* Running 100 roundtrips of 1 MB binary data:        5.2s        21.21 MB/s\r\n* Running 10 roundtrips of 10 MB binary data:        24.4s        4.71 MB/s\r\n\r\n\r\nCrypto using aes-256-cbc\r\n\r\n* Running 10000 roundtrips of 64 B binary data:       4.9s       126.9 kB/s\r\n* Running 5000 roundtrips of 16 kB binary data:       9.1s        8.56 MB/s\r\n* Running 1000 roundtrips of 128 kB binary data:     13.2s        9.49 MB/s\r\n* Running 100 roundtrips of 1 MB binary data:        13.8s        7.27 MB/s\r\n* Running 10 roundtrips of 10 MB binary data:          31s        3.22 MB/s\r\n\r\n#### ws\r\n\r\n* Running 10000 roundtrips of 64 B binary data:   22.1s   28.34 kB/s\r\n* Running 5000 roundtrips of 16 kB binary data:   33.9s   2.31 MB/s\r\n* Running 1000 roundtrips of 128 kB binary data:  50s     2.5 MB/s\r\n* Running 100 roundtrips of 1 MB binary data:     35.3s   2.83 MB/s\r\n* Running 10 roundtrips of 10 MB binary data:     35s     2.85 MB/s\r\n\r\nWe can improve this performance drastically for large files once Node / iojs increase the tcp window size to do more efficient chunking of the buffers\r\n**NOTE** also that truflux does not use unix sockets to circumvent the network interface to artificially inflate its speed.\r\n\r\n### Basic Echo server example\r\n\r\n```js\r\nvar tru=require('truflux');\r\nvar msg=require('truflux-msg');\r\n\r\nvar protocol=new msg();\r\nprotocol.add('echo',function(data,sock)\r\n{sock.send('display',data);})\r\n.add('display',function(data)\r\n{console.log(data);});\r\n\r\nvar server=new tru.Server({msg:protocol});\r\nserver.open();\r\nvar client=new tru.Client({msg:protocol}))\r\nclient.open().on('open',function(sock)\r\n{\r\n    sock.send('echo','Atreyuuuu!');\r\n});\r\n```\r\n### Basic messenger example\r\nSee the following gist on how to create a minimal server/client messenger for truflux in 75 lines with extensible protocol,broadcasting\r\nand oldschool prompt interface\r\nhttps://gist.github.com/Auxolust/59d13b5f070b5717fa58\r\n\r\n\r\n### Upcoming improvements\r\n* An upcoming CDN will be provided to allow lightning fast downloads of the browserclient. This will be the recommended action to using truflux in the browser\r\n* UDP protocol for real time streaming (This will most likely be its own package to prevent bloat)\r\n* Message chunk limiter for production servers\r\n* Currently the server does not encrypt blob chunks when it sends data from the server to browserclient. This will be rectified via utf-8 encoding , however there will obviously be a large performance penalty on the client side to perform deciphering which I will address as soon as I can.\r\n* Automatic symmetric key randomisation every x amount of time to prevent cracking the socket security. This will create a pessimistic estimate of the time required by a malicious hacker to bruteforce their way past the symmetric key and automatically randomize the key\r\n\r\n### Changelog\r\n\r\n### V2.0.0\r\nMajor overhaul. Everything was rewritten with the exception of the security and standard files. Needless to say this mandated a major update.\r\nNew changes include more concise language, as well as the adoption of traits internally to prevent the performance overhead of function stacks.\r\n\r\nThe most prevalent of these changes is the abstraction between websockets and netsockets and the new support for http servers \r\n\r\n#### V1.0.0\r\nModified the ID to use the Pseudo-Hadamard transform as an isomorphic map for the ID when in secure mode. This is the first step to allowing one to plug their own cipher into the endpoints.\r\nAs a result of this the fixed header size is down to 72 bits in both secure and unsecure mode, reducing header size in secure mode by 57%.This replaces the old aes-256-cbc ciphering of the message ID which was slow and inefficient.The new PHT function results in an average 1.132 microsecond decryption and encryption\r\n\r\nModified file sending to send as binary type, this has reduced file sending size by ~69% on average\r\nAlso added in asymmetric security and expose the cipher type to allow custom encryption on the channels if needed\r\n\r\nThe change in the underlying architecture to changing the security has mandated a v1.0.0 increase to avoid breaking changes with old non asymmetric channels\r\n\r\n#### V0.3.0\r\nAdded support to pausing and resuming network streams. We now default to sending buffer based encoding when sending files to avoid mangling binary files so you can now send .exes etc through the network.\r\nAlso modified server broadcast to allow passing in an array of excluded sockets we don't want to receive the broadcasted message\r\n\r\n#### V 0.2.0\r\nNow using fixed header sizes and preferring binary type buffer data\r\n\r\n##### Old Dynamic messages\r\n256 bits **Minimal** message size in unsecure mode\r\n592 bits **Minimal** message size in secure mode\r\n\r\n##### New fixed headers\r\n9 Octet header size per message in unsecure mode  = 72 bits\r\n21 Octet header size per message in secure mode   = 168 bits\r\nAverage message size is now down 77%\r\n\r\nWe now support 2147483647 unique message types as well as a theoretical single message maximal size of 31.2 Gb. However we highly suggest streaming for large volume data exchange. Added support to pipe to/from streams when sending files across the network.Encryption has been upgraded from aes-192-cbc to aes-256-cbc.\r\n\r\nPerformance for pushing out messages has degraded by 0.9% based on sending 1000 messages of varying types, this is in response to buffer packing, as the performance of buffers only truly shines with larger message types.To see the current stats\r\nof pushing out messages, see the bottom of the page\r\n\r\nWe've now changed from recursive descent parsing of the the message parsing to an iterative approach, so you cannot blow the call stack by pushing too many messages too fast\r\n\r\n# API\r\n\r\nThere are 4 objects exposed when you require truflux\r\n\r\n```\r\nServer   //The object to create a new server with\r\nClient   //The object to create a new client with\r\nstd      //A collection of standards, such as default system messages as well as an enumeration of errors.These will not be changed with the exception of major version updates, so feel free to use\r\nhttpBind //A function to bind a truflux server to an http server\r\n```\r\n\r\n## httpBind(trufluxServer,httpServer,options)\r\nUsed to bind an http server to allow websockets to interact with the truflux server\r\n\r\n```text\r\n   options:\r\n    {\r\n        path: String Relative path on the http server for the binding. An error WILL be thrown if you attempt to bind two truflux servers to the same path. DEFAULT='/'\r\n    }\r\n```\r\n\r\n```js\r\ntruflux.httpBind(trufluxServer,someHttpServer,{path:'/myChatServer'});\r\nsomeHttpServer.listen(80,function()\r\n{\r\n    console.log('Server up');\r\n});\r\n```\r\n\r\n\r\n## Server\r\n### *Constructor*([options])\r\n```text\r\n    options:\r\n    {\r\n        port: Integer\r\n        msg: Truflux-msg Object\r\n        ciphers: String or Array of Strings. A list in priority order of the cipher type you wish to you to connect to a client. DEFAULT aes-256-cbc\r\n        noDelay: Whether to turn off message buffering according to Nagles algorithm. Default is false to reduce network congestion\r\n    }\r\n```\r\n\r\n### open(cb)\r\nOpens the server and starts listening. CHAINABLE\r\n```text\r\n    cb : callback function\r\n```\r\n\r\n### onNewSocket(socket,options)\r\nManually adds a socket object to the server. This socket must adhere to the standard tcp socket interface. You will probably never have to call this yourself\r\n\r\n```\r\n    options:\r\n    {\r\n        port: Integer\r\n        msg: Truflux-msg Object\r\n        ciphers: String or Array of Strings. A list in priority order of the cipher type you wish to you to connect to a client. DEFAULT aes-256-cbc\r\n        noDelay: Whether to turn off message buffering according to Nagles algorithm. Default is false to reduce network congestion\r\n    }\r\n```\r\n\r\n\r\n### close([cb],[force])\r\nCloses the server .CHAINABLE\r\n```text\r\n    cb : callback function\r\n    force : Whether to force closing or end gracefully\r\n```\r\n\r\n### broadcast(id,[data],[exclude])\r\nBroadcasts a message to currently connected server-clients , see **Common client's** send function for more info on id and data.CHAINABLE\r\n```text\r\n    id: String | Integer\r\n    data: Any\r\n    exclude: Client| Array of Clients\r\n```\r\n### getNumSockets()\r\nReturns the number of currently connected clients\r\n\r\n### Events\r\n\r\n* **client** Emitted on new connection from a client\r\n\r\n```js\r\nfunction(client)\r\n```\r\n\r\n* **error** Emitted on server error. One such possible error would be if the client does not support the required cipher type\r\n\r\n```js\r\nfunction(stdError,clientIfApplicable)\r\n```\r\n\r\nThe *stdError* Object is as follows\r\n\r\n```text\r\n{\r\n    e:The error code.Error codes are available from sec.std.errors\r\n    add:An OPTIONAL value that is passed in from some error codes\r\n}\r\n```\r\n\r\n\r\n## Common Client\r\nThese methods are common to any client, server-client,websocket client or the net client.\r\n\r\n### Accessible properties\r\n```text\r\n    session: An object that can be used to store session variables if needed\r\n```\r\n\r\n### Events \r\nThese events are common to both server-client and standard client\r\n\r\n* **error** Emitted when an error occurs on a client\r\n\r\n```js\r\nfunction(stdErrorObject,client)\r\n```\r\n\r\n* **file** Emitted when a file is offered for download\r\n\r\n```js\r\nfunction(NetworkFileWriter,client)\r\n```\r\n\r\n* **close** emitted the client closing\r\n\r\n```js\r\nfunction(stdErrorObject,client)\r\n```\r\n\r\n### send(id,[data])\r\nSends a message to across the network to the peer.Internally a call to a **checkStructure** function will be called by the client to check if the message adheres to the schema set out in the message definition .CHAINABLE\r\n```text\r\nid : String/Integer\r\ndata : Any. Any data you send will return on the other side with the correct type intact. Objects will be objects, buffers will be buffers, etc\r\n```\r\n\r\n```js\r\nclient.send(trufluxMsgObject.id.echo,\"Do you want messages? Because that's how you get messages\");\r\n// OR\r\nclient.send(\"echo\",\"Um phrasing? Are we still doing that?\");\r\n```\r\n\r\n### sendFile(Reader,[options])\r\nReturns a **NetworkFileReader** object and starts sending a file to the peer.See **NetworkFileReader** for more details\r\n```text\r\n    Reader: String for a filepath ||Readable stream that will have its input piped in and sent\r\n    options :\r\n        {\r\n           name :String If string filepath is provided for reader this is not required , defaults to \"[Stream]\" for streams\r\n           type:String, Stream transport type ,hex,base64 etc USELESS IN BROWSER\r\n           size:number If string filepath is provided for reader this is not required to be set ,-1 for streams is the default\r\n        }\r\n```\r\n\r\n### close([force])\r\nCloses the connection and sends a message to the peer to know the connection was closed cleanly, if no force was applied.CHAINABLE\r\n```text\r\n    force: Boolean , whether to force close the socket connection or to send a message saying it was closed cleanly\r\n```\r\n\r\n### getInfo()\r\nRetrieves the socket info.Returns the following.\r\n```text\r\n    address:String, the local address\r\n    port:Integer, the local port\r\n    remoteAddress:String,\r\n    remotePort:Integer\r\n```\r\n\r\n## Server-client\r\n\r\nThere are 3 readOnly properties.The first 2 are used to see the current security status. Truflux allows asymmetric encryption \r\n```\r\nsecure     //Boolean Whether we are encrypting our data\r\npeerSecure //Boolean Whether our peer is encrypting their data\r\nws         //Boolean Whether or not the connections is a websocket\r\n```\r\n\r\n### setClientSecurity(enabled)\r\nTurns the security of the stream from client->serverClient on/off.Turning security off has performance gains as we don't have to encrypt messages.CHAINABLE\r\n```text\r\n    enabled: Boolean\r\n```\r\n### setOwnSecurity(enabled)\r\nTurns the security of the stream from serverClient->client on/off.Turning security off has performance gains as we don't have to encrypt messages.CHAINABLE\r\n```text\r\n    enabled: Boolean\r\n```\r\n\r\n## Client\r\n### Constructor([options])\r\n**options** Object\r\n```text\r\n{\r\n    port: Number USELESS FOR BROWSER CLIENTS\r\n    host: String\r\n    msg:  Truflux-msg Object,\r\n    noDelay: Whether to turn off message buffering according to Nagles algorithm  USELESS FOR BROWSER CLIENTS\r\n    crypto: Crypto module for BROWSER CLIENTS. Allows modular security\r\n}\r\n```\r\n### open()\r\nConnects to the server specified on **host** : **port** . CHAINABLE\r\n\r\n### Events\r\n\r\n#### Events in Browser\r\nNOTE the browser implementation does not utilize eventEmitters. It instead exposes functions as properties\r\n```\r\nonClose=function()\r\nonOpen=function()\r\nonErr=function(err)\r\n```\r\n\r\n#### EventEmitter events for non-browser\r\n\r\n\r\n* **open** Emitted when the client has connected to the server and communication can occur.The client is now ready to use\r\n\r\n```js\r\nfunction(client)\r\n```\r\n\r\n## NetworkFileReader\r\nAn object this is provided when calling **client.sendFile()**\r\n\r\n### Events\r\n\r\n#### Events in Browser\r\nNOTE the browser implementation does not utilize eventEmitters. It instead exposes functions as properties\r\n```\r\nonEnd=function()\r\nonAccept=function()\r\nonCancel=function()\r\nonPause=function()\r\nonResume=function()\r\nonDecline=function()\r\n```\r\n\r\n#### EventEmitter events for non-browser\r\n\r\n* **accept** Emitted when the peer has accepted the offered file for download.\r\n\r\n```js\r\nfunction(NetworkFileReader,client)\r\n```\r\n\r\n* **error**\r\n\r\n```js\r\nfunction(NetworkFileReader,client)\r\n```\r\n\r\n* **decline** Emitted when the peer has declined the proffered file\r\n\r\n```js\r\nfunction(NetworkFileReader,client)\r\n```\r\n\r\n* **pause** Emitted when the peer has paused the proffered file\r\n\r\n```js\r\nfunction(NetworkFileReader,client)\r\n```\r\n\r\n* **resume** Emitted when the peer has resumed download of  the proffered file\r\n\r\n```js\r\nfunction(NetworkFileReader,client)\r\n```\r\n\r\n* **finish** Emitted when the peer has finished downloading the entire file\r\n\r\n```js\r\nfunction(NetworkFileReader,client)\r\n```\r\n\r\n* **cancel** Emitted when the peer has cancelled the download of the file\r\n\r\n```js\r\nfunction(NetworkFileReader,client)\r\n```\r\n\r\n## NetworkFileWriter\r\nAn object that is provided on the **file** event of the **CommonClient**\r\n\r\nThere are a few publicly accessible properties you might find helpful\r\n\r\n```\r\nname //String Name of the sent file \r\nsize //Integer Size in bytes of the file \r\nisStream//Boolean whether or not its a stream\r\npaused //whether or not the filewriter is paused. Check for truthyness on the BROWSER CLIENT\r\n```\r\n\r\n### accept(acceptor)\r\nAccepts an offered file over the network and starts stream writing it to the specified Writer\r\n```\r\n    acceptor:String for filepath | writable stream that will have the input piped to it\r\n    NOTE The browser client does not have an acceptor argument\r\n```\r\n### decline()\r\nDeclines an offered network file\r\n\r\n### cancel()\r\nCancels the file download if previously accepted\r\n\r\n### pause()\r\nPauses the file download\r\n\r\n### resume()\r\nResumes the file download\r\n\r\n### Events\r\n\r\n#### Events in Browser\r\nNOTE the browser implementation does not utilize eventEmitters. It instead exposes functions as properties\r\n```\r\n onEnd=function(blobDataURI)\r\n onErr=function(err)\r\n```\r\n\r\n#### EventEmitter events for non-browser\r\n* **error**\r\n\r\n```js\r\nfunction(stdErrObject,NetworkFileWriter,client);\r\n```\r\n* **end** Emitted when the stream has finished writing the object to file\r\n\r\n```js\r\nfunction(NetworkFileWriter,client)\r\n```\r\n\r\n### Browser caveats\r\n\r\n* The browserClient for truflux does not contain the server,httpbind or std objects\r\n\r\n* Compatibility is always a problem with browsers. By default truflux exports all its properties into the window namespaced as an object called truflux .This has the following properties\r\n\r\n```text\r\nwindow.truflux=\r\n{\r\n\tClient:Function,//The client constructor to create a new client\r\n\tfileDown:Boolean,//Whether file downloads are possible\r\n\tfileUp:Boolean //Whether file uploads are possible\r\n};\r\n```\r\n\r\n* When  sending files between net sockets, they are automatically encrypted. The current performance penalty in the browser means I have yet to implement it, so be awares that on a non wss:// socket files might be sniffed\r\n\r\n* Since its wrapped in a function for the import, no errors should be throw if websockets are not supported, however I urge you to use !!window.WebSocket to check if websockets are supported \r\n\r\n* The browser does not contain crypto within it. Therefore having a server that uses a secure channel will cause a failSecure event to be emitted on the server client\r\nIn order to enable crypto in the browser, the crypto module must provide the following functionality in compliance with standard node/iojs crypto functionality\r\n\r\n```js\r\ncrypto.getCiphers()\r\nDiffieHellman=crypto .createDiffieHellman(prime,'base64');\r\nDiffieHellman.generateKeys();\r\nDiffieHellman.getPublicKey('base64;);\r\nDiffieHellman.computeSecret(publicKey,'base64','base64');\r\n\r\ndecipher=crypto.createDecipher(cipherType,symmetricKey);\r\ndata=decipher.update(MessageData,'utf8');\r\ndata+=decipher.final('utf8');\r\n\r\ncipher=crypto.createCipher(cipherType,symmetricKey);\r\ndata=cipher.update(messageData,'utf8');\r\ndata+=cipher.final('utf8');\r\n```\r\n\r\n### Recipes\r\n\r\n\r\n#### Binding to an http server\r\n\r\n```js\r\nvar truflux=require('truflux');\r\nvar server= new truflux.Server(/*...*/);\r\nserver.open();\r\n\r\ntruflux.httpBind(server,someHttpServer,{path:'/myChatServer'});\r\nsomeHttpServer.listen(80,function()\r\n{\r\n    console.log('Server up');\r\n});\r\n\r\n```\r\n\r\n#### Sending a file as a browser client\r\n```js\r\n\r\n var sender=browserClient.sendFile(someFileObject);\r\n sender.onAccept=function()\r\n {\r\n  console.log('Our file upload offer was accepted');\r\n }\r\n sender.onEnd=function()\r\n {\r\n   console.log('The server has our file');\r\n }\r\n```\r\n\r\n\r\n#### Receiving a file as a browser client\r\n\r\n```js\r\nbrowserClient.onFile=function(wstream)\r\n{\r\n wstream.accept();\r\n wstream.onEnd=function(uri)\r\n {\r\n    var a = document.createElement(\"a\");\r\n    document.body.appendChild(a);\r\n    a.style = \"display: none\";\r\n\r\n    a.href = uri;\r\n    a.download = wstream.name;\r\n    a.click();\r\n    \r\n    //Remove URL if you're not using it anymore\r\n    window.URL.revokeObjectURL(uri);\r\n }\r\n}\r\n```\r\n\r\n#### Upgrading to a symmetric secure connection\r\n\r\n```js\r\n//Assuming this is the first time we've called it\r\nserverClient.setOwnSecurity(true)\r\n.setClientSecurity(true)\r\n.once('handshaked',function()\r\n{\r\n  \tconsole.log(socket.secure);//true\r\n  \tconsole.log(socket.peerSecure);/*Not necessarily true until truflux gets the client acknowledgement, \r\n  \thowever the client will receive the setSecurity message before this so synchronicity is conserved*/\r\n \r\n  \t//Once the initial handshake happens, there is no need to listen anymore ie \r\n  \t//No need to listen to the handshake anymore, we just flip the security on and off from here\r\n \tserverClient.setOwnSecurity(false)\r\n \t\t     .setOwnSecurity(true)\r\n             .setClientSecurity(false)\r\n             .setClientSecurity(true)\r\n             .send('someMessage',someData);\r\n\r\n}).once('failSecure',function()\r\n{\r\n\t//Client probably does not have the supported ciphers.Lets  kick him off\r\n\tserverClient.close();\r\n};\r\n```\r\n\r\n","maintainers":[{"name":"titon","email":"titon1235@gmail.com"}],"time":{"modified":"2022-06-27T21:48:24.586Z","created":"2015-01-09T17:16:35.866Z","0.1.2":"2015-01-09T17:16:35.866Z","0.1.3":"2015-01-10T14:06:15.797Z","0.1.4":"2015-01-11T16:50:07.583Z","0.1.5":"2015-01-12T16:56:37.755Z","0.1.6":"2015-01-12T16:58:02.992Z","0.1.8":"2015-01-12T17:06:10.714Z","0.1.9":"2015-01-21T21:07:12.111Z","0.2.0":"2015-01-23T17:12:48.584Z","0.2.1":"2015-01-23T19:23:43.859Z","0.2.2":"2015-01-23T19:28:19.463Z","0.2.3":"2015-01-23T22:22:38.694Z","0.2.4":"2015-01-24T09:31:44.597Z","0.2.5":"2015-01-24T18:40:29.659Z","0.2.6":"2015-01-25T14:01:03.042Z","0.2.7":"2015-01-25T15:22:25.317Z","0.2.8":"2015-01-25T20:06:46.960Z","0.3.0":"2015-02-01T18:19:00.098Z","1.0.0":"2015-02-13T06:48:07.295Z","1.0.1":"2015-02-16T14:34:44.487Z","1.1.0":"2015-02-16T20:15:19.900Z","1.1.1":"2015-02-17T10:24:38.738Z","1.1.2":"2015-02-17T10:41:05.278Z","1.1.3":"2015-02-17T13:00:20.753Z","1.1.4":"2015-02-17T14:36:50.511Z","1.1.6":"2015-02-19T16:16:03.530Z","2.0.0":"2015-02-25T14:00:10.533Z","2.0.1":"2015-02-25T15:16:06.102Z","2.0.2":"2015-02-26T13:29:12.259Z","2.0.3":"2015-02-27T16:46:06.365Z","2.0.4":"2015-02-27T16:53:27.543Z","2.0.6":"2015-03-01T20:10:25.099Z","2.0.7":"2015-03-01T20:53:27.696Z","2.0.9":"2015-04-24T21:36:32.691Z","2.0.10":"2015-07-20T11:33:14.654Z","2.0.11":"2015-07-21T11:33:00.238Z"},"keywords":["socket","net","server","client","protocol","tcp","wrapper","websocket","web"],"repository":{"type":"git","url":"https://github.com/Auxolust/truflux.git"},"author":{"name":"titon","email":"titon1235@gmail.com"},"readmeFilename":"readme.md","homepage":"https://github.com/Auxolust/truflux","bugs":{"url":"https://github.com/Auxolust/truflux/issues"}}