如何利用shadowsocks配置系统代理

1. 配置AWS服务器

如果没有搭建远端shadowsocks服务器的需求,可以跳过这一步。

  • 申请AWS账号

    登陆AWS官方网站https://aws.amazon.com/cn/,并注册账号,需要填写邮箱号,信用卡信息和手机号码,注册时都会进行验证,信用卡会通过预扣费1美元验证,手机号码通过电话输入屏幕显示的即时数字验证。

    现在新注册的用户,需要24小时才能完全激活。

  • 开通EC2实例,不具体展开,但需要注意几个问题:

    1)选择标有“符合条件的免费套餐”的系统映像(AMI),最好选择红框中的选项,其它的有时不能上GoogleScholar

    ec2_ami

    2)建议选择新加坡地区,延迟较小。

    3)启动EC2实例后,一定要修改安全策略,按照下图中的安全组策略配置出站和入站策略,允许全部来源的全部端口,否则无法接入。

    ec2_security.jpg

  • 利用MobaXterm或者其它终端访问软件连接用户,需要配置远程ip地址(通过在aws管理页面查看已启动的EC2实例获取)、username(固定写ec2-user)、端口(22),以及private key(在启动EC2的时候会要求下载)

    moba_config.jpg

  • 配置远端ShadowSocks服务器

    1)安装shadowsocks,在命令行中依次输入:

    1
    2
    3
    4
    5
    sudo yum install python-gevent python-pip

    sudo pip install shadowsocks

    sudo vi ~/config.json

    注:config.json可以实现编写好,然后上传到远程ec2主机,放在任何位置都可以,只要在引用的时候找得到,最好放在用户的home目录下,这样命令短一些。

    填入配置信息:

    1
    2
    3
    4
    5
    6
    7
    8
    { 
    "server":"xx.xx.xx.xx", //填写私有IP
    "server_port":8388,
    "local_port":10808,
    "password":"bgt56yhn",
    "timeout":600,
    "method":"aes-256-cfb"
    }

    如果需要配置多个端口,则按照下面的格式:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    {
    "server":"xx.xx.xx.xx", //填写私有IP
    "local_port":1080,
    "port_password": {
    "8381": "aaa",
    "8382": "aaa",
    "8383": "aaa",
    },
    "timeout":600,
    "method":"aes-256-cfb"
    }

    注意:上面的server属性,需要配置为私有IP,同样在aws页面的ec2 Dashboard下可以查到:

    ec2_ip

    密码和端口自行设置,加密算法注意要与本地ShadowSocks客户端统一。

    2)增加开机启动(没有必要,因为远程服务器EC2重启轻易不会关机):

    1
    sudo vim /etc/rc.local

    在结尾增加这句话就可以开机启动了:

    1
    /usr/local/bin/ssserver -c ~/config.json

    3)在命令行中启动后台Shadowsocks(不随命令行关闭而结束):

    1
    nohup ssserver -c ~/config.json &

2. 配置本地ShadowSocks客户端

  • 下载ShadowSocks

    Shadowsocks-4.0.1.zip

  • 配置ShadowSocks

    下载后,打开ShadowSocks客户端,配置远端服务器信息。

    编辑ShadowSocks客户端中的远端服务器信息

  • 启用ShadowSocks客户端

    启动ShadowSocks客户端

    正确启动ShadowSocks客户端以后,就打开了一个本地的代理端口1723,本地应用如果需要使用这个代理,还需要进行一定的配置。除了Chrome以外,其它很多程序也可以配置代理,我们主要讲解Chrome的代理配置。

3. 配置Chrome代理

  • 配置Chrome系统代理

    在Chrome设置中找到系统代理设置

    chrome_system_proxy

    这个Chrome的代理设置实际上和IE浏览器的代理设置是共享的,设置方法也一样。

    依次点击“连接”——“局域网设置”,按照下图配置代理服务器

    chrome_system_proxy2

    配置好以后,Chrome就可以通过代理上网了

  • 配置Chrome自动代理

    配置好Chrome系统代理后,Chrome所有的访问都将通过代理服务器,一方面增加服务器的压力,占用带宽和流量,另一方面,很多国内的站点,还通过代理服务器访问,会影响上网速度。

    下面我们通过Proxy SwitchyOmega这个Chrome扩展程序,配置Chrome自动切换代理功能。

    1. 下载Proxy SwitchyOmega。

      这一步不做展开,但最便捷的方式是通过Chrome网上应用店搜索下载,这个操作本身就需要使用代理上网。

    2. 配置Proxy SwichyOmega。

      首先,新建一个通过代理上网的情景模式。

      set_omega.jpg

      然后,配置auto switch情景模式。

      • 在规则列表中,输入规则列表网址,并点击“立即更新情景模式”,SwitchyOmega会自动下载规则列表,并在下方显示更新。
      1
      https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
      • 选择AutoProxy

      全部配置好以后,如下图所示。

      set_auto_proxy.jpg

      记得配置完成后要点击左下方的“应用选项”,使修改生效。

    3. 应用auto switch情景模式

      use_autoswitch.jpg