通过系统设置手动关闭代理开关
Windows系统中关闭手动代理设置
当Clash VPN修改了系统代理设置但未正确恢复时,最直接的恢复方式是在Windows系统中手动关闭代理开关。打开「设置→网络和Internet→代理」,在“手动代理设置”区域找到“使用代理服务器”开关,将其关闭即可。关闭后,系统代理将不再指向Clash的7890端口,浏览器的网络请求恢复正常直连。若该开关本身已处于关闭状态但仍无法上网,可尝试将其开启再关闭一次,刷新系统代理配置的注册表状态。
macOS系统中取消代理协议勾选
在macOS系统中恢复被Clash VPN修改的代理设置,需进入网络设置中取消已勾选的代理协议。打开「系统设置→网络」,选择当前使用的网络连接(Wi-Fi或以太网),点击“高级”或“详细信息”按钮进入高级设置界面。切换到“代理”标签页,将列表中所有被勾选的代理协议(如“网页代理HTTP”、“安全网页代理HTTPS”、“SOCKS代理”)逐个取消勾选,点击“好”保存设置。保存后系统代理即恢复为空配置,网络流量恢复正常直连。
验证代理是否已完全关闭
手动关闭代理后,可通过访问网页或使用命令行验证系统代理是否已完全恢复。在浏览器中访问任意网站,若能正常打开则说明代理已关闭。在命令行中执行curl -I http://www.google.com测试代理连通性,或执行netsh winhttp show proxy(Windows)查看当前系统代理配置是否为空。若配置仍指向Clash端口,说明代理设置尚未完全清除,需重启电脑或执行网络重置命令彻底清理残留配置。
使用命令行重置代理配置
Windows中重置WinHTTP代理
当系统代理手动关闭后仍有部分应用无法联网时,可能是WinHTTP代理(与系统代理独立的另一层代理配置)仍指向Clash端口。在命令提示符或PowerShell中以管理员身份执行netsh winhttp reset proxy命令,重置WinHTTP代理设置为直连状态。该命令会清除所有通过netsh winhttp set proxy设置的代理配置,影响依赖WinHTTP的应用程序(如部分系统服务、命令行工具)的网络行为。执行后无需重启即可生效。
重置Winsock和IP堆栈清理网络残留
当代理配置残留影响网络堆栈时,执行Winsock重置和IP堆栈重置可彻底清理系统中的网络配置残留。以管理员身份打开命令提示符,依次执行netsh winsock reset和netsh int ip reset两个命令,执行完成后重启电脑使重置生效。重置后系统网络堆栈恢复到初始状态,Clash VPN残留的路由表条目、LSP注入和代理配置被全部清除,网络恢复正常。此操作会重置所有网络适配器配置,重启前需确保有网络恢复的备份方案。
macOS中清除系统代理环境变量
在macOS中,部分命令行工具和系统服务通过环境变量读取代理配置,需清除这些环境变量才能彻底恢复网络。在终端中执行unset http_proxy https_proxy all_proxy清除当前会话的代理环境变量,若需永久清除,编辑~/.bash_profile或~/.zshrc文件,删除或注释掉export http_proxy=...等相关行。系统级的代理配置已通过系统设置中的取消勾选恢复,环境变量的清除主要针对终端会话中的代理残留。
通过Clash客户端正确关闭系统代理
退出前先关闭系统代理开关
避免系统代理残留的最佳习惯是在退出Clash VPN前先手动关闭系统代理开关,让客户端主动还原代理配置。在Clash Verge Rev中,点击左侧「设置」页面,找到“系统代理”或“System Proxy”开关,将其关闭后再退出客户端。关闭后Clash会主动将Windows或macOS的系统代理设置还原为直连状态,不会留下指向7890端口的残留配置。养成先关代理再退出的操作顺序,可从根本上杜绝代理残留导致的网络异常。
非正常退出导致残留的补救
当Clash VPN因崩溃、强制结束进程或系统重启而非正常退出时,系统代理设置无法被客户端主动还原,容易留下指向Clash端口的残留配置。此时需按照前述方法手动关闭系统代理或执行命令重置。若Clash仍处于运行状态但系统代理开关无法操作,可尝试在客户端中重新开启系统代理后再关闭,利用客户端的写入逻辑覆盖残留的配置状态。若客户端完全无法启动,则只能通过系统设置或命令行手动恢复。
使用客户端自带的代理恢复功能
部分Clash图形界面客户端提供了“恢复系统代理”或“重置代理”的独立功能按钮,用于在代理配置异常时一键恢复。在Clash Verge Rev的「设置」页面中查找“重置系统代理”或“恢复默认代理设置”选项,点击后客户端会自动清理系统中所有与Clash相关的代理配置残留。该功能比手动操作更全面,会同时清理HTTP代理、SOCKS5代理和PAC脚本等多项配置,是代理残留问题的高效解决方案。
浏览器代理设置的独立恢复
浏览器代理插件覆盖系统设置的清理
部分浏览器通过代理插件(如SwitchyOmega)独立管理代理配置,系统代理恢复后若浏览器仍无法联网,需检查插件设置是否仍指向Clash端口。在SwitchyOmega中,将当前情景模式切换为“系统代理”或“直接连接”,确保浏览器使用与系统一致的代理状态。若插件配置了自动切换规则,检查规则是否包含特定域名的代理例外。暂时禁用插件可快速验证是否为插件层面的问题。
清除浏览器缓存和HSTS设置
代理配置变更后,浏览器缓存的DNS记录和HSTS设置可能导致特定网站持续出现连接错误。在Chrome中进入「设置→隐私与安全→清除浏览数据」,勾选“缓存的图片和文件”和“Cookie及其他站点数据”后执行清除。对于HSTS设置的残留,在Chrome中访问chrome://net-internals/#hsts,在“Delete domain security policies”中输入域名后删除。清除后重新启动浏览器,网络访问恢复正常。
恢复浏览器的默认代理配置
部分浏览器允许通过启动参数或配置文件强制指定代理,需将这些配置恢复为默认状态。检查Chrome快捷方式的目标路径中是否包含--proxy-server=127.0.0.1:7890等启动参数,若有则移除这些参数后重新启动浏览器。检查chrome://settings/system中的“打开代理设置”是否指向系统代理,确保浏览器使用系统代理设置而非独立的代理配置。浏览器层面的清理完成后,网络访问应恢复正常。
局域网共享代理被修改后的恢复
关闭Clash的allow-lan参数
若Clash VPN开启了局域网共享代理功能,系统代理恢复后局域网其他设备可能仍将代理指向本机,需关闭allow-lan参数。在Clash Verge Rev的「设置」中关闭“允许局域网连接”开关,或在config.yaml中将allow-lan设为false并绑定bind-address: 127.0.0.1。关闭后Clash不再监听局域网网络接口,其他设备无法通过本机IP连接到代理端口。若需彻底禁止局域网代理,可在防火墙中添加阻止7890端口入站连接的规则。
清理路由器或网络配置文件中的代理设置
在企业网络或校园网环境中,系统代理可能通过组策略或网络配置文件强制推送,需联系网络管理员解除或自行清理。检查Windows的「设置→网络和Internet→代理」中是否有“自动检测设置”或“使用设置脚本”被启用,若有则关闭这些开关。在macOS中检查网络设置的“代理”标签页中是否有“自动代理配置”被勾选,取消勾选后保存。清理完成后重启网络适配器使配置生效。
为其他设备恢复直连网络
局域网中其他设备代理恢复时,需在其代理设置中移除指向本机的代理地址。在手机端进入WiFi设置,将代理模式从“手动”切换为“无”或“自动”。在其他电脑的系统代理设置中关闭代理开关。若设备通过PAC脚本自动配置代理,需在系统设置中清除或禁用PAC脚本地址。所有设备恢复直连后,局域网内的网络访问不再经过Clash VPN,网络流量恢复正常。
常见问题FAQ
系统代理已关闭但浏览器还是无法上网怎么办?
首先检查浏览器代理插件是否仍指向Clash端口,将插件切换为“系统代理”或“直接连接”模式。其次清除浏览器缓存和DNS缓存(ipconfig /flushdns),避免残留的DNS记录影响连接。若问题持续,重启电脑彻底清理所有网络配置残留,重启后网络通常可恢复正常。
执行netsh winsock reset后网络仍然异常,还能做什么?
执行netsh winsock reset和netsh int ip reset后需重启电脑才能生效,重启后网络堆栈配置才被完全重置。若重启后仍异常,检查设备管理器中是否存在Clash残留的虚拟网卡,将其卸载后再次重启。也可在Windows的网络重置功能(设置→网络和Internet→高级网络设置→网络重置)中执行系统级重置,该操作会清除所有网络适配器和协议栈的配置。
关闭Clash时忘记关系统代理,现在Clash打不开了怎么办?
Clash打不开不影响系统代理的手动恢复,直接在Windows或macOS的系统设置中关闭代理开关即可。若系统设置中代理开关已关闭但浏览器仍指向代理,在命令提示符中执行netsh winhttp reset proxy清除WinHTTP代理残留,并重启浏览器清除缓存。代理恢复后无需启动Clash即可正常上网。
macOS上关闭代理后终端仍走代理,如何清除?
终端中的代理配置通过环境变量(http_proxy、https_proxy)设置,需在终端中执行unset http_proxy https_proxy all_proxy清除当前会话的代理变量。若需永久清除,编辑~/.bash_profile或~/.zshrc文件,删除或注释export http_proxy=...等相关行,保存后重新打开终端生效。终端代理恢复后,curl和git等命令行工具恢复正常直连。
