代理服务

墙在,就不会缺少造梯子的人。

背景

代理服务一般用来隐藏来源IP、访问限制资源等作用。 代理的技术方式也多种多样,从最早的VPN(PPTP/L2TP等),到后面的SOCKS以及HTTP/HTTPS Proxy等。 G-F-W也相应的做出了一些检测与拦截,首当其中的就是VPN(PPTP/L2TP),IKEv2稍微好一点,但目前支持的服务商较少。所以@clowwindy妹子开发并开源了一款基于SOCKS协议的Shadowsocks,通过加密流量来防止被检测与被拦截,很遗憾被请去喝茶了,该项目的开发也终止了。

Shadowsocks作为一款工具或协议,还是可以继续使用的,它依赖的还是你的代理服务器。

安装

客户端(一般用户看这里)

首先下载原版Shadowsocks客户端,由于官网也被墙了,可以到使用我的备用地址。

下载后,简单配置下就可以使用了。

打开Shadowsocks后,找到服务器配置。 配置 填写你的代理服务器IP、端口、加密方式、密码以及备注即可。 配置

命令行(开发同学要用到的)

由于Shadowsocks是基于SOCKS的,但我们在命令行下的操作都是HTTP/HTTPS。 所以我们需要将SOCKS转成HTTP/HTTPS后在命令行使用。

Linux

# CentOS下安装
sudo yum install polipo

# Ubuntu下安装
sudo apt-get install polipo

# 打开Polipo的配置文件
sudo vim /etc/polipo/config

# 增加两行
socksParentProxy = "localhost:1080"  
socksProxyType = socks5  
# 这行加不加取决于你是否需要在手机上使用
proxyAddress = "0.0.0.0"

# 重启下
/etc/init.d/polipo restart
sudo service polipo stop  
sudo service polipo start  

Mac

# Mac下安装
brew install polipo

# 开机启动
ln -sfv /usr/local/Cellar/polipo/1.1.1/*.plist ~/Library/LaunchAgents

# 修改配置
vim /usr/local/opt/polipo/homebrew.mxcl.polipo.plist

<array>  
<string>/usr/local/opt/polipo/bin/polipo</string>  
# 增加一行
<string>socksParentProxy=localhost:1080</string>  
# 这行加不加取决于是否需要在手机上使用
<string>proxyAddress=0.0.0.0</string>  
</array>

# 启动下
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.polipo.plist  

接下就可以在命令行中使用代理了,当然你也可以设置成alias,或者直接写到bashrc中。

# 不使用时
$ curl ip.gs
当前 IP:1.1.1.1 来自:中国浙江杭州 电信

# 使用HTTP代理
$ http_proxy=http://localhost:8123 curl ip.gs
当前 IP:8.8.8.8 来自:中国香港

# 同时使用HTTP和HTTPS代理
$ http_proxy=http://localhost:8123 https_proxy=http://localhost:8123 brew update

手机上

先看看自己电脑的IP是多少 找到网络配置 找到本机IP

打开手机的设置(手机必须和电脑在一个网络下) 点开网络设置 IP就填写你电脑的IP,端口固定填写8123
配置

至此你就完成了安装,告别了yum/pip/brew操作时的等待时间了。

大部分同学肯定感觉还是很麻烦,等我写完自动化Chrome Extension,到时候开源到我的Github上,欢迎Follow。

上网速度取决于你的代理服务器的带宽和你电脑自身的网络带宽以及目标网站的带宽。

电脑自身的带宽和目标网站的带宽你都无法改变,你能做的只是提高代理服务器的带宽。

所以在这里不建议去自己搭建代理服务器,时间成本、稳定性、速度上都比不过专业的运营商。

未完待续...