在 Windows 命令行、Linux 终端使用代理

2018/09/19 shadowsocks linux 共 1498 字,约 5 分钟

在之前的博文中分享了如何 使用 Google 云计算引擎搭建 SS 服务器,如何 使用 SS 客户端,已经满足了科学上网的基本需求。这次将要总结在 Windows 的 CMD 窗口和 Linux 的 LX 终端 中,让 wget curl 等命令使用代理需要进行的一些配置。

Windows 命令行代理

假设你已经使用了 SS 客户端,本地 socks5 代理为 127.0.0.1:1080

在 CMD 窗口输入如下指令设置代理:

set http_proxy=socks5://127.0.0.1:1080
set https_proxy=socks5://127.0.0.1:1080
set ftp_proxy=socks5://127.0.0.1:1080

测试 curl https://www.facebook.com 能得到返回结果。

取消代理命令:

set http_proxy=
set https_proxy=
set ftp_proxy=

设置代理后只对当前命令行窗口生效,重新打开 CDM 需要再次设置。

Linux LX 终端代理

由于 Linux 下 SS 客户端仅代理 socks5 协议的流量(如果不是这个原因恳请指正)。所以想在 LX 终端使用代理,需要在 SS 的 socks5 流量前再接一个代理,允许 http、https、ftp 协议流量通过。

我们也假定本地 socks5 代理为 127.0.0.1:1080

安装 polipo

Debian 下直接使用 apt 命令安装:

sudo apt update
sudo apt install polipo

编辑配置文件:

sudo nano /etc/polipo/config

配置内容如下

# This file only needs to list configuration variables that deviate
# from the default values.  See /usr/share/doc/polipo/examples/config.sample
# and "polipo -v" for variables you can tweak and further information.

logSyslog = true
logFile = /var/log/polipo/polipo.log

proxyAddress = "0.0.0.0"

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

dnsQueryIPv6 = no

CTRL+XY 保存退出。

重启 polipo 服务:

sudo service polipo restart

启用代理

通过 service polipo status 命令,我们可以看到新的监听端口为8123

因此,LX 终端启用代理的命令为:

export http_proxy=http://127.0.0.1:8123
export https_proxy=http://127.0.0.1:8123
export ftp_proxy=http://127.0.0.1:8123

同样,直接输入上述命令设置的代理也是临时的。一个比较实用的方法是在~/.bashrc 文件中设置环境,之后就不需要再手动设置了。

sudo nano ~/.bashrc

在文件最后插入上述三条指令,保存。

测试 wget 指令:

小结

我对 CMD/LX 终端设置代理的出发点,是为了使用 Google 的一个 API,设置后确实能够成功使用。另外似乎对 pip 等指令也有效果,安装 python 模块时的下载速度有比较明显的提升。不过说到底只是在总结如何使用别人做好的工具,很多原理还是没有明白,如果文中有何纰漏,恳请指正。

感谢你阅读文章!

文档信息

Search

    Table of Contents