From b982947a605b088b56eb7d8d7edd72129d9b5bc1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 7 May 2023 00:25:12 +0800 Subject: [PATCH] chore(deps): bump https-proxy-agent from 5.0.1 to 6.1.0 and socks-proxy-agent from 7.0.0 to 8.0.1 (#12445) * chore(deps): bump https-proxy-agent from 5.0.1 to 6.0.0 Bumps [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent) from 5.0.1 to 6.0.0. - [Release notes](https://github.com/TooTallNate/proxy-agents/releases) - [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md) - [Commits](https://github.com/TooTallNate/proxy-agents/commits/HEAD/packages/https-proxy-agent) --- updated-dependencies: - dependency-name: https-proxy-agent dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * chore(deps): bump https-proxy-agent from 5.0.1 to 6.0.0 * test: update test to use WHATWG URL API --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/en/install/README.md | 2 +- docs/install/README.md | 2 +- lib/utils/request-wrapper.js | 4 ++-- package.json | 4 ++-- pnpm-lock.yaml | 38 +++++++++++++++++++++++++++++++---- test/utils/request-wrapper.js | 29 +++++++++++++++++--------- 6 files changed, 60 insertions(+), 19 deletions(-) diff --git a/docs/en/install/README.md b/docs/en/install/README.md index 9b2a8614f..3ded770d4 100644 --- a/docs/en/install/README.md +++ b/docs/en/install/README.md @@ -529,7 +529,7 @@ resolved by the SOCKS server, recommanded, prevents DNS poisoning or DNS leak), #### Proxy options -`PROXY_PROTOCOL`: Using proxy, supports socks, http, https, etc. See [socks-proxy-agent](https://www.npmjs.com/package/socks-proxy-agent) NPM package page and [source](https://github.com/TooTallNate/node-socks-proxy-agent/blob/master/src/agent.ts) for what these protocols mean. See also [cURL OOTW: SOCKS5](https://daniel.haxx.se/blog/2020/05/26/curl-ootw-socks5/) for reference. +`PROXY_PROTOCOL`: Using proxy, supports socks, http, https, etc. See [socks-proxy-agent](https://www.npmjs.com/package/socks-proxy-agent) NPM package page and [source](https://github.com/TooTallNate/proxy-agents/blob/63adbcefdb4783cc67c0eb90200886b4064e8639/packages/socks-proxy-agent/src/index.ts#L81) for what these protocols mean. See also [cURL OOTW: SOCKS5](https://daniel.haxx.se/blog/2020/05/26/curl-ootw-socks5/) for reference. `PROXY_HOST`: host or IP of the proxy diff --git a/docs/install/README.md b/docs/install/README.md index 349d6cfc4..0f8dddf2e 100644 --- a/docs/install/README.md +++ b/docs/install/README.md @@ -514,7 +514,7 @@ RSSHub 支持 `memory` 和 `redis` 两种缓存方式 #### 代理 URI -`PROXY_URI`: 代理 URI,支持 socks4, socks5(本地查询域名的 SOCKS5,不推荐使用), socks5h(传域名的 SOCKS5,推荐使用,以防止 DNS 污染或 DNS 泄露), http, https,具体以[socks-proxy-agent](https://www.npmjs.com/package/socks-proxy-agent) NPM 包的支持为准,也可参考[curl 中 SOCKS 代理协议的用法](https://daniel.haxx.se/blog/2020/05/26/curl-ootw-socks5/)。 +`PROXY_URI`: 代理 URI,支持 socks4, socks5(本地查询域名的 SOCKS5,不推荐使用), socks5h(传域名的 SOCKS5,推荐使用,以防止 DNS 污染或 DNS 泄露), http, https,具体以 [socks-proxy-agent](https://www.npmjs.com/package/socks-proxy-agent) NPM 包的支持为准,也可参考[curl 中 SOCKS 代理协议的用法](https://daniel.haxx.se/blog/2020/05/26/curl-ootw-socks5/)。 > 代理 URI 的格式为: > diff --git a/lib/utils/request-wrapper.js b/lib/utils/request-wrapper.js index 58f3030cd..99e7876ce 100644 --- a/lib/utils/request-wrapper.js +++ b/lib/utils/request-wrapper.js @@ -7,10 +7,10 @@ const https = require('https'); let agent = null; if (proxyUri) { if (proxyUri.startsWith('http')) { - const HttpsProxyAgent = require('https-proxy-agent'); + const { HttpsProxyAgent } = require('https-proxy-agent'); agent = new HttpsProxyAgent(proxyUri); } else if (proxyUri.startsWith('socks')) { - const SocksProxyAgent = require('socks-proxy-agent').SocksProxyAgent; + const { SocksProxyAgent } = require('socks-proxy-agent'); agent = new SocksProxyAgent(proxyUri); } } diff --git a/package.json b/package.json index 6103fb2d3..e6196b20e 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "git-rev-sync": "3.0.2", "googleapis": "118.0.0", "got": "11.8.6", - "https-proxy-agent": "5.0.1", + "https-proxy-agent": "6.1.0", "iconv-lite": "0.6.3", "instagram-private-api": "1.45.3", "ioredis": "5.3.2", @@ -127,7 +127,7 @@ "rss-parser": "3.13.0", "showdown": "2.1.0", "simplecc-wasm": "0.1.5", - "socks-proxy-agent": "7.0.0", + "socks-proxy-agent": "8.0.1", "source-map": "0.7.4", "string-similarity": "4.0.4", "tiny-async-pool": "2.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a59dca6e..1d5e3d4d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,8 +62,8 @@ dependencies: specifier: 11.8.6 version: 11.8.6 https-proxy-agent: - specifier: 5.0.1 - version: 5.0.1 + specifier: 6.1.0 + version: 6.1.0 iconv-lite: specifier: 0.6.3 version: 0.6.3 @@ -161,8 +161,8 @@ dependencies: specifier: 0.1.5 version: 0.1.5 socks-proxy-agent: - specifier: 7.0.0 - version: 7.0.0 + specifier: 8.0.1 + version: 8.0.1 source-map: specifier: 0.7.4 version: 0.7.4 @@ -1571,6 +1571,15 @@ packages: transitivePeerDependencies: - supports-color + /agent-base@7.0.1: + resolution: {integrity: sha512-V9to8gr2GK7eA+xskWGAFUX/TLSQKuH2TI06c/jGLL6yLp3oEjtnqM7a5tPV9fC1rabLeAgThZeBwsYX+WWHpw==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + /agentkeepalive@4.3.0: resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} engines: {node: '>= 8.0.0'} @@ -3843,6 +3852,16 @@ packages: transitivePeerDependencies: - supports-color + /https-proxy-agent@6.1.0: + resolution: {integrity: sha512-rvGRAlc3y+iS7AC9Os2joN91mX8wHpJ4TEklmHHxr7Gz2Juqa7fJmJ8wWxXNpTaRt56MQTwojxV5d82UW/+jwg==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.0.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + /human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} @@ -6809,6 +6828,17 @@ packages: - supports-color dev: false + /socks-proxy-agent@8.0.1: + resolution: {integrity: sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.0.1 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: false + /socks@2.7.1: resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} diff --git a/test/utils/request-wrapper.js b/test/utils/request-wrapper.js index e5b636f1d..4d361c7c8 100644 --- a/test/utils/request-wrapper.js +++ b/test/utils/request-wrapper.js @@ -63,6 +63,7 @@ describe('got', () => { expect(request.agent.constructor.name).toBe('SocksProxyAgent'); expect(request.agent.proxy.host).toBe('rsshub.proxy'); expect(request.agent.proxy.port).toBe(2333); + expect(request.agent.proxy.type).toBe(5); }; nock(/rsshub\.test/) @@ -81,9 +82,12 @@ describe('got', () => { require('../../lib/utils/request-wrapper'); check = (request) => { expect(request.agent.constructor.name).toBe('HttpsProxyAgent'); - expect(request.agent.proxy.auth).toBe('user:pass'); - expect(request.agent.proxy.host).toBe('rsshub.proxy'); - expect(request.agent.proxy.port).toBe(2333); + expect(request.agent.proxy.protocol).toBe('http:'); + expect(request.agent.proxy.username).toBe('user'); + expect(request.agent.proxy.password).toBe('pass'); + expect(request.agent.proxy.host).toBe('rsshub.proxy:2333'); + expect(request.agent.proxy.hostname).toBe('rsshub.proxy'); + expect(request.agent.proxy.port).toBe('2333'); }; nock(/rsshub\.test/) @@ -102,8 +106,10 @@ describe('got', () => { require('../../lib/utils/request-wrapper'); check = (request) => { expect(request.agent.constructor.name).toBe('HttpsProxyAgent'); - expect(request.agent.proxy.host).toBe('rsshub.proxy'); - expect(request.agent.proxy.port).toBe(2333); + expect(request.agent.proxy.protocol).toBe('https:'); + expect(request.agent.proxy.host).toBe('rsshub.proxy:2333'); + expect(request.agent.proxy.hostname).toBe('rsshub.proxy'); + expect(request.agent.proxy.port).toBe('2333'); }; nock(/rsshub\.test/) @@ -126,6 +132,7 @@ describe('got', () => { expect(request.agent.constructor.name).toBe('SocksProxyAgent'); expect(request.agent.proxy.host).toBe('rsshub.proxy'); expect(request.agent.proxy.port).toBe(2333); + expect(request.agent.proxy.type).toBe(5); }; nock(/rsshub\.test/) @@ -146,8 +153,10 @@ describe('got', () => { require('../../lib/utils/request-wrapper'); check = (request) => { expect(request.agent.constructor.name).toBe('HttpsProxyAgent'); - expect(request.agent.proxy.host).toBe('rsshub.proxy'); - expect(request.agent.proxy.port).toBe(2333); + expect(request.agent.proxy.protocol).toBe('http:'); + expect(request.agent.proxy.host).toBe('rsshub.proxy:2333'); + expect(request.agent.proxy.hostname).toBe('rsshub.proxy'); + expect(request.agent.proxy.port).toBe('2333'); }; nock(/rsshub\.test/) @@ -168,8 +177,10 @@ describe('got', () => { require('../../lib/utils/request-wrapper'); check = (request) => { expect(request.agent.constructor.name).toBe('HttpsProxyAgent'); - expect(request.agent.proxy.host).toBe('rsshub.proxy'); - expect(request.agent.proxy.port).toBe(2333); + expect(request.agent.proxy.protocol).toBe('https:'); + expect(request.agent.proxy.host).toBe('rsshub.proxy:2333'); + expect(request.agent.proxy.hostname).toBe('rsshub.proxy'); + expect(request.agent.proxy.port).toBe('2333'); }; nock(/rsshub\.test/)