0%

程序员必备的翻墙姿势

前言

此篇文章,主要讲解Shadowdsocks的使用和配置。以及与VPN的对比。
注意:此文章部分链接需要翻墙才能打开。

为什么要翻墙

  • 以下是15年某篇文章的标题:全球前30大英文网站中这16个天朝不能正常访问,配图请看:

  • 你可以尝试打开一下网站:
    GoogleFaceBookYoutubeWikipediaTwitterDropbox

  • 查看一些国外的技术网站:stackoverflowgithub(翻墙之后会更流畅!)

  • 程序员需要一个自由的互联网

翻墙的几种手段

这里介绍不介绍,修改Hosts蓝灯GoAgentTor等方式,关于这些翻墙方式可以看一下这篇文章:如何选择翻墙方式

VPN

VPN 其实就是把你整个网关出口跟远端服务器之间建立一个隧道,你的所有的出口数据都会经过VPN服务器进行转发。

优点:

  • 全局代理,配置简单。

缺点:

  • 缺点也很明显,无差别代理,访问国内网站,相当于先跳转到国外,再访问国内网站,速度可想而知。网上可以找到各种免费的VPN代理,也有收费。这里推荐GreenVPN,注册之后可以有免费的VPN用,也可以付费。(PS,网上各种假冒网站,注意甄别!)

具体如何使用,这里就不过多介绍了,

总结:VPN 适合需要系统全局翻墙,并且是按需使用的方式。

Shadowdsocks

有关Shadowdsocks的介绍,可以详细的看一下这篇文章:whats-shadowsocks

Shadowsocks 的优劣:
优势:

  • 安全。所有数据流量全部经过加密,加密算法可选并支持自定义算法。另外,远程 DNS 解析也使得本地的 ISP 无法通过 DNS 查询获取你所访问的网站。
  • 速度相对较快。由于其隐蔽性,只会有很少的数据包会被 GFW 丢弃,从而保证了连接速度。
  • 客户端配置简单。配置时只需要填写 IP /域名端口号密码,然后选择加密方式即可。
  • 智能切换。 传统的 VPN 方式,在切换网络时非常不方便, 比如连上国外的 VPN 之后会发现访问国内的网站速度严重下降。 ShadowSocks 支持 PAC 列表,根据 PAC 中的规则,有针对性地选用恰当的网络访问方式,兼顾了访问速度与访问效率。移动客户端还支持针对不同应用设置单独代理。
  • 代码开源。不像某些蜜罐式的翻墙工具,开源的代码保证了无后门,从而为上网的隐私性与安全性提供保障。
  • 跨平台。支持主流系统包括 WindowsLinuxMacAndroid, IOS,都有对应的客户端支持。

关于它优势的一面可以看一下这篇文章:翻墙软件的选择和安全系数

劣势

  • 技术成本。若自己搭建 ShadowSocks 服务,需要一定的技术成本。因为大部分服务端是基于运行 LinuxVPS(虚拟主机)搭建,因此需要学会使用 putty 等远程管理工具的使用方法,并掌握一定的Linux基本命令行操作。
  • 金钱成本。租用国外的服务器,需要价格不菲的费用。 若使用免费 ShadowSocks 账号,可能有一定的安全成本。有一些人会将自己的 ShadowSocks 节点免费分享出来,这些人是非常值得肯定和称赞的!但是其中有一小部分人别有居心,例如在 ShadowSocks 的服务器端监听网络流量,进行中间人攻击等,这类钓鱼服务器会严重损害用户的个人信息安全。 若购买收费的 ShadowSocks 账号, 需要一定的金钱成本 由于很多 ShadowSocks 卖家都是以盈利为目的,需要花费一定的费用。 那么,自己想要有一个影梭账号的话,到底是选用哪种比较好呢?可以看到网上很多卖 ShadowSocks 账号的,有的价格很便宜,比自己搭服务器划算多了,是不是直接购买一个账号比较好呢? 在这里我建议大家自己搭服务器

上面介绍的优势,就是我推荐大家使用的理由,而劣势就是写文章的缘由。

关于VPN

虽然Shadowdsocks很好用,但是有的时候,总会碰到一个先有鸡还是有蛋的情况,你要配置Shadowdsocks,但是需要先翻墙,所以为了避免这种情况,最好还有备一个VPN还是有必要的。

使用和配置Shadowdsocks客户端

客户端下载

  • Windows(GitHub)

  • Mac(GitHub)

  • 由于iOS系统安全性,需要越狱才能安装Shadowdsocks,如果你已经越狱,你可以自行编译安装,源码

  • iOS不越狱客户端推荐(以下软件使用了iOS9系统的新特性,也就是话说仅支持iOS9+

    • Surge:强烈推荐,虽然价格偏高,但是使用体验最好
    • Shadowrocket:价格便宜,买不起上面的,就买这个吧
    • potatso:价格比上面贵一些,但是代码开源,有能力的可以自己编译安装。
  • Android(Google Play)

客户端使用

这里只介绍MAC系统使用,如果已经有了Shadowsocks帐号:

  1. 服务器设定 -> IP端口加密密码,一一对应填写。

  2. 测试服务器是否配置成功:

    • 勾选配置好的服务器,选择全局模式,然后打开Google,如果可以就进行下一步。
    • 如果打不开,检查填写有误,检查是否使用了默认的443端口,是否开启了其它代理。
  3. 更新 PAC

  4. 测试 PAC 是否生效,选择自动模式代理,再次打开Google,如果可以打开,说明配置成功。


配置Shadowdsocks服务器

这里只介绍,购买VPS服务器,来搭建Shadowdsocks服务端。不讨论购买现成的帐号。

服务器选择一:搬瓦工bandwagonhost

关键字:价格低一键配置支付宝

价格:$2.99/月,也会有$3.99一年的特价机器。

篇幅有限,具体配置见:搬瓦工搭建Shadowsocks服务器详细图文教程

服务器购买注意:买价格最便宜的就可以了,优先:洛杉矶佛罗里达(也可以随时切换)。

服务器选择二:Vultr

关键字:本人使用配置高,可做服务器速度快

价格:$5/月

服务器购买注意:必须选择日本VPS!!

篇幅有限,具体配置可以参考:Vultr 搭建安装 Shadowsocks

注意:由于Vultr没有一键配置选项,所以需要手动配置,但是网上已经有人给出一键安装的脚本:Shadowsocks Python版一键安装脚本

小广告一下:如果选择了Vultr可以使用我这个链接,大家都会得到$20美元:http://www.vultr.com/?ref=6936225-3B

总结与注意:

要想简单便宜,可以选择搬瓦工,但我自己贴身体会来讲,虽然刷网页虽然够了,但是看视频下载文件,还是有些慢,这个时候你可以选择Vultr

Shadowdsocks配合其它软件使用

shadowsocks代理属于socks5代理,通俗的理解,socks5只是局部代理,不能像vpn那样把整个电脑都代理。因此,一般情况下只有支持socks5的软件才能使用shadowsocks代理。当然我们也可以借助其它软件来实现,具体见下面介绍:

Dropbox配置代理

设置->网络->手动->:

配置见图,即可走本地Shadowdsocks代理

存在的问题:Dropbox 安装之后,第一次启动是不走代理的,需要全局代理也不行。不清楚是什么原因,我是使用VPN第一次启动的。

使用proxifier代理指定程序

具体参见:Proxifier:给某个单独应用配置代理上网服务

终端走代理的方法

# 在终端下使用 
export ALL_PROXY=socks5://127.0.0.1:1080
# 清除代理
unset ALL_PROXY

为了测试是否成功可以curl -i http://ip.cn 查看ip

以上命令只对本窗口生效,为了方便呢,可以在~/.bash_profile中加上这个。(如果没有bash_profile文件自行创建)

function setproxy() {
# export {HTTP,HTTPS,FTP}_PROXY="http://127.0.0.1:3128" 也可以设置http代理
export ALL_PROXY=socks5://127.0.0.1:1080
}

function unsetproxy() {
# unset {HTTP,HTTPS,FTP}_PROXY
unset ALL_PROXY
}

需要使用代理的时候setproxy,不用了就unsetproxy
就可以很方便的在shell环境下切换设置代理了。

ProxyChains-NG终端下代理

具体参加:Mac下安装及配置 ProxyChains-NG 实现终端下代理

如果安装成功之后,不能使用代理的话,需要关闭 SIP,具体见: 解决os x el capitan proxychains 不能用 (关闭SIP)

路由器上使用Shadowdsocks代理局域网

每个路由器都不太一样,自行谷歌吧。

Shadowdsocks 进阶

Shadowdsocks加速的几种方案

方案一:国内服务器安装Haproxy代理Shadowsocks实现加速
方案三:使用锐速加速
方案四:FilnalSpeed加速方案
具体使用,自行谷歌。

Shadowdsocks多用户配置

搬瓦工VPS shadowsocks多用户端口配置