107 lines
14 KiB
JSON
107 lines
14 KiB
JSON
|
{
|
||
|
"_args": [
|
||
|
[
|
||
|
{
|
||
|
"raw": "socks@^1.1.10",
|
||
|
"scope": null,
|
||
|
"escapedName": "socks",
|
||
|
"name": "socks",
|
||
|
"rawSpec": "^1.1.10",
|
||
|
"spec": ">=1.1.10 <2.0.0",
|
||
|
"type": "range"
|
||
|
},
|
||
|
"/home/jdaugherty/work/GT2/GT2-Android/node_modules/socks-proxy-agent"
|
||
|
]
|
||
|
],
|
||
|
"_from": "socks@>=1.1.10 <2.0.0",
|
||
|
"_id": "socks@1.1.10",
|
||
|
"_inCache": true,
|
||
|
"_location": "/socks",
|
||
|
"_nodeVersion": "6.1.0",
|
||
|
"_npmOperationalInternal": {
|
||
|
"host": "packages-18-east.internal.npmjs.com",
|
||
|
"tmp": "tmp/socks-1.1.10.tgz_1484366135467_0.8928562924265862"
|
||
|
},
|
||
|
"_npmUser": {
|
||
|
"name": "joshglazebrook",
|
||
|
"email": "npm@joshglazebrook.com"
|
||
|
},
|
||
|
"_npmVersion": "3.8.6",
|
||
|
"_phantomChildren": {},
|
||
|
"_requested": {
|
||
|
"raw": "socks@^1.1.10",
|
||
|
"scope": null,
|
||
|
"escapedName": "socks",
|
||
|
"name": "socks",
|
||
|
"rawSpec": "^1.1.10",
|
||
|
"spec": ">=1.1.10 <2.0.0",
|
||
|
"type": "range"
|
||
|
},
|
||
|
"_requiredBy": [
|
||
|
"/socks-proxy-agent"
|
||
|
],
|
||
|
"_resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
|
||
|
"_shasum": "5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a",
|
||
|
"_shrinkwrap": null,
|
||
|
"_spec": "socks@^1.1.10",
|
||
|
"_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/socks-proxy-agent",
|
||
|
"author": {
|
||
|
"name": "Josh Glazebrook"
|
||
|
},
|
||
|
"bugs": {
|
||
|
"url": "https://github.com/JoshGlazebrook/socks/issues"
|
||
|
},
|
||
|
"contributors": [
|
||
|
{
|
||
|
"name": "Samuel Gordalina"
|
||
|
}
|
||
|
],
|
||
|
"dependencies": {
|
||
|
"ip": "^1.1.4",
|
||
|
"smart-buffer": "^1.0.13"
|
||
|
},
|
||
|
"description": "A SOCKS proxy client supporting SOCKS 4, 4a, and 5. (also supports BIND/Associate)",
|
||
|
"devDependencies": {},
|
||
|
"directories": {},
|
||
|
"dist": {
|
||
|
"shasum": "5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a",
|
||
|
"tarball": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz"
|
||
|
},
|
||
|
"engines": {
|
||
|
"node": ">= 0.10.0",
|
||
|
"npm": ">= 1.3.5"
|
||
|
},
|
||
|
"gitHead": "82d83923ad960693d8b774cafe17443ded7ed584",
|
||
|
"homepage": "https://github.com/JoshGlazebrook/socks",
|
||
|
"keywords": [
|
||
|
"socks",
|
||
|
"proxy",
|
||
|
"client",
|
||
|
"tor",
|
||
|
"bind",
|
||
|
"associate",
|
||
|
"socks 4",
|
||
|
"socks 4a",
|
||
|
"socks 5",
|
||
|
"agent"
|
||
|
],
|
||
|
"license": "MIT",
|
||
|
"main": "index.js",
|
||
|
"maintainers": [
|
||
|
{
|
||
|
"name": "joshglazebrook",
|
||
|
"email": "npm@joshglazebrook.com"
|
||
|
}
|
||
|
],
|
||
|
"name": "socks",
|
||
|
"optionalDependencies": {},
|
||
|
"readme": "socks\n=============\n\nsocks is a full client implementation of the SOCKS 4, 4a, and 5 protocols in an easy to use node.js module.\n\n### Notice\nAs of February 26th, 2015, socks is the new home of the socks-client package.\n\n### Why socks?\n\nThere is not any other SOCKS proxy client library on npm that supports all three variants of the SOCKS protocol. Nor are there any that support the BIND and associate features that some versions of the SOCKS protocol supports.\n\nKey Features:\n* Supports SOCKS 4, 4a, and 5 protocols\n* Supports the connect method (simple tcp connections of SOCKS) (Client -> SOCKS Server -> Target Server)\n* Supports the BIND method (4, 4a, 5)\n* Supports the associate (UDP forwarding) method (5)\n* Simple and easy to use (one function call to make any type of SOCKS connection)\n\n## Installing:\n\n`npm install socks`\n\n### Getting Started Example\n\nFor this example, say you wanted to grab the html of google's home page.\n\n```javascript\nvar Socks = require('socks');\n\nvar options = {\n proxy: {\n ipaddress: \"202.101.228.108\", // Random public proxy\n port: 1080,\n type: 5 // type is REQUIRED. Valid types: [4, 5] (note 4 also works for 4a)\n },\n target: {\n host: \"google.com\", // can be an ip address or domain (4a and 5 only)\n port: 80\n },\n command: 'connect' // This defaults to connect, so it's optional if you're not using BIND or Associate.\n};\n\nSocks.createConnection(options, function(err, socket, info) {\n if (err)\n console.log(err);\n else {\n // Connection has been established, we can start sending data now:\n socket.write(\"GET / HTTP/1.1\\nHost: google.com\\n\\n\");\n socket.on('data', function(data) {\n console.log(data.length);\n console.log(data);\n });\n\n // PLEASE NOTE: sockets need to be resumed before any data will come in or out as they are paused right before this callback is fired.\n socket.resume();\n\n // 569\n // <Buffer 48 54 54 50 2f 31 2e 31 20 33 30 31 20 4d 6f 76 65 64 20 50 65...\n }\n});\n```\n\n### BIND Example:\n\nWhen sending the BIND command to a SOCKS proxy server, this will cause the proxy server to open up a new tcp port. Once this port is open, you, another client, application, etc, can then connect to the SOCKS proxy on that tcp port and communications will be forwarded to each connection through the proxy itself.\n\n```javascript\nvar options = {\n proxy: {\n ipaddress: \"202.101.228.108\",\n port: 1080,\n type: 4,\n command: \"bind\" // Since we are using bind, we must specify it here.\n },\n target: {\n host: \"1.2.3.4\", // When using bind, it's best to give an estimation of the ip that will be connecting to the newly opened tcp port on the proxy server.\n port: 1080\n }\n};\n\nSocks.createConnection(options, function(err, socket, info) {\n if (err)\n console.log(err);\n else {\n // BIND request has completed.\n // info object contains the remote ip and newly opened tcp port to connect to.\n console.log(info);\n\n // { port: 1494, host: '202.101.228.108' }\n\n socket.on('data', function(data) {\n console.log(data.length);\n console.log(data);\n });\n\n // Remember to resume the socket stream.\n socket.resume();\n }\n});\n\n```\nAt this point, your original connection to the proxy server remains open, and no data will be received until a tcp connection is made to the given endpoint in the info object.\n\nFor an example, I am going to connect to the endpoint with telnet:\n\n```\nJoshs-MacBook-Pro:~ Josh$ telnet 202.101.228.108 1494\n Trying 202.101.228.108...\n Connected to 202.101.228.108.\n Escape character is '^]'.\n hello\n aaaaaaaaa\n```\n\nNote that this connection to the newly bound port does not need to go through the SOCKS handshake.\n\nBack at our original connection we see that we have received some new data:\n\n```\n8\n<Buffer
|
||
|
"readmeFilename": "README.md",
|
||
|
"repository": {
|
||
|
"type": "git",
|
||
|
"url": "git+https://github.com/JoshGlazebrook/socks.git"
|
||
|
},
|
||
|
"scripts": {},
|
||
|
"version": "1.1.10"
|
||
|
}
|