@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.
- package/dist/node-gyp-bin/node-gyp +6 -0
- package/dist/node-gyp-bin/node-gyp.cmd +5 -0
- package/dist/node_modules/@gar/promise-retry/LICENSE +20 -0
- package/dist/node_modules/@gar/promise-retry/lib/index.js +62 -0
- package/dist/node_modules/@gar/promise-retry/lib/retry.js +109 -0
- package/dist/node_modules/@gar/promise-retry/package.json +45 -0
- package/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
- package/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
- package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
- package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
- package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
- package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
- package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
- package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
- package/dist/node_modules/@npmcli/agent/package.json +60 -0
- package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
- package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
- package/dist/node_modules/@npmcli/fs/lib/index.js +13 -0
- package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
- package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
- package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
- package/dist/node_modules/@npmcli/fs/package.json +54 -0
- package/dist/node_modules/@npmcli/redact/LICENSE +21 -0
- package/dist/node_modules/@npmcli/redact/lib/deep-map.js +71 -0
- package/dist/node_modules/@npmcli/redact/lib/error.js +28 -0
- package/dist/node_modules/@npmcli/redact/lib/index.js +44 -0
- package/dist/node_modules/@npmcli/redact/lib/matchers.js +88 -0
- package/dist/node_modules/@npmcli/redact/lib/server.js +59 -0
- package/dist/node_modules/@npmcli/redact/lib/utils.js +202 -0
- package/dist/node_modules/@npmcli/redact/package.json +52 -0
- package/dist/node_modules/abbrev/LICENSE +46 -0
- package/dist/node_modules/abbrev/lib/index.js +53 -0
- package/dist/node_modules/abbrev/package.json +41 -0
- package/dist/node_modules/agent-base/LICENSE +22 -0
- package/dist/node_modules/agent-base/dist/helpers.js +66 -0
- package/dist/node_modules/agent-base/dist/index.js +178 -0
- package/dist/node_modules/agent-base/package.json +46 -0
- package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
- package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
- package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
- package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
- package/dist/node_modules/balanced-match/package.json +68 -0
- package/dist/node_modules/brace-expansion/LICENSE +23 -0
- package/dist/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
- package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
- package/dist/node_modules/brace-expansion/dist/esm/index.js +197 -0
- package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
- package/dist/node_modules/brace-expansion/package.json +64 -0
- package/dist/node_modules/cacache/lib/content/path.js +29 -0
- package/dist/node_modules/cacache/lib/content/read.js +165 -0
- package/dist/node_modules/cacache/lib/content/rm.js +18 -0
- package/dist/node_modules/cacache/lib/content/write.js +206 -0
- package/dist/node_modules/cacache/lib/entry-index.js +336 -0
- package/dist/node_modules/cacache/lib/get.js +170 -0
- package/dist/node_modules/cacache/lib/index.js +42 -0
- package/dist/node_modules/cacache/lib/memoization.js +72 -0
- package/dist/node_modules/cacache/lib/put.js +80 -0
- package/dist/node_modules/cacache/lib/rm.js +31 -0
- package/dist/node_modules/cacache/lib/util/glob.js +7 -0
- package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
- package/dist/node_modules/cacache/lib/util/tmp.js +32 -0
- package/dist/node_modules/cacache/lib/verify.js +258 -0
- package/dist/node_modules/cacache/package.json +81 -0
- package/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
- package/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
- package/dist/node_modules/chownr/dist/esm/index.js +85 -0
- package/dist/node_modules/chownr/dist/esm/package.json +3 -0
- package/dist/node_modules/chownr/package.json +69 -0
- package/dist/node_modules/debug/LICENSE +20 -0
- package/dist/node_modules/debug/package.json +64 -0
- package/dist/node_modules/debug/src/browser.js +272 -0
- package/dist/node_modules/debug/src/common.js +292 -0
- package/dist/node_modules/debug/src/index.js +10 -0
- package/dist/node_modules/debug/src/node.js +263 -0
- package/dist/node_modules/env-paths/index.js +74 -0
- package/dist/node_modules/env-paths/license +9 -0
- package/dist/node_modules/env-paths/package.json +45 -0
- package/dist/node_modules/exponential-backoff/LICENSE +202 -0
- package/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
- package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
- package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
- package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
- package/dist/node_modules/exponential-backoff/package.json +62 -0
- package/dist/node_modules/fdir/LICENSE +7 -0
- package/dist/node_modules/fdir/dist/index.cjs +588 -0
- package/dist/node_modules/fdir/dist/index.d.cts +155 -0
- package/dist/node_modules/fdir/dist/index.d.mts +155 -0
- package/dist/node_modules/fdir/dist/index.mjs +570 -0
- package/dist/node_modules/fdir/package.json +103 -0
- package/dist/node_modules/fs-minipass/LICENSE +15 -0
- package/dist/node_modules/fs-minipass/lib/index.js +443 -0
- package/dist/node_modules/fs-minipass/package.json +54 -0
- package/dist/node_modules/glob/dist/commonjs/glob.js +248 -0
- package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
- package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
- package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
- package/dist/node_modules/glob/dist/commonjs/pattern.js +223 -0
- package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/dist/node_modules/glob/dist/esm/glob.js +244 -0
- package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
- package/dist/node_modules/glob/dist/esm/index.js +55 -0
- package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
- package/dist/node_modules/glob/dist/esm/package.json +3 -0
- package/dist/node_modules/glob/dist/esm/pattern.js +219 -0
- package/dist/node_modules/glob/dist/esm/processor.js +294 -0
- package/dist/node_modules/glob/dist/esm/walker.js +381 -0
- package/dist/node_modules/glob/package.json +98 -0
- package/dist/node_modules/graceful-fs/LICENSE +15 -0
- package/dist/node_modules/graceful-fs/clone.js +23 -0
- package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/dist/node_modules/graceful-fs/package.json +53 -0
- package/dist/node_modules/graceful-fs/polyfills.js +355 -0
- package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
- package/dist/node_modules/http-cache-semantics/index.js +928 -0
- package/dist/node_modules/http-cache-semantics/package.json +22 -0
- package/dist/node_modules/http-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/http-proxy-agent/dist/index.js +148 -0
- package/dist/node_modules/http-proxy-agent/package.json +47 -0
- package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/https-proxy-agent/dist/index.js +180 -0
- package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/dist/node_modules/https-proxy-agent/package.json +50 -0
- package/dist/node_modules/iconv-lite/LICENSE +21 -0
- package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
- package/dist/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/dist/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/dist/node_modules/iconv-lite/encodings/utf32.js +307 -0
- package/dist/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/dist/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/dist/node_modules/iconv-lite/lib/index.js +182 -0
- package/dist/node_modules/iconv-lite/lib/streams.js +105 -0
- package/dist/node_modules/iconv-lite/package.json +70 -0
- package/dist/node_modules/ip-address/LICENSE +19 -0
- package/dist/node_modules/ip-address/dist/address-error.js +12 -0
- package/dist/node_modules/ip-address/dist/common.js +46 -0
- package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
- package/dist/node_modules/ip-address/dist/ipv4.js +360 -0
- package/dist/node_modules/ip-address/dist/ipv6.js +1003 -0
- package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
- package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
- package/dist/node_modules/ip-address/dist/v6/helpers.js +45 -0
- package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
- package/dist/node_modules/ip-address/package.json +78 -0
- package/dist/node_modules/isexe/dist/commonjs/index.js +56 -0
- package/dist/node_modules/isexe/dist/commonjs/index.min.js +2 -0
- package/dist/node_modules/isexe/dist/commonjs/options.js +3 -0
- package/dist/node_modules/isexe/dist/commonjs/package.json +3 -0
- package/dist/node_modules/isexe/dist/commonjs/posix.js +67 -0
- package/dist/node_modules/isexe/dist/commonjs/win32.js +63 -0
- package/dist/node_modules/isexe/dist/esm/index.js +16 -0
- package/dist/node_modules/isexe/dist/esm/index.min.js +2 -0
- package/dist/node_modules/isexe/dist/esm/options.js +2 -0
- package/dist/node_modules/isexe/dist/esm/package.json +3 -0
- package/dist/node_modules/isexe/dist/esm/posix.js +62 -0
- package/dist/node_modules/isexe/dist/esm/win32.js +58 -0
- package/dist/node_modules/isexe/package.json +78 -0
- package/dist/node_modules/lru-cache/dist/commonjs/index.js +1595 -0
- package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/dist/node_modules/lru-cache/dist/esm/index.js +1591 -0
- package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/dist/node_modules/lru-cache/package.json +93 -0
- package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
- package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
- package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
- package/dist/node_modules/make-fetch-happen/lib/options.js +59 -0
- package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
- package/dist/node_modules/make-fetch-happen/lib/remote.js +134 -0
- package/dist/node_modules/make-fetch-happen/package.json +75 -0
- package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/dist/node_modules/minimatch/dist/commonjs/ast.js +846 -0
- package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
- package/dist/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- package/dist/node_modules/minimatch/dist/commonjs/index.js +1121 -0
- package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/dist/node_modules/minimatch/dist/esm/ast.js +842 -0
- package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
- package/dist/node_modules/minimatch/dist/esm/escape.js +26 -0
- package/dist/node_modules/minimatch/dist/esm/index.js +1108 -0
- package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
- package/dist/node_modules/minimatch/dist/esm/unescape.js +34 -0
- package/dist/node_modules/minimatch/package.json +67 -0
- package/dist/node_modules/minipass/dist/commonjs/index.js +1038 -0
- package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minipass/dist/esm/index.js +1020 -0
- package/dist/node_modules/minipass/dist/esm/package.json +3 -0
- package/dist/node_modules/minipass/package.json +77 -0
- package/dist/node_modules/minipass-collect/LICENSE +15 -0
- package/dist/node_modules/minipass-collect/index.js +71 -0
- package/dist/node_modules/minipass-collect/package.json +30 -0
- package/dist/node_modules/minipass-fetch/LICENSE +28 -0
- package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
- package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
- package/dist/node_modules/minipass-fetch/lib/body.js +360 -0
- package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
- package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
- package/dist/node_modules/minipass-fetch/lib/index.js +376 -0
- package/dist/node_modules/minipass-fetch/lib/request.js +282 -0
- package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
- package/dist/node_modules/minipass-fetch/package.json +70 -0
- package/dist/node_modules/minipass-flush/LICENSE +15 -0
- package/dist/node_modules/minipass-flush/index.js +39 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-flush/package.json +39 -0
- package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
- package/dist/node_modules/minipass-pipeline/index.js +128 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-pipeline/package.json +29 -0
- package/dist/node_modules/minipass-sized/LICENSE +15 -0
- package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
- package/dist/node_modules/minipass-sized/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
- package/dist/node_modules/minipass-sized/dist/esm/package.json +3 -0
- package/dist/node_modules/minipass-sized/package.json +69 -0
- package/dist/node_modules/minizlib/LICENSE +26 -0
- package/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
- package/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
- package/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
- package/dist/node_modules/minizlib/dist/esm/index.js +363 -0
- package/dist/node_modules/minizlib/dist/esm/package.json +3 -0
- package/dist/node_modules/minizlib/package.json +80 -0
- package/dist/node_modules/ms/index.js +162 -0
- package/dist/node_modules/ms/package.json +38 -0
- package/dist/node_modules/negotiator/LICENSE +24 -0
- package/dist/node_modules/negotiator/index.js +83 -0
- package/dist/node_modules/negotiator/lib/charset.js +169 -0
- package/dist/node_modules/negotiator/lib/encoding.js +205 -0
- package/dist/node_modules/negotiator/lib/language.js +179 -0
- package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
- package/dist/node_modules/negotiator/package.json +43 -0
- package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
- package/dist/node_modules/node-gyp/LICENSE +24 -0
- package/dist/node_modules/node-gyp/addon.gypi +204 -0
- package/dist/node_modules/node-gyp/bin/node-gyp.js +145 -0
- package/dist/node_modules/node-gyp/eslint.config.js +3 -0
- package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
- package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
- package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
- package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
- package/dist/node_modules/node-gyp/gyp/gyp +8 -0
- package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
- package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +599 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +707 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2956 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +824 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
- package/dist/node_modules/node-gyp/gyp/pyproject.toml +114 -0
- package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
- package/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
- package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
- package/dist/node_modules/node-gyp/lib/build.js +230 -0
- package/dist/node_modules/node-gyp/lib/clean.js +15 -0
- package/dist/node_modules/node-gyp/lib/configure.js +328 -0
- package/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
- package/dist/node_modules/node-gyp/lib/download.js +39 -0
- package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
- package/dist/node_modules/node-gyp/lib/find-python.js +304 -0
- package/dist/node_modules/node-gyp/lib/find-visualstudio.js +606 -0
- package/dist/node_modules/node-gyp/lib/install.js +411 -0
- package/dist/node_modules/node-gyp/lib/list.js +26 -0
- package/dist/node_modules/node-gyp/lib/log.js +168 -0
- package/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
- package/dist/node_modules/node-gyp/lib/process-release.js +146 -0
- package/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
- package/dist/node_modules/node-gyp/lib/remove.js +43 -0
- package/dist/node_modules/node-gyp/lib/util.js +81 -0
- package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
- package/dist/node_modules/node-gyp/package.json +52 -0
- package/dist/node_modules/node-gyp/release-please-config.json +40 -0
- package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
- package/dist/node_modules/nopt/LICENSE +15 -0
- package/dist/node_modules/nopt/bin/nopt.js +29 -0
- package/dist/node_modules/nopt/lib/debug.js +5 -0
- package/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
- package/dist/node_modules/nopt/lib/nopt.js +34 -0
- package/dist/node_modules/nopt/lib/type-defs.js +91 -0
- package/dist/node_modules/nopt/package.json +52 -0
- package/dist/node_modules/p-map/index.js +283 -0
- package/dist/node_modules/p-map/license +9 -0
- package/dist/node_modules/p-map/package.json +57 -0
- package/dist/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
- package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
- package/dist/node_modules/path-scurry/dist/esm/index.js +1983 -0
- package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
- package/dist/node_modules/path-scurry/package.json +72 -0
- package/dist/node_modules/picomatch/LICENSE +21 -0
- package/dist/node_modules/picomatch/index.js +17 -0
- package/dist/node_modules/picomatch/lib/constants.js +184 -0
- package/dist/node_modules/picomatch/lib/parse.js +1386 -0
- package/dist/node_modules/picomatch/lib/picomatch.js +349 -0
- package/dist/node_modules/picomatch/lib/scan.js +391 -0
- package/dist/node_modules/picomatch/lib/utils.js +72 -0
- package/dist/node_modules/picomatch/package.json +82 -0
- package/dist/node_modules/picomatch/posix.js +3 -0
- package/dist/node_modules/proc-log/LICENSE +15 -0
- package/dist/node_modules/proc-log/lib/index.js +158 -0
- package/dist/node_modules/proc-log/package.json +46 -0
- package/dist/node_modules/safer-buffer/LICENSE +21 -0
- package/dist/node_modules/safer-buffer/dangerous.js +58 -0
- package/dist/node_modules/safer-buffer/package.json +34 -0
- package/dist/node_modules/safer-buffer/safer.js +77 -0
- package/dist/node_modules/safer-buffer/tests.js +406 -0
- package/dist/node_modules/semver/LICENSE +15 -0
- package/dist/node_modules/semver/bin/semver.js +191 -0
- package/dist/node_modules/semver/classes/comparator.js +143 -0
- package/dist/node_modules/semver/classes/index.js +7 -0
- package/dist/node_modules/semver/classes/range.js +557 -0
- package/dist/node_modules/semver/classes/semver.js +333 -0
- package/dist/node_modules/semver/functions/clean.js +8 -0
- package/dist/node_modules/semver/functions/cmp.js +54 -0
- package/dist/node_modules/semver/functions/coerce.js +62 -0
- package/dist/node_modules/semver/functions/compare-build.js +9 -0
- package/dist/node_modules/semver/functions/compare-loose.js +5 -0
- package/dist/node_modules/semver/functions/compare.js +7 -0
- package/dist/node_modules/semver/functions/diff.js +60 -0
- package/dist/node_modules/semver/functions/eq.js +5 -0
- package/dist/node_modules/semver/functions/gt.js +5 -0
- package/dist/node_modules/semver/functions/gte.js +5 -0
- package/dist/node_modules/semver/functions/inc.js +21 -0
- package/dist/node_modules/semver/functions/lt.js +5 -0
- package/dist/node_modules/semver/functions/lte.js +5 -0
- package/dist/node_modules/semver/functions/major.js +5 -0
- package/dist/node_modules/semver/functions/minor.js +5 -0
- package/dist/node_modules/semver/functions/neq.js +5 -0
- package/dist/node_modules/semver/functions/parse.js +18 -0
- package/dist/node_modules/semver/functions/patch.js +5 -0
- package/dist/node_modules/semver/functions/prerelease.js +8 -0
- package/dist/node_modules/semver/functions/rcompare.js +5 -0
- package/dist/node_modules/semver/functions/rsort.js +5 -0
- package/dist/node_modules/semver/functions/satisfies.js +12 -0
- package/dist/node_modules/semver/functions/sort.js +5 -0
- package/dist/node_modules/semver/functions/valid.js +8 -0
- package/dist/node_modules/semver/index.js +91 -0
- package/dist/node_modules/semver/internal/constants.js +37 -0
- package/dist/node_modules/semver/internal/debug.js +11 -0
- package/dist/node_modules/semver/internal/identifiers.js +29 -0
- package/dist/node_modules/semver/internal/lrucache.js +42 -0
- package/dist/node_modules/semver/internal/parse-options.js +17 -0
- package/dist/node_modules/semver/internal/re.js +223 -0
- package/dist/node_modules/semver/package.json +78 -0
- package/dist/node_modules/semver/preload.js +4 -0
- package/dist/node_modules/semver/range.bnf +16 -0
- package/dist/node_modules/semver/ranges/gtr.js +6 -0
- package/dist/node_modules/semver/ranges/intersects.js +9 -0
- package/dist/node_modules/semver/ranges/ltr.js +6 -0
- package/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/dist/node_modules/semver/ranges/min-version.js +63 -0
- package/dist/node_modules/semver/ranges/outside.js +82 -0
- package/dist/node_modules/semver/ranges/simplify.js +49 -0
- package/dist/node_modules/semver/ranges/subset.js +249 -0
- package/dist/node_modules/semver/ranges/to-comparators.js +10 -0
- package/dist/node_modules/semver/ranges/valid.js +13 -0
- package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
- package/dist/node_modules/smart-buffer/LICENSE +20 -0
- package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
- package/dist/node_modules/smart-buffer/build/utils.js +108 -0
- package/dist/node_modules/smart-buffer/package.json +79 -0
- package/dist/node_modules/socks/.eslintrc.cjs +11 -0
- package/dist/node_modules/socks/.prettierrc.yaml +7 -0
- package/dist/node_modules/socks/LICENSE +20 -0
- package/dist/node_modules/socks/build/client/socksclient.js +793 -0
- package/dist/node_modules/socks/build/common/constants.js +108 -0
- package/dist/node_modules/socks/build/common/helpers.js +167 -0
- package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
- package/dist/node_modules/socks/build/common/util.js +25 -0
- package/dist/node_modules/socks/build/index.js +18 -0
- package/dist/node_modules/socks/package.json +58 -0
- package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/socks-proxy-agent/dist/index.js +195 -0
- package/dist/node_modules/socks-proxy-agent/package.json +142 -0
- package/dist/node_modules/ssri/lib/index.js +550 -0
- package/dist/node_modules/ssri/package.json +66 -0
- package/dist/node_modules/tar/dist/commonjs/create.js +82 -0
- package/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
- package/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
- package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
- package/dist/node_modules/tar/dist/commonjs/header.js +312 -0
- package/dist/node_modules/tar/dist/commonjs/index.js +64 -0
- package/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
- package/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
- package/dist/node_modules/tar/dist/commonjs/list.js +145 -0
- package/dist/node_modules/tar/dist/commonjs/make-command.js +52 -0
- package/dist/node_modules/tar/dist/commonjs/mkdir.js +187 -0
- package/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
- package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
- package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
- package/dist/node_modules/tar/dist/commonjs/options.js +66 -0
- package/dist/node_modules/tar/dist/commonjs/pack.js +511 -0
- package/dist/node_modules/tar/dist/commonjs/package.json +3 -0
- package/dist/node_modules/tar/dist/commonjs/parse.js +610 -0
- package/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
- package/dist/node_modules/tar/dist/commonjs/pax.js +158 -0
- package/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
- package/dist/node_modules/tar/dist/commonjs/read-entry.js +136 -0
- package/dist/node_modules/tar/dist/commonjs/replace.js +227 -0
- package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
- package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
- package/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
- package/dist/node_modules/tar/dist/commonjs/types.js +50 -0
- package/dist/node_modules/tar/dist/commonjs/unpack.js +932 -0
- package/dist/node_modules/tar/dist/commonjs/update.js +33 -0
- package/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
- package/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
- package/dist/node_modules/tar/dist/commonjs/write-entry.js +698 -0
- package/dist/node_modules/tar/dist/esm/create.js +76 -0
- package/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
- package/dist/node_modules/tar/dist/esm/extract.js +49 -0
- package/dist/node_modules/tar/dist/esm/get-write-flag.js +26 -0
- package/dist/node_modules/tar/dist/esm/header.js +275 -0
- package/dist/node_modules/tar/dist/esm/index.js +20 -0
- package/dist/node_modules/tar/dist/esm/index.min.js +4 -0
- package/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
- package/dist/node_modules/tar/dist/esm/list.js +105 -0
- package/dist/node_modules/tar/dist/esm/make-command.js +48 -0
- package/dist/node_modules/tar/dist/esm/mkdir.js +179 -0
- package/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
- package/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
- package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
- package/dist/node_modules/tar/dist/esm/options.js +54 -0
- package/dist/node_modules/tar/dist/esm/pack.js +469 -0
- package/dist/node_modules/tar/dist/esm/package.json +3 -0
- package/dist/node_modules/tar/dist/esm/parse.js +606 -0
- package/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
- package/dist/node_modules/tar/dist/esm/pax.js +154 -0
- package/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
- package/dist/node_modules/tar/dist/esm/read-entry.js +132 -0
- package/dist/node_modules/tar/dist/esm/replace.js +221 -0
- package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
- package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
- package/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
- package/dist/node_modules/tar/dist/esm/types.js +45 -0
- package/dist/node_modules/tar/dist/esm/unpack.js +891 -0
- package/dist/node_modules/tar/dist/esm/update.js +30 -0
- package/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
- package/dist/node_modules/tar/dist/esm/winchars.js +9 -0
- package/dist/node_modules/tar/dist/esm/write-entry.js +656 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/index.js +384 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +3 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/esm/index.js +379 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +3 -0
- package/dist/node_modules/tar/node_modules/yallist/package.json +68 -0
- package/dist/node_modules/tar/package.json +297 -0
- package/dist/node_modules/tinyglobby/LICENSE +21 -0
- package/dist/node_modules/tinyglobby/dist/index.cjs +350 -0
- package/dist/node_modules/tinyglobby/dist/index.d.cts +147 -0
- package/dist/node_modules/tinyglobby/dist/index.d.mts +147 -0
- package/dist/node_modules/tinyglobby/dist/index.mjs +318 -0
- package/dist/node_modules/tinyglobby/package.json +73 -0
- package/{LICENSE → dist/node_modules/v8-compile-cache/LICENSE} +1 -2
- package/dist/node_modules/v8-compile-cache/package.json +34 -0
- package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
- package/dist/node_modules/which/LICENSE +15 -0
- package/dist/node_modules/which/bin/which.js +52 -0
- package/dist/node_modules/which/lib/index.js +111 -0
- package/dist/node_modules/which/package.json +52 -0
- package/dist/node_modules/yallist/LICENSE +15 -0
- package/dist/node_modules/yallist/iterator.js +8 -0
- package/dist/node_modules/yallist/package.json +29 -0
- package/dist/node_modules/yallist/yallist.js +426 -0
- package/dist/pnpm.mjs +266382 -0
- package/dist/pnpmrc +2 -0
- package/dist/templates/completion.bash +31 -0
- package/dist/templates/completion.fish +22 -0
- package/dist/templates/completion.ps1 +193 -0
- package/dist/templates/completion.zsh +27 -0
- package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
- package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
- package/dist/worker.js +10958 -0
- package/package.json +34 -12
- package/pn +2 -0
- package/pn.cmd +2 -0
- package/pn.ps1 +1 -0
- package/pnpx +2 -0
- package/pnpx.cmd +2 -0
- package/pnpx.ps1 +1 -0
- package/pnx +2 -0
- package/pnx.cmd +2 -0
- package/pnx.ps1 +1 -0
- package/prepare.js +26 -3
- package/setup.js +22 -11
- 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
|