@pnpm/exe 11.0.0-dev.1003 → 11.0.0-rc.0

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 (584) hide show
  1. package/dist/node-gyp-bin/node-gyp +6 -0
  2. package/dist/node-gyp-bin/node-gyp.cmd +5 -0
  3. package/dist/node_modules/@gar/promise-retry/LICENSE +20 -0
  4. package/dist/node_modules/@gar/promise-retry/lib/index.js +62 -0
  5. package/dist/node_modules/@gar/promise-retry/lib/retry.js +109 -0
  6. package/dist/node_modules/@gar/promise-retry/package.json +45 -0
  7. package/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  8. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  9. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  10. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  11. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  12. package/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
  13. package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
  14. package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
  15. package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
  16. package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
  17. package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
  18. package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
  19. package/dist/node_modules/@npmcli/agent/package.json +60 -0
  20. package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
  21. package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
  22. package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
  23. package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
  24. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
  25. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
  26. package/dist/node_modules/@npmcli/fs/lib/index.js +13 -0
  27. package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
  28. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
  29. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
  30. package/dist/node_modules/@npmcli/fs/package.json +54 -0
  31. package/dist/node_modules/@npmcli/redact/LICENSE +21 -0
  32. package/dist/node_modules/@npmcli/redact/lib/deep-map.js +71 -0
  33. package/dist/node_modules/@npmcli/redact/lib/error.js +28 -0
  34. package/dist/node_modules/@npmcli/redact/lib/index.js +44 -0
  35. package/dist/node_modules/@npmcli/redact/lib/matchers.js +88 -0
  36. package/dist/node_modules/@npmcli/redact/lib/server.js +59 -0
  37. package/dist/node_modules/@npmcli/redact/lib/utils.js +202 -0
  38. package/dist/node_modules/@npmcli/redact/package.json +52 -0
  39. package/dist/node_modules/abbrev/LICENSE +46 -0
  40. package/dist/node_modules/abbrev/lib/index.js +53 -0
  41. package/dist/node_modules/abbrev/package.json +41 -0
  42. package/dist/node_modules/agent-base/LICENSE +22 -0
  43. package/dist/node_modules/agent-base/dist/helpers.js +66 -0
  44. package/dist/node_modules/agent-base/dist/index.js +178 -0
  45. package/dist/node_modules/agent-base/package.json +46 -0
  46. package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
  47. package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
  48. package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
  49. package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
  50. package/dist/node_modules/balanced-match/package.json +68 -0
  51. package/dist/node_modules/brace-expansion/LICENSE +23 -0
  52. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
  53. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  54. package/dist/node_modules/brace-expansion/dist/esm/index.js +197 -0
  55. package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
  56. package/dist/node_modules/brace-expansion/package.json +64 -0
  57. package/dist/node_modules/cacache/lib/content/path.js +29 -0
  58. package/dist/node_modules/cacache/lib/content/read.js +165 -0
  59. package/dist/node_modules/cacache/lib/content/rm.js +18 -0
  60. package/dist/node_modules/cacache/lib/content/write.js +206 -0
  61. package/dist/node_modules/cacache/lib/entry-index.js +336 -0
  62. package/dist/node_modules/cacache/lib/get.js +170 -0
  63. package/dist/node_modules/cacache/lib/index.js +42 -0
  64. package/dist/node_modules/cacache/lib/memoization.js +72 -0
  65. package/dist/node_modules/cacache/lib/put.js +80 -0
  66. package/dist/node_modules/cacache/lib/rm.js +31 -0
  67. package/dist/node_modules/cacache/lib/util/glob.js +7 -0
  68. package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
  69. package/dist/node_modules/cacache/lib/util/tmp.js +32 -0
  70. package/dist/node_modules/cacache/lib/verify.js +258 -0
  71. package/dist/node_modules/cacache/package.json +81 -0
  72. package/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
  73. package/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
  74. package/dist/node_modules/chownr/dist/esm/index.js +85 -0
  75. package/dist/node_modules/chownr/dist/esm/package.json +3 -0
  76. package/dist/node_modules/chownr/package.json +69 -0
  77. package/dist/node_modules/debug/LICENSE +20 -0
  78. package/dist/node_modules/debug/package.json +64 -0
  79. package/dist/node_modules/debug/src/browser.js +272 -0
  80. package/dist/node_modules/debug/src/common.js +292 -0
  81. package/dist/node_modules/debug/src/index.js +10 -0
  82. package/dist/node_modules/debug/src/node.js +263 -0
  83. package/dist/node_modules/env-paths/index.js +74 -0
  84. package/dist/node_modules/env-paths/license +9 -0
  85. package/dist/node_modules/env-paths/package.json +45 -0
  86. package/dist/node_modules/exponential-backoff/LICENSE +202 -0
  87. package/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
  88. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
  89. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
  90. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
  91. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
  92. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
  93. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
  94. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
  95. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
  96. package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
  97. package/dist/node_modules/exponential-backoff/package.json +62 -0
  98. package/dist/node_modules/fdir/LICENSE +7 -0
  99. package/dist/node_modules/fdir/dist/index.cjs +588 -0
  100. package/dist/node_modules/fdir/dist/index.d.cts +155 -0
  101. package/dist/node_modules/fdir/dist/index.d.mts +155 -0
  102. package/dist/node_modules/fdir/dist/index.mjs +570 -0
  103. package/dist/node_modules/fdir/package.json +103 -0
  104. package/dist/node_modules/fs-minipass/LICENSE +15 -0
  105. package/dist/node_modules/fs-minipass/lib/index.js +443 -0
  106. package/dist/node_modules/fs-minipass/package.json +54 -0
  107. package/dist/node_modules/glob/dist/commonjs/glob.js +248 -0
  108. package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  109. package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
  110. package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
  111. package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
  112. package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
  113. package/dist/node_modules/glob/dist/commonjs/pattern.js +223 -0
  114. package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
  115. package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
  116. package/dist/node_modules/glob/dist/esm/glob.js +244 -0
  117. package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
  118. package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
  119. package/dist/node_modules/glob/dist/esm/index.js +55 -0
  120. package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
  121. package/dist/node_modules/glob/dist/esm/package.json +3 -0
  122. package/dist/node_modules/glob/dist/esm/pattern.js +219 -0
  123. package/dist/node_modules/glob/dist/esm/processor.js +294 -0
  124. package/dist/node_modules/glob/dist/esm/walker.js +381 -0
  125. package/dist/node_modules/glob/package.json +98 -0
  126. package/dist/node_modules/graceful-fs/LICENSE +15 -0
  127. package/dist/node_modules/graceful-fs/clone.js +23 -0
  128. package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
  129. package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
  130. package/dist/node_modules/graceful-fs/package.json +53 -0
  131. package/dist/node_modules/graceful-fs/polyfills.js +355 -0
  132. package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
  133. package/dist/node_modules/http-cache-semantics/index.js +928 -0
  134. package/dist/node_modules/http-cache-semantics/package.json +22 -0
  135. package/dist/node_modules/http-proxy-agent/LICENSE +22 -0
  136. package/dist/node_modules/http-proxy-agent/dist/index.js +148 -0
  137. package/dist/node_modules/http-proxy-agent/package.json +47 -0
  138. package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
  139. package/dist/node_modules/https-proxy-agent/dist/index.js +180 -0
  140. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
  141. package/dist/node_modules/https-proxy-agent/package.json +50 -0
  142. package/dist/node_modules/iconv-lite/LICENSE +21 -0
  143. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  144. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  145. package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
  146. package/dist/node_modules/iconv-lite/encodings/internal.js +218 -0
  147. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  148. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  149. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  150. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  151. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  152. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  153. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  154. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  155. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  156. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  157. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  158. package/dist/node_modules/iconv-lite/encodings/utf16.js +187 -0
  159. package/dist/node_modules/iconv-lite/encodings/utf32.js +307 -0
  160. package/dist/node_modules/iconv-lite/encodings/utf7.js +283 -0
  161. package/dist/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  162. package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  163. package/dist/node_modules/iconv-lite/lib/index.js +182 -0
  164. package/dist/node_modules/iconv-lite/lib/streams.js +105 -0
  165. package/dist/node_modules/iconv-lite/package.json +70 -0
  166. package/dist/node_modules/ip-address/LICENSE +19 -0
  167. package/dist/node_modules/ip-address/dist/address-error.js +12 -0
  168. package/dist/node_modules/ip-address/dist/common.js +46 -0
  169. package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
  170. package/dist/node_modules/ip-address/dist/ipv4.js +360 -0
  171. package/dist/node_modules/ip-address/dist/ipv6.js +1003 -0
  172. package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
  173. package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
  174. package/dist/node_modules/ip-address/dist/v6/helpers.js +45 -0
  175. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
  176. package/dist/node_modules/ip-address/package.json +78 -0
  177. package/dist/node_modules/isexe/dist/commonjs/index.js +56 -0
  178. package/dist/node_modules/isexe/dist/commonjs/index.min.js +2 -0
  179. package/dist/node_modules/isexe/dist/commonjs/options.js +3 -0
  180. package/dist/node_modules/isexe/dist/commonjs/package.json +3 -0
  181. package/dist/node_modules/isexe/dist/commonjs/posix.js +67 -0
  182. package/dist/node_modules/isexe/dist/commonjs/win32.js +63 -0
  183. package/dist/node_modules/isexe/dist/esm/index.js +16 -0
  184. package/dist/node_modules/isexe/dist/esm/index.min.js +2 -0
  185. package/dist/node_modules/isexe/dist/esm/options.js +2 -0
  186. package/dist/node_modules/isexe/dist/esm/package.json +3 -0
  187. package/dist/node_modules/isexe/dist/esm/posix.js +62 -0
  188. package/dist/node_modules/isexe/dist/esm/win32.js +58 -0
  189. package/dist/node_modules/isexe/package.json +78 -0
  190. package/dist/node_modules/lru-cache/dist/commonjs/index.js +1595 -0
  191. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  192. package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  193. package/dist/node_modules/lru-cache/dist/esm/index.js +1591 -0
  194. package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  195. package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
  196. package/dist/node_modules/lru-cache/package.json +93 -0
  197. package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
  198. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
  199. package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
  200. package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
  201. package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
  202. package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
  203. package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
  204. package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
  205. package/dist/node_modules/make-fetch-happen/lib/options.js +59 -0
  206. package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
  207. package/dist/node_modules/make-fetch-happen/lib/remote.js +134 -0
  208. package/dist/node_modules/make-fetch-happen/package.json +75 -0
  209. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  210. package/dist/node_modules/minimatch/dist/commonjs/ast.js +846 -0
  211. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
  212. package/dist/node_modules/minimatch/dist/commonjs/escape.js +30 -0
  213. package/dist/node_modules/minimatch/dist/commonjs/index.js +1121 -0
  214. package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
  215. package/dist/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
  216. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  217. package/dist/node_modules/minimatch/dist/esm/ast.js +842 -0
  218. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
  219. package/dist/node_modules/minimatch/dist/esm/escape.js +26 -0
  220. package/dist/node_modules/minimatch/dist/esm/index.js +1108 -0
  221. package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
  222. package/dist/node_modules/minimatch/dist/esm/unescape.js +34 -0
  223. package/dist/node_modules/minimatch/package.json +67 -0
  224. package/dist/node_modules/minipass/dist/commonjs/index.js +1038 -0
  225. package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
  226. package/dist/node_modules/minipass/dist/esm/index.js +1020 -0
  227. package/dist/node_modules/minipass/dist/esm/package.json +3 -0
  228. package/dist/node_modules/minipass/package.json +77 -0
  229. package/dist/node_modules/minipass-collect/LICENSE +15 -0
  230. package/dist/node_modules/minipass-collect/index.js +71 -0
  231. package/dist/node_modules/minipass-collect/package.json +30 -0
  232. package/dist/node_modules/minipass-fetch/LICENSE +28 -0
  233. package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
  234. package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
  235. package/dist/node_modules/minipass-fetch/lib/body.js +360 -0
  236. package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
  237. package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
  238. package/dist/node_modules/minipass-fetch/lib/index.js +376 -0
  239. package/dist/node_modules/minipass-fetch/lib/request.js +282 -0
  240. package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
  241. package/dist/node_modules/minipass-fetch/package.json +70 -0
  242. package/dist/node_modules/minipass-flush/LICENSE +15 -0
  243. package/dist/node_modules/minipass-flush/index.js +39 -0
  244. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
  245. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
  246. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
  247. package/dist/node_modules/minipass-flush/package.json +39 -0
  248. package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
  249. package/dist/node_modules/minipass-pipeline/index.js +128 -0
  250. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
  251. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
  252. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
  253. package/dist/node_modules/minipass-pipeline/package.json +29 -0
  254. package/dist/node_modules/minipass-sized/LICENSE +15 -0
  255. package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
  256. package/dist/node_modules/minipass-sized/dist/commonjs/package.json +3 -0
  257. package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
  258. package/dist/node_modules/minipass-sized/dist/esm/package.json +3 -0
  259. package/dist/node_modules/minipass-sized/package.json +69 -0
  260. package/dist/node_modules/minizlib/LICENSE +26 -0
  261. package/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  262. package/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
  263. package/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
  264. package/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
  265. package/dist/node_modules/minizlib/dist/esm/index.js +363 -0
  266. package/dist/node_modules/minizlib/dist/esm/package.json +3 -0
  267. package/dist/node_modules/minizlib/package.json +80 -0
  268. package/dist/node_modules/ms/index.js +162 -0
  269. package/dist/node_modules/ms/package.json +38 -0
  270. package/dist/node_modules/negotiator/LICENSE +24 -0
  271. package/dist/node_modules/negotiator/index.js +83 -0
  272. package/dist/node_modules/negotiator/lib/charset.js +169 -0
  273. package/dist/node_modules/negotiator/lib/encoding.js +205 -0
  274. package/dist/node_modules/negotiator/lib/language.js +179 -0
  275. package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
  276. package/dist/node_modules/negotiator/package.json +43 -0
  277. package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
  278. package/dist/node_modules/node-gyp/LICENSE +24 -0
  279. package/dist/node_modules/node-gyp/addon.gypi +204 -0
  280. package/dist/node_modules/node-gyp/bin/node-gyp.js +145 -0
  281. package/dist/node_modules/node-gyp/eslint.config.js +3 -0
  282. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
  283. package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
  284. package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
  285. package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
  286. package/dist/node_modules/node-gyp/gyp/gyp +8 -0
  287. package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
  288. package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
  289. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
  290. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
  291. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
  292. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
  293. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
  294. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
  295. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
  296. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +599 -0
  297. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +707 -0
  298. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
  299. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
  300. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
  301. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
  302. package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
  303. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  304. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
  305. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
  306. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
  307. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
  308. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
  309. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
  310. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
  311. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
  312. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
  313. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
  314. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
  315. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2956 -0
  316. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
  317. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
  318. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
  319. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
  320. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
  321. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
  322. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
  323. package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
  324. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
  325. package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
  326. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
  327. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
  328. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
  329. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
  330. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
  331. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
  332. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
  333. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
  334. package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
  335. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
  336. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
  337. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
  338. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
  339. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
  340. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
  341. package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
  342. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +824 -0
  343. package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  344. package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
  345. package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
  346. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
  347. package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
  348. package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
  349. package/dist/node_modules/node-gyp/gyp/pyproject.toml +114 -0
  350. package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
  351. package/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
  352. package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
  353. package/dist/node_modules/node-gyp/lib/build.js +230 -0
  354. package/dist/node_modules/node-gyp/lib/clean.js +15 -0
  355. package/dist/node_modules/node-gyp/lib/configure.js +328 -0
  356. package/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
  357. package/dist/node_modules/node-gyp/lib/download.js +39 -0
  358. package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
  359. package/dist/node_modules/node-gyp/lib/find-python.js +304 -0
  360. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +606 -0
  361. package/dist/node_modules/node-gyp/lib/install.js +411 -0
  362. package/dist/node_modules/node-gyp/lib/list.js +26 -0
  363. package/dist/node_modules/node-gyp/lib/log.js +168 -0
  364. package/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
  365. package/dist/node_modules/node-gyp/lib/process-release.js +146 -0
  366. package/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
  367. package/dist/node_modules/node-gyp/lib/remove.js +43 -0
  368. package/dist/node_modules/node-gyp/lib/util.js +81 -0
  369. package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
  370. package/dist/node_modules/node-gyp/package.json +52 -0
  371. package/dist/node_modules/node-gyp/release-please-config.json +40 -0
  372. package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
  373. package/dist/node_modules/nopt/LICENSE +15 -0
  374. package/dist/node_modules/nopt/bin/nopt.js +29 -0
  375. package/dist/node_modules/nopt/lib/debug.js +5 -0
  376. package/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
  377. package/dist/node_modules/nopt/lib/nopt.js +34 -0
  378. package/dist/node_modules/nopt/lib/type-defs.js +91 -0
  379. package/dist/node_modules/nopt/package.json +52 -0
  380. package/dist/node_modules/p-map/index.js +283 -0
  381. package/dist/node_modules/p-map/license +9 -0
  382. package/dist/node_modules/p-map/package.json +57 -0
  383. package/dist/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
  384. package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  385. package/dist/node_modules/path-scurry/dist/esm/index.js +1983 -0
  386. package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
  387. package/dist/node_modules/path-scurry/package.json +72 -0
  388. package/dist/node_modules/picomatch/LICENSE +21 -0
  389. package/dist/node_modules/picomatch/index.js +17 -0
  390. package/dist/node_modules/picomatch/lib/constants.js +184 -0
  391. package/dist/node_modules/picomatch/lib/parse.js +1386 -0
  392. package/dist/node_modules/picomatch/lib/picomatch.js +349 -0
  393. package/dist/node_modules/picomatch/lib/scan.js +391 -0
  394. package/dist/node_modules/picomatch/lib/utils.js +72 -0
  395. package/dist/node_modules/picomatch/package.json +82 -0
  396. package/dist/node_modules/picomatch/posix.js +3 -0
  397. package/dist/node_modules/proc-log/LICENSE +15 -0
  398. package/dist/node_modules/proc-log/lib/index.js +158 -0
  399. package/dist/node_modules/proc-log/package.json +46 -0
  400. package/dist/node_modules/safer-buffer/LICENSE +21 -0
  401. package/dist/node_modules/safer-buffer/dangerous.js +58 -0
  402. package/dist/node_modules/safer-buffer/package.json +34 -0
  403. package/dist/node_modules/safer-buffer/safer.js +77 -0
  404. package/dist/node_modules/safer-buffer/tests.js +406 -0
  405. package/dist/node_modules/semver/LICENSE +15 -0
  406. package/dist/node_modules/semver/bin/semver.js +191 -0
  407. package/dist/node_modules/semver/classes/comparator.js +143 -0
  408. package/dist/node_modules/semver/classes/index.js +7 -0
  409. package/dist/node_modules/semver/classes/range.js +557 -0
  410. package/dist/node_modules/semver/classes/semver.js +333 -0
  411. package/dist/node_modules/semver/functions/clean.js +8 -0
  412. package/dist/node_modules/semver/functions/cmp.js +54 -0
  413. package/dist/node_modules/semver/functions/coerce.js +62 -0
  414. package/dist/node_modules/semver/functions/compare-build.js +9 -0
  415. package/dist/node_modules/semver/functions/compare-loose.js +5 -0
  416. package/dist/node_modules/semver/functions/compare.js +7 -0
  417. package/dist/node_modules/semver/functions/diff.js +60 -0
  418. package/dist/node_modules/semver/functions/eq.js +5 -0
  419. package/dist/node_modules/semver/functions/gt.js +5 -0
  420. package/dist/node_modules/semver/functions/gte.js +5 -0
  421. package/dist/node_modules/semver/functions/inc.js +21 -0
  422. package/dist/node_modules/semver/functions/lt.js +5 -0
  423. package/dist/node_modules/semver/functions/lte.js +5 -0
  424. package/dist/node_modules/semver/functions/major.js +5 -0
  425. package/dist/node_modules/semver/functions/minor.js +5 -0
  426. package/dist/node_modules/semver/functions/neq.js +5 -0
  427. package/dist/node_modules/semver/functions/parse.js +18 -0
  428. package/dist/node_modules/semver/functions/patch.js +5 -0
  429. package/dist/node_modules/semver/functions/prerelease.js +8 -0
  430. package/dist/node_modules/semver/functions/rcompare.js +5 -0
  431. package/dist/node_modules/semver/functions/rsort.js +5 -0
  432. package/dist/node_modules/semver/functions/satisfies.js +12 -0
  433. package/dist/node_modules/semver/functions/sort.js +5 -0
  434. package/dist/node_modules/semver/functions/valid.js +8 -0
  435. package/dist/node_modules/semver/index.js +91 -0
  436. package/dist/node_modules/semver/internal/constants.js +37 -0
  437. package/dist/node_modules/semver/internal/debug.js +11 -0
  438. package/dist/node_modules/semver/internal/identifiers.js +29 -0
  439. package/dist/node_modules/semver/internal/lrucache.js +42 -0
  440. package/dist/node_modules/semver/internal/parse-options.js +17 -0
  441. package/dist/node_modules/semver/internal/re.js +223 -0
  442. package/dist/node_modules/semver/package.json +78 -0
  443. package/dist/node_modules/semver/preload.js +4 -0
  444. package/dist/node_modules/semver/range.bnf +16 -0
  445. package/dist/node_modules/semver/ranges/gtr.js +6 -0
  446. package/dist/node_modules/semver/ranges/intersects.js +9 -0
  447. package/dist/node_modules/semver/ranges/ltr.js +6 -0
  448. package/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
  449. package/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
  450. package/dist/node_modules/semver/ranges/min-version.js +63 -0
  451. package/dist/node_modules/semver/ranges/outside.js +82 -0
  452. package/dist/node_modules/semver/ranges/simplify.js +49 -0
  453. package/dist/node_modules/semver/ranges/subset.js +249 -0
  454. package/dist/node_modules/semver/ranges/to-comparators.js +10 -0
  455. package/dist/node_modules/semver/ranges/valid.js +13 -0
  456. package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
  457. package/dist/node_modules/smart-buffer/LICENSE +20 -0
  458. package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  459. package/dist/node_modules/smart-buffer/build/utils.js +108 -0
  460. package/dist/node_modules/smart-buffer/package.json +79 -0
  461. package/dist/node_modules/socks/.eslintrc.cjs +11 -0
  462. package/dist/node_modules/socks/.prettierrc.yaml +7 -0
  463. package/dist/node_modules/socks/LICENSE +20 -0
  464. package/dist/node_modules/socks/build/client/socksclient.js +793 -0
  465. package/dist/node_modules/socks/build/common/constants.js +108 -0
  466. package/dist/node_modules/socks/build/common/helpers.js +167 -0
  467. package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
  468. package/dist/node_modules/socks/build/common/util.js +25 -0
  469. package/dist/node_modules/socks/build/index.js +18 -0
  470. package/dist/node_modules/socks/package.json +58 -0
  471. package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
  472. package/dist/node_modules/socks-proxy-agent/dist/index.js +195 -0
  473. package/dist/node_modules/socks-proxy-agent/package.json +142 -0
  474. package/dist/node_modules/ssri/lib/index.js +550 -0
  475. package/dist/node_modules/ssri/package.json +66 -0
  476. package/dist/node_modules/tar/dist/commonjs/create.js +82 -0
  477. package/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  478. package/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
  479. package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  480. package/dist/node_modules/tar/dist/commonjs/header.js +312 -0
  481. package/dist/node_modules/tar/dist/commonjs/index.js +64 -0
  482. package/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
  483. package/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  484. package/dist/node_modules/tar/dist/commonjs/list.js +145 -0
  485. package/dist/node_modules/tar/dist/commonjs/make-command.js +52 -0
  486. package/dist/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  487. package/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  488. package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  489. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  490. package/dist/node_modules/tar/dist/commonjs/options.js +66 -0
  491. package/dist/node_modules/tar/dist/commonjs/pack.js +511 -0
  492. package/dist/node_modules/tar/dist/commonjs/package.json +3 -0
  493. package/dist/node_modules/tar/dist/commonjs/parse.js +610 -0
  494. package/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  495. package/dist/node_modules/tar/dist/commonjs/pax.js +158 -0
  496. package/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  497. package/dist/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  498. package/dist/node_modules/tar/dist/commonjs/replace.js +227 -0
  499. package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  500. package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  501. package/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  502. package/dist/node_modules/tar/dist/commonjs/types.js +50 -0
  503. package/dist/node_modules/tar/dist/commonjs/unpack.js +932 -0
  504. package/dist/node_modules/tar/dist/commonjs/update.js +33 -0
  505. package/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  506. package/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
  507. package/dist/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  508. package/dist/node_modules/tar/dist/esm/create.js +76 -0
  509. package/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
  510. package/dist/node_modules/tar/dist/esm/extract.js +49 -0
  511. package/dist/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  512. package/dist/node_modules/tar/dist/esm/header.js +275 -0
  513. package/dist/node_modules/tar/dist/esm/index.js +20 -0
  514. package/dist/node_modules/tar/dist/esm/index.min.js +4 -0
  515. package/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
  516. package/dist/node_modules/tar/dist/esm/list.js +105 -0
  517. package/dist/node_modules/tar/dist/esm/make-command.js +48 -0
  518. package/dist/node_modules/tar/dist/esm/mkdir.js +179 -0
  519. package/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
  520. package/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  521. package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  522. package/dist/node_modules/tar/dist/esm/options.js +54 -0
  523. package/dist/node_modules/tar/dist/esm/pack.js +469 -0
  524. package/dist/node_modules/tar/dist/esm/package.json +3 -0
  525. package/dist/node_modules/tar/dist/esm/parse.js +606 -0
  526. package/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
  527. package/dist/node_modules/tar/dist/esm/pax.js +154 -0
  528. package/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
  529. package/dist/node_modules/tar/dist/esm/read-entry.js +132 -0
  530. package/dist/node_modules/tar/dist/esm/replace.js +221 -0
  531. package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  532. package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  533. package/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
  534. package/dist/node_modules/tar/dist/esm/types.js +45 -0
  535. package/dist/node_modules/tar/dist/esm/unpack.js +891 -0
  536. package/dist/node_modules/tar/dist/esm/update.js +30 -0
  537. package/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
  538. package/dist/node_modules/tar/dist/esm/winchars.js +9 -0
  539. package/dist/node_modules/tar/dist/esm/write-entry.js +656 -0
  540. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/index.js +384 -0
  541. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +3 -0
  542. package/dist/node_modules/tar/node_modules/yallist/dist/esm/index.js +379 -0
  543. package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +3 -0
  544. package/dist/node_modules/tar/node_modules/yallist/package.json +68 -0
  545. package/dist/node_modules/tar/package.json +297 -0
  546. package/dist/node_modules/tinyglobby/LICENSE +21 -0
  547. package/dist/node_modules/tinyglobby/dist/index.cjs +350 -0
  548. package/dist/node_modules/tinyglobby/dist/index.d.cts +147 -0
  549. package/dist/node_modules/tinyglobby/dist/index.d.mts +147 -0
  550. package/dist/node_modules/tinyglobby/dist/index.mjs +318 -0
  551. package/dist/node_modules/tinyglobby/package.json +73 -0
  552. package/{LICENSE → dist/node_modules/v8-compile-cache/LICENSE} +1 -2
  553. package/dist/node_modules/v8-compile-cache/package.json +34 -0
  554. package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
  555. package/dist/node_modules/which/LICENSE +15 -0
  556. package/dist/node_modules/which/bin/which.js +52 -0
  557. package/dist/node_modules/which/lib/index.js +111 -0
  558. package/dist/node_modules/which/package.json +52 -0
  559. package/dist/node_modules/yallist/LICENSE +15 -0
  560. package/dist/node_modules/yallist/iterator.js +8 -0
  561. package/dist/node_modules/yallist/package.json +29 -0
  562. package/dist/node_modules/yallist/yallist.js +426 -0
  563. package/dist/pnpm.mjs +266382 -0
  564. package/dist/pnpmrc +2 -0
  565. package/dist/templates/completion.bash +31 -0
  566. package/dist/templates/completion.fish +22 -0
  567. package/dist/templates/completion.ps1 +193 -0
  568. package/dist/templates/completion.zsh +27 -0
  569. package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  570. package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  571. package/dist/worker.js +10958 -0
  572. package/package.json +34 -12
  573. package/pn +2 -0
  574. package/pn.cmd +2 -0
  575. package/pn.ps1 +1 -0
  576. package/pnpx +2 -0
  577. package/pnpx.cmd +2 -0
  578. package/pnpx.ps1 +1 -0
  579. package/pnx +2 -0
  580. package/pnx.cmd +2 -0
  581. package/pnx.ps1 +1 -0
  582. package/prepare.js +26 -3
  583. package/setup.js +22 -11
  584. package/CHANGELOG.md +0 -15
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SOCKS5_NO_ACCEPTABLE_AUTH = exports.SOCKS5_CUSTOM_AUTH_END = exports.SOCKS5_CUSTOM_AUTH_START = exports.SOCKS_INCOMING_PACKET_SIZES = exports.SocksClientState = exports.Socks5Response = exports.Socks5HostType = exports.Socks5Auth = exports.Socks4Response = exports.SocksCommand = exports.ERRORS = exports.DEFAULT_TIMEOUT = void 0;
4
+ const DEFAULT_TIMEOUT = 30000;
5
+ exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
6
+ // prettier-ignore
7
+ const ERRORS = {
8
+ InvalidSocksCommand: 'An invalid SOCKS command was provided. Valid options are connect, bind, and associate.',
9
+ InvalidSocksCommandForOperation: 'An invalid SOCKS command was provided. Only a subset of commands are supported for this operation.',
10
+ InvalidSocksCommandChain: 'An invalid SOCKS command was provided. Chaining currently only supports the connect command.',
11
+ InvalidSocksClientOptionsDestination: 'An invalid destination host was provided.',
12
+ InvalidSocksClientOptionsExistingSocket: 'An invalid existing socket was provided. This should be an instance of stream.Duplex.',
13
+ InvalidSocksClientOptionsProxy: 'Invalid SOCKS proxy details were provided.',
14
+ InvalidSocksClientOptionsTimeout: 'An invalid timeout value was provided. Please enter a value above 0 (in ms).',
15
+ InvalidSocksClientOptionsProxiesLength: 'At least two socks proxies must be provided for chaining.',
16
+ InvalidSocksClientOptionsCustomAuthRange: 'Custom auth must be a value between 0x80 and 0xFE.',
17
+ InvalidSocksClientOptionsCustomAuthOptions: 'When a custom_auth_method is provided, custom_auth_request_handler, custom_auth_response_size, and custom_auth_response_handler must also be provided and valid.',
18
+ NegotiationError: 'Negotiation error',
19
+ SocketClosed: 'Socket closed',
20
+ ProxyConnectionTimedOut: 'Proxy connection timed out',
21
+ InternalError: 'SocksClient internal error (this should not happen)',
22
+ InvalidSocks4HandshakeResponse: 'Received invalid Socks4 handshake response',
23
+ Socks4ProxyRejectedConnection: 'Socks4 Proxy rejected connection',
24
+ InvalidSocks4IncomingConnectionResponse: 'Socks4 invalid incoming connection response',
25
+ Socks4ProxyRejectedIncomingBoundConnection: 'Socks4 Proxy rejected incoming bound connection',
26
+ InvalidSocks5InitialHandshakeResponse: 'Received invalid Socks5 initial handshake response',
27
+ InvalidSocks5IntiailHandshakeSocksVersion: 'Received invalid Socks5 initial handshake (invalid socks version)',
28
+ InvalidSocks5InitialHandshakeNoAcceptedAuthType: 'Received invalid Socks5 initial handshake (no accepted authentication type)',
29
+ InvalidSocks5InitialHandshakeUnknownAuthType: 'Received invalid Socks5 initial handshake (unknown authentication type)',
30
+ Socks5AuthenticationFailed: 'Socks5 Authentication failed',
31
+ InvalidSocks5FinalHandshake: 'Received invalid Socks5 final handshake response',
32
+ InvalidSocks5FinalHandshakeRejected: 'Socks5 proxy rejected connection',
33
+ InvalidSocks5IncomingConnectionResponse: 'Received invalid Socks5 incoming connection response',
34
+ Socks5ProxyRejectedIncomingBoundConnection: 'Socks5 Proxy rejected incoming bound connection',
35
+ };
36
+ exports.ERRORS = ERRORS;
37
+ const SOCKS_INCOMING_PACKET_SIZES = {
38
+ Socks5InitialHandshakeResponse: 2,
39
+ Socks5UserPassAuthenticationResponse: 2,
40
+ // Command response + incoming connection (bind)
41
+ Socks5ResponseHeader: 5, // We need at least 5 to read the hostname length, then we wait for the address+port information.
42
+ Socks5ResponseIPv4: 10, // 4 header + 4 ip + 2 port
43
+ Socks5ResponseIPv6: 22, // 4 header + 16 ip + 2 port
44
+ Socks5ResponseHostname: (hostNameLength) => hostNameLength + 7, // 4 header + 1 host length + host + 2 port
45
+ // Command response + incoming connection (bind)
46
+ Socks4Response: 8, // 2 header + 2 port + 4 ip
47
+ };
48
+ exports.SOCKS_INCOMING_PACKET_SIZES = SOCKS_INCOMING_PACKET_SIZES;
49
+ var SocksCommand;
50
+ (function (SocksCommand) {
51
+ SocksCommand[SocksCommand["connect"] = 1] = "connect";
52
+ SocksCommand[SocksCommand["bind"] = 2] = "bind";
53
+ SocksCommand[SocksCommand["associate"] = 3] = "associate";
54
+ })(SocksCommand || (exports.SocksCommand = SocksCommand = {}));
55
+ var Socks4Response;
56
+ (function (Socks4Response) {
57
+ Socks4Response[Socks4Response["Granted"] = 90] = "Granted";
58
+ Socks4Response[Socks4Response["Failed"] = 91] = "Failed";
59
+ Socks4Response[Socks4Response["Rejected"] = 92] = "Rejected";
60
+ Socks4Response[Socks4Response["RejectedIdent"] = 93] = "RejectedIdent";
61
+ })(Socks4Response || (exports.Socks4Response = Socks4Response = {}));
62
+ var Socks5Auth;
63
+ (function (Socks5Auth) {
64
+ Socks5Auth[Socks5Auth["NoAuth"] = 0] = "NoAuth";
65
+ Socks5Auth[Socks5Auth["GSSApi"] = 1] = "GSSApi";
66
+ Socks5Auth[Socks5Auth["UserPass"] = 2] = "UserPass";
67
+ })(Socks5Auth || (exports.Socks5Auth = Socks5Auth = {}));
68
+ const SOCKS5_CUSTOM_AUTH_START = 0x80;
69
+ exports.SOCKS5_CUSTOM_AUTH_START = SOCKS5_CUSTOM_AUTH_START;
70
+ const SOCKS5_CUSTOM_AUTH_END = 0xfe;
71
+ exports.SOCKS5_CUSTOM_AUTH_END = SOCKS5_CUSTOM_AUTH_END;
72
+ const SOCKS5_NO_ACCEPTABLE_AUTH = 0xff;
73
+ exports.SOCKS5_NO_ACCEPTABLE_AUTH = SOCKS5_NO_ACCEPTABLE_AUTH;
74
+ var Socks5Response;
75
+ (function (Socks5Response) {
76
+ Socks5Response[Socks5Response["Granted"] = 0] = "Granted";
77
+ Socks5Response[Socks5Response["Failure"] = 1] = "Failure";
78
+ Socks5Response[Socks5Response["NotAllowed"] = 2] = "NotAllowed";
79
+ Socks5Response[Socks5Response["NetworkUnreachable"] = 3] = "NetworkUnreachable";
80
+ Socks5Response[Socks5Response["HostUnreachable"] = 4] = "HostUnreachable";
81
+ Socks5Response[Socks5Response["ConnectionRefused"] = 5] = "ConnectionRefused";
82
+ Socks5Response[Socks5Response["TTLExpired"] = 6] = "TTLExpired";
83
+ Socks5Response[Socks5Response["CommandNotSupported"] = 7] = "CommandNotSupported";
84
+ Socks5Response[Socks5Response["AddressNotSupported"] = 8] = "AddressNotSupported";
85
+ })(Socks5Response || (exports.Socks5Response = Socks5Response = {}));
86
+ var Socks5HostType;
87
+ (function (Socks5HostType) {
88
+ Socks5HostType[Socks5HostType["IPv4"] = 1] = "IPv4";
89
+ Socks5HostType[Socks5HostType["Hostname"] = 3] = "Hostname";
90
+ Socks5HostType[Socks5HostType["IPv6"] = 4] = "IPv6";
91
+ })(Socks5HostType || (exports.Socks5HostType = Socks5HostType = {}));
92
+ var SocksClientState;
93
+ (function (SocksClientState) {
94
+ SocksClientState[SocksClientState["Created"] = 0] = "Created";
95
+ SocksClientState[SocksClientState["Connecting"] = 1] = "Connecting";
96
+ SocksClientState[SocksClientState["Connected"] = 2] = "Connected";
97
+ SocksClientState[SocksClientState["SentInitialHandshake"] = 3] = "SentInitialHandshake";
98
+ SocksClientState[SocksClientState["ReceivedInitialHandshakeResponse"] = 4] = "ReceivedInitialHandshakeResponse";
99
+ SocksClientState[SocksClientState["SentAuthentication"] = 5] = "SentAuthentication";
100
+ SocksClientState[SocksClientState["ReceivedAuthenticationResponse"] = 6] = "ReceivedAuthenticationResponse";
101
+ SocksClientState[SocksClientState["SentFinalHandshake"] = 7] = "SentFinalHandshake";
102
+ SocksClientState[SocksClientState["ReceivedFinalResponse"] = 8] = "ReceivedFinalResponse";
103
+ SocksClientState[SocksClientState["BoundWaitingForConnection"] = 9] = "BoundWaitingForConnection";
104
+ SocksClientState[SocksClientState["Established"] = 10] = "Established";
105
+ SocksClientState[SocksClientState["Disconnected"] = 11] = "Disconnected";
106
+ SocksClientState[SocksClientState["Error"] = 99] = "Error";
107
+ })(SocksClientState || (exports.SocksClientState = SocksClientState = {}));
108
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ipToBuffer = exports.int32ToIpv4 = exports.ipv4ToInt32 = exports.validateSocksClientChainOptions = exports.validateSocksClientOptions = void 0;
4
+ const util_1 = require("./util");
5
+ const constants_1 = require("./constants");
6
+ const stream = require("stream");
7
+ const ip_address_1 = require("ip-address");
8
+ const net = require("net");
9
+ /**
10
+ * Validates the provided SocksClientOptions
11
+ * @param options { SocksClientOptions }
12
+ * @param acceptedCommands { string[] } A list of accepted SocksProxy commands.
13
+ */
14
+ function validateSocksClientOptions(options, acceptedCommands = ['connect', 'bind', 'associate']) {
15
+ // Check SOCKs command option.
16
+ if (!constants_1.SocksCommand[options.command]) {
17
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommand, options);
18
+ }
19
+ // Check SocksCommand for acceptable command.
20
+ if (acceptedCommands.indexOf(options.command) === -1) {
21
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandForOperation, options);
22
+ }
23
+ // Check destination
24
+ if (!isValidSocksRemoteHost(options.destination)) {
25
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
26
+ }
27
+ // Check SOCKS proxy to use
28
+ if (!isValidSocksProxy(options.proxy)) {
29
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
30
+ }
31
+ // Validate custom auth (if set)
32
+ validateCustomProxyAuth(options.proxy, options);
33
+ // Check timeout
34
+ if (options.timeout && !isValidTimeoutValue(options.timeout)) {
35
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
36
+ }
37
+ // Check existing_socket (if provided)
38
+ if (options.existing_socket &&
39
+ !(options.existing_socket instanceof stream.Duplex)) {
40
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsExistingSocket, options);
41
+ }
42
+ }
43
+ exports.validateSocksClientOptions = validateSocksClientOptions;
44
+ /**
45
+ * Validates the SocksClientChainOptions
46
+ * @param options { SocksClientChainOptions }
47
+ */
48
+ function validateSocksClientChainOptions(options) {
49
+ // Only connect is supported when chaining.
50
+ if (options.command !== 'connect') {
51
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandChain, options);
52
+ }
53
+ // Check destination
54
+ if (!isValidSocksRemoteHost(options.destination)) {
55
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
56
+ }
57
+ // Validate proxies (length)
58
+ if (!(options.proxies &&
59
+ Array.isArray(options.proxies) &&
60
+ options.proxies.length >= 2)) {
61
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxiesLength, options);
62
+ }
63
+ // Validate proxies
64
+ options.proxies.forEach((proxy) => {
65
+ if (!isValidSocksProxy(proxy)) {
66
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
67
+ }
68
+ // Validate custom auth (if set)
69
+ validateCustomProxyAuth(proxy, options);
70
+ });
71
+ // Check timeout
72
+ if (options.timeout && !isValidTimeoutValue(options.timeout)) {
73
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
74
+ }
75
+ }
76
+ exports.validateSocksClientChainOptions = validateSocksClientChainOptions;
77
+ function validateCustomProxyAuth(proxy, options) {
78
+ if (proxy.custom_auth_method !== undefined) {
79
+ // Invalid auth method range
80
+ if (proxy.custom_auth_method < constants_1.SOCKS5_CUSTOM_AUTH_START ||
81
+ proxy.custom_auth_method > constants_1.SOCKS5_CUSTOM_AUTH_END) {
82
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthRange, options);
83
+ }
84
+ // Missing custom_auth_request_handler
85
+ if (proxy.custom_auth_request_handler === undefined ||
86
+ typeof proxy.custom_auth_request_handler !== 'function') {
87
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
88
+ }
89
+ // Missing custom_auth_response_size
90
+ if (proxy.custom_auth_response_size === undefined) {
91
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
92
+ }
93
+ // Missing/invalid custom_auth_response_handler
94
+ if (proxy.custom_auth_response_handler === undefined ||
95
+ typeof proxy.custom_auth_response_handler !== 'function') {
96
+ throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
97
+ }
98
+ }
99
+ }
100
+ /**
101
+ * Validates a SocksRemoteHost
102
+ * @param remoteHost { SocksRemoteHost }
103
+ */
104
+ function isValidSocksRemoteHost(remoteHost) {
105
+ return (remoteHost &&
106
+ typeof remoteHost.host === 'string' &&
107
+ Buffer.byteLength(remoteHost.host) < 256 &&
108
+ typeof remoteHost.port === 'number' &&
109
+ remoteHost.port >= 0 &&
110
+ remoteHost.port <= 65535);
111
+ }
112
+ /**
113
+ * Validates a SocksProxy
114
+ * @param proxy { SocksProxy }
115
+ */
116
+ function isValidSocksProxy(proxy) {
117
+ return (proxy &&
118
+ (typeof proxy.host === 'string' || typeof proxy.ipaddress === 'string') &&
119
+ typeof proxy.port === 'number' &&
120
+ proxy.port >= 0 &&
121
+ proxy.port <= 65535 &&
122
+ (proxy.type === 4 || proxy.type === 5));
123
+ }
124
+ /**
125
+ * Validates a timeout value.
126
+ * @param value { Number }
127
+ */
128
+ function isValidTimeoutValue(value) {
129
+ return typeof value === 'number' && value > 0;
130
+ }
131
+ function ipv4ToInt32(ip) {
132
+ const address = new ip_address_1.Address4(ip);
133
+ // Convert the IPv4 address parts to an integer
134
+ return address.toArray().reduce((acc, part) => (acc << 8) + part, 0) >>> 0;
135
+ }
136
+ exports.ipv4ToInt32 = ipv4ToInt32;
137
+ function int32ToIpv4(int32) {
138
+ // Extract each byte (octet) from the 32-bit integer
139
+ const octet1 = (int32 >>> 24) & 0xff;
140
+ const octet2 = (int32 >>> 16) & 0xff;
141
+ const octet3 = (int32 >>> 8) & 0xff;
142
+ const octet4 = int32 & 0xff;
143
+ // Combine the octets into a string in IPv4 format
144
+ return [octet1, octet2, octet3, octet4].join('.');
145
+ }
146
+ exports.int32ToIpv4 = int32ToIpv4;
147
+ function ipToBuffer(ip) {
148
+ if (net.isIPv4(ip)) {
149
+ // Handle IPv4 addresses
150
+ const address = new ip_address_1.Address4(ip);
151
+ return Buffer.from(address.toArray());
152
+ }
153
+ else if (net.isIPv6(ip)) {
154
+ // Handle IPv6 addresses
155
+ const address = new ip_address_1.Address6(ip);
156
+ return Buffer.from(address
157
+ .canonicalForm()
158
+ .split(':')
159
+ .map((segment) => segment.padStart(4, '0'))
160
+ .join(''), 'hex');
161
+ }
162
+ else {
163
+ throw new Error('Invalid IP address format');
164
+ }
165
+ }
166
+ exports.ipToBuffer = ipToBuffer;
167
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReceiveBuffer = void 0;
4
+ class ReceiveBuffer {
5
+ constructor(size = 4096) {
6
+ this.buffer = Buffer.allocUnsafe(size);
7
+ this.offset = 0;
8
+ this.originalSize = size;
9
+ }
10
+ get length() {
11
+ return this.offset;
12
+ }
13
+ append(data) {
14
+ if (!Buffer.isBuffer(data)) {
15
+ throw new Error('Attempted to append a non-buffer instance to ReceiveBuffer.');
16
+ }
17
+ if (this.offset + data.length >= this.buffer.length) {
18
+ const tmp = this.buffer;
19
+ this.buffer = Buffer.allocUnsafe(Math.max(this.buffer.length + this.originalSize, this.buffer.length + data.length));
20
+ tmp.copy(this.buffer);
21
+ }
22
+ data.copy(this.buffer, this.offset);
23
+ return (this.offset += data.length);
24
+ }
25
+ peek(length) {
26
+ if (length > this.offset) {
27
+ throw new Error('Attempted to read beyond the bounds of the managed internal data.');
28
+ }
29
+ return this.buffer.slice(0, length);
30
+ }
31
+ get(length) {
32
+ if (length > this.offset) {
33
+ throw new Error('Attempted to read beyond the bounds of the managed internal data.');
34
+ }
35
+ const value = Buffer.allocUnsafe(length);
36
+ this.buffer.slice(0, length).copy(value);
37
+ this.buffer.copyWithin(0, length, length + this.offset - length);
38
+ this.offset -= length;
39
+ return value;
40
+ }
41
+ }
42
+ exports.ReceiveBuffer = ReceiveBuffer;
43
+ //# sourceMappingURL=receivebuffer.js.map
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shuffleArray = exports.SocksClientError = void 0;
4
+ /**
5
+ * Error wrapper for SocksClient
6
+ */
7
+ class SocksClientError extends Error {
8
+ constructor(message, options) {
9
+ super(message);
10
+ this.options = options;
11
+ }
12
+ }
13
+ exports.SocksClientError = SocksClientError;
14
+ /**
15
+ * Shuffles a given array.
16
+ * @param array The array to shuffle.
17
+ */
18
+ function shuffleArray(array) {
19
+ for (let i = array.length - 1; i > 0; i--) {
20
+ const j = Math.floor(Math.random() * (i + 1));
21
+ [array[i], array[j]] = [array[j], array[i]];
22
+ }
23
+ }
24
+ exports.shuffleArray = shuffleArray;
25
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./client/socksclient"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "socks",
3
+ "private": false,
4
+ "version": "2.8.7",
5
+ "description": "Fully featured SOCKS proxy client supporting SOCKSv4, SOCKSv4a, and SOCKSv5. Includes Bind and Associate functionality.",
6
+ "main": "build/index.js",
7
+ "typings": "typings/index.d.ts",
8
+ "homepage": "https://github.com/JoshGlazebrook/socks/",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/JoshGlazebrook/socks.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/JoshGlazebrook/socks/issues"
15
+ },
16
+ "keywords": [
17
+ "socks",
18
+ "proxy",
19
+ "tor",
20
+ "socks 4",
21
+ "socks 5",
22
+ "socks4",
23
+ "socks5"
24
+ ],
25
+ "engines": {
26
+ "node": ">= 10.0.0",
27
+ "npm": ">= 3.0.0"
28
+ },
29
+ "author": "Josh Glazebrook",
30
+ "contributors": [
31
+ "castorw"
32
+ ],
33
+ "license": "MIT",
34
+ "readmeFilename": "README.md",
35
+ "devDependencies": {
36
+ "@types/mocha": "^10.0.6",
37
+ "@types/node": "^20.11.17",
38
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
39
+ "@typescript-eslint/parser": "^6.21.0",
40
+ "eslint": "^8.20.0",
41
+ "mocha": "^10.0.0",
42
+ "prettier": "^3.2.5",
43
+ "ts-node": "^10.9.1",
44
+ "typescript": "^5.3.3"
45
+ },
46
+ "dependencies": {
47
+ "ip-address": "^10.0.1",
48
+ "smart-buffer": "^4.2.0"
49
+ },
50
+ "scripts": {
51
+ "prepublish": "npm install -g typescript && npm run build",
52
+ "test": "NODE_ENV=test mocha --recursive --require ts-node/register test/**/*.ts",
53
+ "prettier": "prettier --write ./src/**/*.ts --config .prettierrc.yaml",
54
+ "lint": "eslint 'src/**/*.ts'",
55
+ "build": "rm -rf build typings && prettier --write ./src/**/*.ts --config .prettierrc.yaml && tsc -p .",
56
+ "build-raw": "rm -rf build typings && tsc -p ."
57
+ }
58
+ }
@@ -0,0 +1,22 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2013 Nathan Rajlich <nathan@tootallnate.net>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.SocksProxyAgent = void 0;
30
+ const socks_1 = require("socks");
31
+ const agent_base_1 = require("agent-base");
32
+ const debug_1 = __importDefault(require("debug"));
33
+ const dns = __importStar(require("dns"));
34
+ const net = __importStar(require("net"));
35
+ const tls = __importStar(require("tls"));
36
+ const url_1 = require("url");
37
+ const debug = (0, debug_1.default)('socks-proxy-agent');
38
+ const setServernameFromNonIpHost = (options) => {
39
+ if (options.servername === undefined &&
40
+ options.host &&
41
+ !net.isIP(options.host)) {
42
+ return {
43
+ ...options,
44
+ servername: options.host,
45
+ };
46
+ }
47
+ return options;
48
+ };
49
+ function parseSocksURL(url) {
50
+ let lookup = false;
51
+ let type = 5;
52
+ const host = url.hostname;
53
+ // From RFC 1928, Section 3: https://tools.ietf.org/html/rfc1928#section-3
54
+ // "The SOCKS service is conventionally located on TCP port 1080"
55
+ const port = parseInt(url.port, 10) || 1080;
56
+ // figure out if we want socks v4 or v5, based on the "protocol" used.
57
+ // Defaults to 5.
58
+ switch (url.protocol.replace(':', '')) {
59
+ case 'socks4':
60
+ lookup = true;
61
+ type = 4;
62
+ break;
63
+ // pass through
64
+ case 'socks4a':
65
+ type = 4;
66
+ break;
67
+ case 'socks5':
68
+ lookup = true;
69
+ type = 5;
70
+ break;
71
+ // pass through
72
+ case 'socks': // no version specified, default to 5h
73
+ type = 5;
74
+ break;
75
+ case 'socks5h':
76
+ type = 5;
77
+ break;
78
+ default:
79
+ throw new TypeError(`A "socks" protocol must be specified! Got: ${String(url.protocol)}`);
80
+ }
81
+ const proxy = {
82
+ host,
83
+ port,
84
+ type,
85
+ };
86
+ if (url.username) {
87
+ Object.defineProperty(proxy, 'userId', {
88
+ value: decodeURIComponent(url.username),
89
+ enumerable: false,
90
+ });
91
+ }
92
+ if (url.password != null) {
93
+ Object.defineProperty(proxy, 'password', {
94
+ value: decodeURIComponent(url.password),
95
+ enumerable: false,
96
+ });
97
+ }
98
+ return { lookup, proxy };
99
+ }
100
+ class SocksProxyAgent extends agent_base_1.Agent {
101
+ constructor(uri, opts) {
102
+ super(opts);
103
+ const url = typeof uri === 'string' ? new url_1.URL(uri) : uri;
104
+ const { proxy, lookup } = parseSocksURL(url);
105
+ this.shouldLookup = lookup;
106
+ this.proxy = proxy;
107
+ this.timeout = opts?.timeout ?? null;
108
+ this.socketOptions = opts?.socketOptions ?? null;
109
+ }
110
+ /**
111
+ * Initiates a SOCKS connection to the specified SOCKS proxy server,
112
+ * which in turn connects to the specified remote host and port.
113
+ */
114
+ async connect(req, opts) {
115
+ const { shouldLookup, proxy, timeout } = this;
116
+ if (!opts.host) {
117
+ throw new Error('No `host` defined!');
118
+ }
119
+ let { host } = opts;
120
+ const { port, lookup: lookupFn = dns.lookup } = opts;
121
+ if (shouldLookup) {
122
+ // Client-side DNS resolution for "4" and "5" socks proxy versions.
123
+ host = await new Promise((resolve, reject) => {
124
+ // Use the request's custom lookup, if one was configured:
125
+ lookupFn(host, {}, (err, res) => {
126
+ if (err) {
127
+ reject(err);
128
+ }
129
+ else {
130
+ resolve(res);
131
+ }
132
+ });
133
+ });
134
+ }
135
+ const socksOpts = {
136
+ proxy,
137
+ destination: {
138
+ host,
139
+ port: typeof port === 'number' ? port : parseInt(port, 10),
140
+ },
141
+ command: 'connect',
142
+ timeout: timeout ?? undefined,
143
+ // @ts-expect-error the type supplied by socks for socket_options is wider
144
+ // than necessary since socks will always override the host and port
145
+ socket_options: this.socketOptions ?? undefined,
146
+ };
147
+ const cleanup = (tlsSocket) => {
148
+ req.destroy();
149
+ socket.destroy();
150
+ if (tlsSocket)
151
+ tlsSocket.destroy();
152
+ };
153
+ debug('Creating socks proxy connection: %o', socksOpts);
154
+ const { socket } = await socks_1.SocksClient.createConnection(socksOpts);
155
+ debug('Successfully created socks proxy connection');
156
+ if (timeout !== null) {
157
+ socket.setTimeout(timeout);
158
+ socket.on('timeout', () => cleanup());
159
+ }
160
+ if (opts.secureEndpoint) {
161
+ // The proxy is connecting to a TLS server, so upgrade
162
+ // this socket connection to a TLS connection.
163
+ debug('Upgrading socket connection to TLS');
164
+ const tlsSocket = tls.connect({
165
+ ...omit(setServernameFromNonIpHost(opts), 'host', 'path', 'port'),
166
+ socket,
167
+ });
168
+ tlsSocket.once('error', (error) => {
169
+ debug('Socket TLS error', error.message);
170
+ cleanup(tlsSocket);
171
+ });
172
+ return tlsSocket;
173
+ }
174
+ return socket;
175
+ }
176
+ }
177
+ SocksProxyAgent.protocols = [
178
+ 'socks',
179
+ 'socks4',
180
+ 'socks4a',
181
+ 'socks5',
182
+ 'socks5h',
183
+ ];
184
+ exports.SocksProxyAgent = SocksProxyAgent;
185
+ function omit(obj, ...keys) {
186
+ const ret = {};
187
+ let key;
188
+ for (key in obj) {
189
+ if (!keys.includes(key)) {
190
+ ret[key] = obj[key];
191
+ }
192
+ }
193
+ return ret;
194
+ }
195
+ //# sourceMappingURL=index.js.map