PowerShell 使用 Clash 代理
在 PowerShell 中配置代理,可以让命令行工具和脚本通过 Clash 访问网络。在 PowerShell 中配置代理,可以让命令行工具和脚本通过 Clash 访问网络。
🔹 设置本地代理
想自动生成不同 Shell 的代理命令,可以使用:代理配置生成器。
powershell
$Env:HTTP_PROXY = "http://127.0.0.1:7890"
$Env:HTTPS_PROXY = "http://127.0.0.1:7890"建议
默认情况下,Clash 的本地代理端口为 7890。如果你修改了 Clash 的端口设置,请相应调整上述命令中的端口号。
建议优先使用 HTTP 协议。个人经验是命令行工具里 HTTP 代理通常比 SOCKS5 更稳定,兼容性也更好。
当然你也可以使用其他 IP 的代理,比如局域网内另一台机器的代理:
http://192.168.31.233:7890。
powershell
$Env:HTTP_PROXY = "http://192.168.31.233:7890"
$Env:HTTPS_PROXY = "http://192.168.31.233:7890"提示
PowerShell 使用 $Env: 前缀来设置环境变量,这是 PowerShell 特有的语法。PowerShell 使用 $Env: 前缀来设置环境变量,这是 PowerShell 特有的语法。
🔹 验证代理是否生效
如果需要通过局域网内的其他设备(如路由器或服务器)上的 Clash 代理:使用 PowerShell 的 Invoke-WebRequest 命令测试代理:
powershell
Invoke-WebRequest -Uri "https://www.google.com" -Method Head -UseBasicParsing如果返回响应头信息,说明代理配置成功。
🔹 取消代理设置
如需取消代理设置:
powershell
$Env:HTTP_PROXY = $null
$Env:HTTPS_PROXY = $null🔹 注意事项
- ✅ 环境变量在当前 PowerShell 会话中有效
- ✅ 关闭终端后,临时设置会失效
- ✅ 通过
$PROFILE配置可实现持久化 - ⚠️ 确保 Clash 正在运行且代理端口未被占用
- ⚠️ 部分程序可能不支持环境变量代理,需要单独配置