61 lines
1.9 KiB
Markdown
61 lines
1.9 KiB
Markdown
|
# SOCKS5 HTTPS Client #
|
||
|
|
||
|
[![Build Status](https://travis-ci.org/mattcg/socks5-https-client.png?branch=master)](https://travis-ci.org/mattcg/socks5-https-client)
|
||
|
|
||
|
SOCKS v5 HTTPS client implementation in JavaScript for Node.js.
|
||
|
|
||
|
```js
|
||
|
var shttps = 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`.
|
||
|
|
||
|
## Using with Tor ##
|
||
|
|
||
|
Works great for making HTTPS requests through [Tor](https://www.torproject.org/).
|
||
|
|
||
|
Make sure a Tor server is running locally and run `node example/tor https://check.torproject.org/` to test.
|
||
|
|
||
|
## Using with Request ##
|
||
|
|
||
|
To use with [Request](https://github.com/mikeal/request), just pass a reference to the `Agent` constructor..
|
||
|
|
||
|
```js
|
||
|
var Agent = 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.
|
||
|
}
|
||
|
}, function(err, res) {
|
||
|
console.log(err || res.body);
|
||
|
});
|
||
|
```
|
||
|
|
||
|
## HTTP ##
|
||
|
|
||
|
This client only provides support for making HTTPS requests. See [socks5-http-client](https://github.com/mattcg/socks5-http-client) for an HTTP implementation.
|
||
|
|
||
|
## License ##
|
||
|
|
||
|
Copyright © 2013 [Matthew Caruana Galizia](http://twitter.com/mcaruanagalizia), licensed under an [MIT license](http://mattcg.mit-license.org/).
|