cmd/Git/Git bash/Linux命令行使用代理

更推荐使用Clash for Windows,然后使用TUN模式接管所有流量。

update: 2022-02-17

V2ray下命令行使用代理

验证方式

ping可以验证吗

ping的协议不是https,也不是https,是ICMP协议,所以,不能单纯用ping通来判断可以进行http访问。

curl验证

curl -vv http://www.google.com,用这条命令来验证,如果返回如下结果表示代理设置成功。

powershell下好像无法使用这个命令,可以直接尝试curl www.google.com

image-20200826185355205

各类终端具体设置方法

具体是socks还是http要看你的代理客户端

Git

# http
git config --global http.proxy 'http://127.0.0.1:10808'
git config --global https.proxy 'http://127.0.0.1:10808'

#socks
git config --global http.proxy 'socks5://127.0.0.1:10808'
git config --global https.proxy 'socks5://127.0.0.1:10808'

#取消设置
git config --global --unset http.proxy
git config --global --unset https.proxy

cmd

# http
set http_proxy=http://127.0.0.1:10808
set https_proxy=http://127.0.0.1:10808

#socks
set http_proxy=socks5://127.0.0.1:10808
set https_proxy=socks5://127.0.0.1:10808

# 恢复
set http_proxy=
set https_proxy=

Linux Terminal或Git bash

#Linux下命令为export
# http
export http_proxy=http://127.0.0.1:10808
export https_proxy=http://127.0.0.1:10808

#socks
export http_proxy=socks5://127.0.0.1:10808
export https_proxy=socks5://127.0.0.1:10808

# 恢复
export http_proxy=
export https_proxy=

PowerShell

我在Windows上使用的一个客户端,这个好像不需要设置。

# 验证
curl google.com
# 显示200的话,基本上是可的

并不推荐这个时候使用powershell,其他情况下powershell表现还是很不错的。

SSH

修改 ~/.ssh/config 文件(不存在则新建):

# 必须是 github.com
Host github.com
HostName github.com
User git
# 走 HTTP 代理
# ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8080
# 走 socks5 代理(如 Shadowsocks)
# ProxyCommand nc -v -x 127.0.0.1:1080 %h %p

对于Windows用户,要使用socks5代理却没有 nc 的,可以将
ProxyCommand nc -v -x 127.0.0.1:1080 %h %p
换成
ProxyCommand connect -S 127.0.0.1:1080 %h %p

参考链接:

macOS 给 Git(Github) 设置代理(HTTP/SSH)

给 Windows 的终端配置代理

网易DNS检测工具