首先开篇diss一下国内的网络环境,只要有人写一篇文章出来,然后其他很多人都直接复制一下,就发出去,甚至有的人连这是什么都不知道,也不知道对不对,而真正有用的博客,资料等却被这些垃圾给掩埋了,都说国内环境不行,都这么干能行?一个个都干的叫什么事?都生孩子没那啥的垃圾们。

Ubuntu 16.04 科学上网:

本文中使用到的科学上网工具:ShadowSocks(简称酸酸)

1.安装工具:

sudo apt install pyhton-pip
pip install shadowsocks

当然了,此时你说我apt-get都打不对,那么你可以百度。

2. 建立shadowsocks配置文件

 sudo vim /etc/shadowsocks.json 

如果vim不会用的可以在下面的两种中选择一个

sudo nano /etc/shadowsocks.json 
sudo gedit /etc/shadowsocks.json 

这个文件系统不自带,是要自己创建的,然后在里面按照下面的格式创建配置文件

{
    "server":"服务器的ip",
    "server_port":服务器的端口,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"密码",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}

3.启动shadowssocks

你可以通过sslocal -help来查看它的用法和帮助,具体启动命令如下

sslocal -c /etc/shadowsocks.json 

当然了,到这里还远远没有结束,下面我们还要配置代理。

4.转换HTTP代理

Shadowsocks默认是用Socks5协议的,对于Terminal的get,wget等走Http协议的地方是无能为力的,所以需要转换成Http代理,加强通用性,这里使用的转换方法是基于Polipo的。

输入命令安装Polipo:

sudo apt-get install polipo

修改配置文件 (可以先备份一下,建议养成习惯,修改配置时候先备份一下default):

sudo gedit /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 = false
logFile = "/var/log/polipo/polipo.log"

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

proxyAddress = "0.0.0.0"
proxyPort = 8123

重启Polipo:

/etc/init.d/polipo restart

验证代理是否正常工作:

export http_proxy=”http://127.0.0.1:8123/” 
curl www.google.com

如果正常,就会返回抓取到的Google网页内容。

另外,在浏览器中输入http://127.0.0.1:8123/便可以进入到Polipo的使用说明和配置界面。

5.配置浏览器

在firefox中

preference->advanced->network->connection->settings中选择手动设置代理,并将http代理设置为127.0.0.1 端口8123 (就是之前第二步配置的port)
做到这步应该就能通过shadowsocks访问了,但我遇到的电脑还是不行,后来将http代理下面的“Use this proxy server for all protocols(将代理应用到所有协议)”这个也钩上才可以了。

PS.如果跳过第二步,直接在第三部中配置http代理设置为127.0.0.1 端口1080,有些文章中是这样配置的,但是本人亲测这样无法连接上网。

6.快速启动

那么秉承着懒人改变世界的理念,我们要准备一个sh脚本

我们可以在新建一个/home/username/ss.sh,在里面写上我们启动ss客户端需要的命令,然后保存即可。

#!/bin/bash
#shadow.sh
sslocal -c /etc/shadowsocks.json

看可不可以我们到终端执行命令

sh /home/username/ss.sh

ISSUE:

尚未处理开机启动,后续更新。

参考:

Linux下使用shadowsocks(以ubuntu16.04为例,非服务器) ----CSDN
最后修改:2018 年 08 月 30 日
如果觉得我的文章对你有用,请随意赞赏