SOCKS v5 HTTPS client implementation in JavaScript for Node.js.
varshttps=require('socks5-https-client');shttps.get({hostname: 'encrypted.google.com',path: '/',rejectUnauthorized: true// This is the default.},function(res){res.setEncoding('utf8');res.on('readable',function(){console.log(res.read());// Log response to console.});});Specify the socksHost and socksPort options if your SOCKS server isn't running on localhost:1080. Tor runs its SOCKS server on port 9050 by default, for example.
Username and password authentication is supported with the socksUsername and socksPassword options.
You may also pass a URL as the first argument to get or request, which will be parsed using url.parse.
Works great for making HTTPS requests through Tor.
Make sure a Tor server is running locally and run node example/tor https://check.torproject.org/ to test.
To use with Request, just pass a reference to the Agent constructor..
varAgent=require('socks5-https-client/lib/Agent');request({url: 'https://encrypted.google.com/',strictSSL: true,agentClass: Agent,agentOptions: {socksHost: 'my-tor-proxy-host',// Defaults to 'localhost'.socksPort: 9050,// Defaults to 1080.// Optional credentialssocksUsername: 'proxyuser',socksPassword: 'p@ssw0rd',}},function(err,res){console.log(err||res.body);});This client only provides support for making HTTPS requests. See socks5-http-client for an HTTP implementation.
Copyright © 2013 Matthew Caruana Galizia, licensed under an MIT license.
