shc

socks5-https-client

SOCKS v5 HTTPS client implementation in JavaScript for Node.js.

Showing:

Popularity

Downloads/wk

37K

GitHub Stars

175

Maintenance

Last Commit

2yrs ago

Contributors

4

Package

Dependencies

1

Size (min+gzip)

39.9KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Node.js SOCKS

Readme

SOCKS5 HTTPS Client

Build Status

SOCKS v5 HTTPS client implementation in JavaScript for Node.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.

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, just pass a reference to the Agent constructor..

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.

        // Optional credentials
        socksUsername: 'proxyuser',
        socksPassword: 'p@ssw0rd',
    }
}, function(err, res) {
    console.log(err || res.body);
});

HTTP

This client only provides support for making HTTPS requests. See socks5-http-client for an HTTP implementation.

License

Copyright © 2013 Matthew Caruana Galizia, licensed under an MIT license.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100