Skip to content

修复网络代理问题 - #260

Open
lizkes wants to merge 1 commit into
maotoumao:devfrom
lizkes:dev
Open

修复网络代理问题#260
lizkes wants to merge 1 commit into
maotoumao:devfrom
lizkes:dev

Conversation

@lizkes

@lizkes lizkes commented May 27, 2025

Copy link
Copy Markdown

重写handleProxy方法,确保axios库默认走直连
健壮代理模式下的逻辑性
修正plugin-manager里新建agent的行为,让其使用全局设置。
修复electron dev控制台日志中文乱码问题

PR 解决的问题 (PR Summary)

  1. axios库默认遵循HTTP_PROXY 和 HTTPS_PROXY 环境变量,如果用户电脑里有这两个环境变量,会导致axios使用自己的proxy,从而使软件无法访问网络。通过修改handleProxy方法,确保axios库默认走直连,代理模式下使用https-proxy-agent库。
  2. 如果直接new URL(host),会导致host如果是"127.0.0.1"这种非url格式时出现错误,PR进行了条件检查,修复了这个BUG。
  3. plugin-manager里的axios没有遵循全局设置,修改代码使其一致。
  4. 修复npm run dev时的日志中文乱码问题

影响范围 (Impact Scope)

网络代理

截屏 (Screenshot)

改动前 (Before) 改动后 (After)

|
image
|
image
|

修正plugin-manager里新建agent的行为,让其使用全局设置。
健壮代理模式下的逻辑性
修复electron dev控制台打印乱码问题
@lizkes lizkes changed the title 重写handleProxy方法,确保axios库默认走直连 修复网络代理问题 May 27, 2025
@maotoumao

Copy link
Copy Markdown
Owner

谢谢PR;
关于1和3:软件内没有设置代理时,我认为用默认行为(无论用户本地是否配置其他代理)是合理的;plugin-manager里的axios没有遵循全局设置也是故意这样做的,尽量避免在插件内修改全局axios配置情况的发生(虽然这里创建axios instance的时候忘记把代理加上了)

关于2和4:谢谢修复,建议把修复拆分一个单独的PR合并~

@lizkes

lizkes commented May 27, 2025

Copy link
Copy Markdown
Author

谢谢PR; 关于1和3:软件内没有设置代理时,我认为用默认行为(无论用户本地是否配置其他代理)是合理的;plugin-manager里的axios没有遵循全局设置也是故意这样做的,尽量避免在插件内修改全局axios配置情况的发生(虽然这里创建axios instance的时候忘记把代理加上了)

实际上,在绝大部分软件里,默认设置都是不使用代理。
普通软件的逻辑是默认不适用代理,然后给系统代理跟自定义代理的选项。
以下是QQ音乐和IDM的默认代理设置
image
image

关于2和4:谢谢修复,建议把修复拆分一个单独的PR合并~

好的,我会改一下

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants