conn-socket
Create a connected TCP-Socket for tunneling your requests under HTTP-Proxy.
Absolute Beta-Version, Issues are welcome.
Install
npm i conn-socket
Docs
The module only need one object as parameter and resolves to tcpSocket or false.
Object-Attributes are:
Param | Type | Description |
---|---|---|
proxyHost | String |
Host of HTTP-Proxy to use. |
proxyPort | Number |
Port of HTTP-Proxy. |
targetHost | String |
Target host. |
targetPort | Number |
Target port. |
[timeout] | Number |
Optional time-to-live. |
Examples
Tunneling for https
async { const cSocket = ; const tls = ; const tunneledSocket = await ; const tlsOptions = socket: tunneledSocket // ... here other tls-socket options // @see https://nodejs.org/api/tls.html#tls_tls_connect_options_callback ; tls; //tlsClient connected};
Tunneling for TCP-Scanning
async { const cSocket = ; const PORTS = 80 443 22; for let port of PORTS const opt = proxyHost: 'x.x.x.x' proxyPort: 3128 targetHost: 'npmjs.com' targetPort: port timeout: 5000 ; processstdout; const tunneledSocket = await ; if tunneledSocket processstdout; tunneledSocket; else processstdout; }; // ##Target => npmjs.com PORT => 80 - OPEN!// ##Target => npmjs.com PORT => 443 - OPEN!// ##Target => npmjs.com PORT => 22 - CLOSE!
Tunneling for SFTP or SSH
You need to use the module ssh2-sftp-client or ssh2 as SFTP/SSH Client.
async { const cSocket = ; const SFTPClient = ; const tunneledSocket = await ; const client = ; client; //client connected};