原创 hyang0 生有可恋
Windows 系统代理可以通过窗口鼠标点击开关进行配置,当需要频繁切换代理和非代理状态时命令行操作会更方便。
系统代理是通过注册表进行控制的,可以通过操作注册表项来控制系统代理的禁用或启用:
# 禁用:
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0x0 /f
# 启用
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0x1 /f
代理功能在注册表的“Internet Settings”下,功能项为 ProxyEnable :
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
通过 reg 操作注册表项的命令太长了,可以为其设置 alias 。Windows 下的 alias 设置可以通过编辑 bat 脚本的方式来实现:
C:\> notepad proxy.bat
C:\> notepad unproxy.bat
将以上命令分别保存到 proxy.bat 和 unproxy.bat 文件中。
使用时直接执行 proxy 和 unproxy 就可以控制全局代理的启用和禁用。
当执行 proxy 或 unproxy 时也会打印实际执行的命令,可以通过输出的内容来确认命令的执行情况。
设置全局代理的好处是系统中的所有 http 连接都会走代理,不用在命令行中单独为命令行设置代理设置。当然如何需要只在部分环境中启用代理,可以通过 set http_proxy 在命令行中启用局部代理:
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
浏览器中的局部代理需要使用浏览器插件实现,chrome 插件为:SwitchyOmega
。
总结
命令行中启用全局代理通过操作注册表来实现,启用局部代理使用环境变量实现,浏览器启用局部代理使用浏览器插件实现。