首先开篇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