{"_id":"rainbowsocks","_rev":"3680","name":"rainbowsocks","description":"SOCKS4a proxy client","dist-tags":{"latest":"0.1.3"},"maintainers":[{"name":"bencevans","email":"ben@bensbit.co.uk"}],"time":{"modified":"2021-06-03T09:56:21.000Z","created":"2013-05-14T14:45:18.352Z","0.1.3":"2015-10-07T20:27:16.913Z","0.1.2":"2014-06-11T22:01:23.108Z","0.1.1":"2013-10-28T10:54:36.319Z","0.1.0":"2013-05-14T14:45:18.352Z"},"users":{"undertuga":true},"author":{"name":"Ben Evans","email":"ben@bensbit.co.uk","url":"http://bensbit.co.uk"},"repository":{"type":"git","url":"git://github.com/bencevans/node-rainbowsocks.git"},"versions":{"0.1.3":{"name":"rainbowsocks","version":"0.1.3","description":"SOCKS4a proxy client","main":"index.js","dependencies":{"debug":"~2.2.0"},"devDependencies":{"mocha":"~2.3.3"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/bencevans/node-rainbowsocks.git"},"keywords":["SOCKS","SOCKS4a","proxy","tor","client","tunnel"],"author":{"name":"Ben Evans","email":"ben@bensbit.co.uk","url":"http://bensbit.co.uk"},"license":"MIT","gitHead":"024b65a5632c373aafd4c63e0ea228bb80bc754f","bugs":{"url":"https://github.com/bencevans/node-rainbowsocks/issues"},"homepage":"https://github.com/bencevans/node-rainbowsocks#readme","_id":"rainbowsocks@0.1.3","_shasum":"5894705efa5f2299f6e921ce950e4231bd123ad2","_from":".","_npmVersion":"3.3.5","_nodeVersion":"4.0.0","_npmUser":{"name":"bencevans","email":"ben@bensbit.co.uk"},"maintainers":[{"name":"bencevans","email":"ben@bensbit.co.uk"}],"dist":{"shasum":"5894705efa5f2299f6e921ce950e4231bd123ad2","size":2245,"noattachment":false,"key":"/rainbowsocks/-/rainbowsocks-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/rainbowsocks/download/rainbowsocks-0.1.3.tgz"},"directories":{},"publish_time":1444249636913,"_cnpm_publish_time":1444249636913,"_hasShrinkwrap":false},"0.1.2":{"name":"rainbowsocks","version":"0.1.2","description":"SOCKS4a proxy client","main":"index.js","dependencies":{"debug":"~1.0.0"},"devDependencies":{"mocha":"~1.14.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/bencevans/node-rainbowsocks.git"},"keywords":["SOCKS","SOCKS4a","proxy","tor","client","tunnel"],"author":{"name":"Ben Evans","email":"ben@bensbit.co.uk","url":"http://bensbit.co.uk"},"license":"MIT","bugs":{"url":"https://github.com/bencevans/node-rainbowsocks/issues"},"_id":"rainbowsocks@0.1.2","dist":{"shasum":"eebddb330eac4f178d79eadb12ff851c84ab97e1","size":2220,"noattachment":false,"key":"/rainbowsocks/-/rainbowsocks-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/rainbowsocks/download/rainbowsocks-0.1.2.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"bencevans","email":"ben@bensbit.co.uk"},"maintainers":[{"name":"bencevans","email":"ben@bensbit.co.uk"}],"directories":{},"publish_time":1402524083108,"_cnpm_publish_time":1402524083108,"_hasShrinkwrap":false},"0.1.1":{"name":"rainbowsocks","version":"0.1.1","description":"SOCKS4a proxy client","main":"index.js","dependencies":{"debug":"~0.7.2"},"devDependencies":{},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/bencevans/node-rainbowsocks.git"},"keywords":["SOCKS","SOCKS4a","proxy","tor","client","tunnel"],"author":{"name":"Ben Evans","email":"ben@bensbit.co.uk","url":"http://bensbit.co.uk"},"license":"MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/bencevans/node-rainbowsocks/issues"},"_id":"rainbowsocks@0.1.1","dist":{"shasum":"ca7a460443398c6b87fa7e956b104e73b660444f","size":1973,"noattachment":false,"key":"/rainbowsocks/-/rainbowsocks-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/rainbowsocks/download/rainbowsocks-0.1.1.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bencevans","email":"ben@bensbit.co.uk"},"maintainers":[{"name":"bencevans","email":"ben@bensbit.co.uk"}],"directories":{},"publish_time":1382957676319,"_cnpm_publish_time":1382957676319,"_hasShrinkwrap":false},"0.1.0":{"name":"rainbowsocks","version":"0.1.0","description":"SOCKS4a proxy client","main":"index.js","dependencies":{"debug":"~0.7.2"},"devDependencies":{},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":"","keywords":["SOCKS","SOCKS4a","proxy","tor","client","tunnel"],"author":{"name":"Ben Evans","email":"ben@bensbit.co.uk","url":"http://bensbit.co.uk"},"license":"MIT","readmeFilename":"README.md","_id":"rainbowsocks@0.1.0","dist":{"shasum":"58c9b2ba16f2d91629211037c31c9c3f2a554936","size":1935,"noattachment":false,"key":"/rainbowsocks/-/rainbowsocks-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/rainbowsocks/download/rainbowsocks-0.1.0.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"bencevans","email":"ben@bensbit.co.uk"},"maintainers":[{"name":"bencevans","email":"ben@bensbit.co.uk"}],"directories":{},"publish_time":1368542718352,"_cnpm_publish_time":1368542718352,"_hasShrinkwrap":false}},"readme":"# rainbowsocks\n\nSOCKS4a client developed with rainbows\n\n## Install\n\n`npm install rainbowsocks`\n\n## API\n\n### var rainbowsocks = new RainbowSocks(port, [host])\n\n* port - Socks4a Proxy Port\n* host - SOCKS4a Proxy Host || 127.0.0.1\n\n#### rainbowsocks.connect(targetHost, targetPort, callback)\n\nPseudo function of rainbowsocks.request to establish a TCP/IP stream connection\n\n* targetHost - IP/Domain of desired destination\n* targetPort - Port of desired destination\n* callback - Called with signature of (err, socket)\n\n#### rainbowsocks.bind(targetHost, targetPort, callback)\n\nPseudo function of rainbowsocks.request to establish a TCP/IP port binding\n\n* targetHost - IP/Domain of desired destination\n* targetPort - Port of desired destination\n* callback - Called with signature of (err, socket)\n\n#### rainbowsocks.request(cmdBuf, domain, port, callback)\n\nSends a request to proxy to take a specific action\n\n* cmdBuf - 1 Octet Buffer containg SOCKS4a action code\n* targetHost - IP/Domain of desired destination\n* targetPort - Port of desired destination\n* callback - Called with signature of (err, socket)\n\n#### Event: `connect`\n\nConnected to proxy\n\n\n## Example\n\n```javascript\nvar RainbowSocks = require('rainbowsocks');\nvar sock = new RainbowSocks(8080, '192.168.0.45');\n\nsock.on('connect', function() {\n  console.log('Connected to proxy');\n  sock.connect('www.google.com', 80, function(err, socket) {\n    if(err) throw err;\n    console.log('Connected to www.google.com');\n    socket.write('GET / HTTP/1.1\\nHost: www.google.com\\n\\n');\n    socket.pipe(process.stdout);\n  });\n});\n```\n\n## Licence\n\nMIT","_attachments":{},"homepage":"https://github.com/bencevans/node-rainbowsocks#readme","bugs":{"url":"https://github.com/bencevans/node-rainbowsocks/issues"},"license":"MIT"}