V2Ray代理教程:一步步教你在Windows cmd和PowerShell中配置代理

简介

在Windows系统中,有时需要通过代理服务器来优化命令行工具的网络访问,例如在CMD和PowerShell环境下,合理配置代理可以帮助命令行程序顺畅地连接外部资源。本文将围绕V2Ray代理教程这一主题,详细介绍如何在Windows cmd和PowerShell中配置V2Ray代理端口,帮助你实现命令行环境下的代理访问设置。

 

Windows V2Ray代理基础介绍

Windows V2Ray代理是指通过配置环境变量或系统代理,让CMD等命令行工具通过本地V2Ray代理端口(通常是127.0.0.1:10808)访问网络。V2Ray代理支持HTTP和SOCKS5协议,正确配置后可以优化网络访问路径。

- v2raycmdpowershell01

如何在Windows CMD中临时设置V2Ray代理

要在当前CMD窗口临时生效,可在cmd命令行里执行以下命令。设置只影响当前窗口,关闭后失效。

set http_proxy=http://127.0.0.1:10808
set https_proxy=http://127.0.0.1:10808
set all_proxy=socks5://127.0.0.1:10808

 

Windows CMD永久生效的V2Ray代理配置

如果希望所有新开的CMD窗口都自动使用V2Ray代理,需要将代理变量写入系统环境变量。打开控制面板 → 系统→ 高级系统设置 → 环境变量

- v2raycmdpowershell02

在用户变量或系统变量中新建以下变量,重新打开CMD窗口即可自动生效,如上图

变量名 变量值
http_proxy http://127.0.0.1:10808
https_proxy http://127.0.0.1:10808
all_proxy socks5://127.0.0.1:10808

设置好之后,我们打开cmd后,输入下面命令看环境变量是否被应用

echo %http_proxy%

- v2raycmdpowershell03

 

PowerShell V2Ray代理配置方法

PowerShell访问环境变量的语法不同于CMD,临时设置代理需要在PowerShell窗口执行:

$env:http_proxy = "http://127.0.0.1:10808"
$env:https_proxy = "http://127.0.0.1:10808"
$env:all_proxy = "socks5://127.0.0.1:10808"

关闭PowerShell窗口后,这些设置失效。如果需要永久生效,那么它是依赖系统环境变量配置,和上面设置CMD的变量共用。PowerShell 正确查看环境变量的方法是:

echo $env:http_proxy

 

为什么ping命令不走V2Ray代理?

ping命令基于ICMP协议,而V2Ray代理只支持TCP和UDP协议流量转发,因此无法通过V2Ray代理访问。ping命令不受环境变量影响,这是网络协议的限制。

 

如何测试V2Ray代理是否配置成功?

在CMD中

curl https://ipinfo.io

在PowerShell中

curl.exe https://ipinfo.io

或

Invoke-WebRequest https://ipinfo.io -UseBasicParsing

返回的IP地址显示为代理服务器的IP,则代理配置成功

 

如何取消V2Ray代理设置?

  • 临时取消:

在CMD中执行

set http_proxy=
set https_proxy=
set all_proxy=

在PowerShell中执行

Remove-Item Env:http_proxy
Remove-Item Env:https_proxy
Remove-Item Env:all_proxy
  • 永久取消:

删除前面在系统环境变量中新建的代理变量,重启电脑后生效。

一键启动代理 CMD 或 PowerShell

CMD 批处理脚本,新建文本,保存文件名为: proxy-cmd.cmd

@echo off
set http_proxy=http://127.0.0.1:10808
set https_proxy=http://127.0.0.1:10808
set all_proxy=socks5://127.0.0.1:10808
cmd

PowerShell 脚本,新建文本,保存文件名为:proxy-ps.ps1

$env:http_proxy="http://127.0.0.1:10808"
$env:https_proxy="http://127.0.0.1:10808"
$env:all_proxy="socks5://127.0.0.1:10808"
powershell
THE END