本篇文章主要介绍Ubuntu下面如何使用ShadowSocks来进行科学上网。

作为一个程序员,翻墙可谓是手到擒来,自己租个服务器,当然也有免费的服务器可以用,可能网速稍差。然后再搭个PPTP或者SS,接着就可以看看外面的世界了,刷刷Twitter、FB,看看Youtube,当然更重要的是获取外面的源码。

Windows下的翻墙就不必赘述了,各种VPN软件很放方便。但是Linux下如果不会的话还要折腾一番。今天就来教大家Ubuntu下怎么使用SS翻墙,主要是因为我用的是SS没有用VPN,所以VPN的使用就由大家自己去研究了。

安装SS

  1. 首先需要保证你的网络是畅通的,然后更新软件源,用下面的命令
    sudo apt-get update
  2. 然后安装python-pip
    sudo apt-get install python-pip
  3. 安装SS
    sudo pip install shadowsocks
  4. 配置SS
    sudo vim /etc/shadowsocks.json
    输入以下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     {
    "server": "你的服务器ip",
    "server_port": 你的服务器端口,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "你的SS密码",
    "method": "aes-256-cfb",
    "fast_open": true,
    "timeout":300
    }
  5. 启动SS
    sudo sslocal -c /etc/shadowsocks.json

上述命令执行后,此终端是不能关闭的,否则SS会被关闭,所以第6步的操作就是实现开机自启,这样SS就会在后台运行了,不会影响我们做其他事情。如果不想重启后再安装privoxy,那就执行CTRL+ALT+T开一个新的终端继续下面的操作,同时这个运行SS的终端可以看到网络连接的输出信息。

  1. 开机自动启动SS
    将上面的代码加入到/etc/rc.local文件中的exit 0这句代码之前。

以上就是SS的搭建了,这个时候我们发现上网时并不可以翻墙,原因是需要将sock5代理映射为http代理。代理的软件很多,我选择了推荐度比较高的privoxy,下面是privoxy的配置。

安装privoxy

  1. 安装privoxy
    sudo apt-get install privoxy
  2. 配置privoxy
    打开/etc/privoxy/config
    找到其中的4.1节,看一下有没有一句listen-address localhost:8118的代码,如果被注释了,取消注释。因为版本不一样这句的状态可能会不一样。
    4.1节
    4.1节
    接着找到5.2节,在本节末尾加入下面代码
    forward-socks5 / 127.0.0.1:1080 .
    5.2节
    5.2节
  3. 重启privoxy服务
    sudo /etc/init.d/privoxy restart
  4. 开机自启privoxy服务
    sudo /etc/init.d/privoxy start代码加入到/etc/rc.local文件中的exit 0这句代码之前。

配置后的rc.local如下

rc.local
rc.local

以上就是privoxy的配置了,接着需要配置终端和Firefox浏览器的代理。

代理配置

  1. 终端代理
    将以下代码追加到/etc/profile中或者~/.bashrc
    1
    2
    3
    export http_proxy="127.0.0.1:8118"
    export https_proxy="127.0.0.1:8118"
    export ftp_proxy="127.0.0.1:8118"

接着执行source /etc/profile或者source ~/.bashrc,这样就完成了终端翻墙的配置,执行wget google.com测试一下。

测试
测试

此处连接失败可能有多种情况

  1. SS配置文件有误,请确认
  2. SS未启动,请手动启动或者加到rc.local里开机自启后重启电脑
  3. privoxy配置有误,请参照教程确认一下
  4. privoxy端口冲突(猜测),将privoxy配置章节中的8118端口改为其他端口号
  5. privoxy未启动,请执行sudo /etc/init.d/privoxy restart
  6. 环境变量设置有误,确认/etc/profile~/.bashrc文件,当猜测为端口冲突的情况下,此处环境变量内的端口值也要改为第4种情况中修改后的端口,同时别忘了执行source命令
  1. Firefox浏览器的配置,打开设置->高级->网络->连接,配置如下
    Firefox配置
    Firefox配置
    注意需要将那个勾打上哦~
    测试一下Twitter
    Twitter喜欢的可以关注哦~
    Twitter喜欢的可以关注哦~

经过以上的配置以后,我们就可以愉快的看外面的世界了,至于可以访问的网页就需要看你的SS设置的规则了。可能是我之前用server版的Linux用多了,代理就想着往文件里面加 0.0。当我用Chrome的时候,提示我它的代理用的就是系统代理,我才想起来还有个系统代理。如果想全部使用代理的话,系统代理就这样配置。系统设置->网络

系统代理
系统代理

当不想使用全局代理的时候将Manual选为None就好了。

好了,以上就是Ubuntu下的SS配置了,感兴趣的朋友可以关注一下呦~