## 科学上网
参考文章:
[GitHub](https://github.com/shadowsocks/shadowsocks/tree/master)
[centos7 安装及使用shadowsocks客户端](https://blog.csdn.net/lell3538/article/details/50812161)
[centos 7 dnf命令的安装](https://blog.csdn.net/ximingren/article/details/79189179)
[CentOS 7 安装 shadowsocks 客户端](https://brickyang.github.io/2017/01/14/CentOS-7-%E5%AE%89%E8%A3%85-Shadowsocks-%E5%AE%A2%E6%88%B7%E7%AB%AF/)
[CentOS下shadowsocks-libev一键安装脚本](https://teddysun.com/357.html)
首先说明的是,你想要科学上网,需要有一个科学上网服务器才行,也就是ShadowSocks服务器。
现在我们让你的CentOS科学上网
~~~
https://github.com/shadowsocks/shadowsocks/tree/master
~~~
根据README.md一步一步来
~~~
[root@localhost ~]# yum install epel-release
[root@localhost ~]# yum makecache fast
[root@localhost ~]# yum install wget
[root@localhost ~]# yum install libsodium
[root@localhost ~]# yum install autoconf
[root@localhost ~]# yum install gcc
[root@localhost ~]# yum install lrzsz
[root@localhost ~]# yum install git
[root@localhost ~]# yum install python-setuptools && easy_install pip
[root@localhost ~]# pip install git+https://github.com/shadowsocks/shadowsocks.git@master
[root@localhost ~]# vim /etc/shadowsocks.json
~~~
录入以下内容:
~~~
{
"server":"1.1.1.1", #服务器的域名或者ip
"server_port":1035, #服务器的port
"local_address": "127.0.0.1", #本地监听ip
"local_port":1080, #本地监听端口
"password":"password", #服务器端密码
"timeout":300,
"method":"rc4-md5", #服务器加密方案,根据服务器实际填写
"fast_open": false,
"workers": 1
}
~~~
然后执行:
~~~
[root@localhost ~]# sslocal -c /etc/shadowsocks.json
~~~
屏幕显示:
~~~
[root@localhost ~]# sslocal -c /etc/shadowsocks.json
INFO: loading config from /etc/shadowsocks.json
2018-08-14 15:06:25 INFO loading libsodium from libsodium.so.23
2018-08-14 15:06:25 INFO starting local at 127.0.0.1:1080
~~~
可以科学上网了。打开另一个终端,输入:
~~~
[root@localhost ~]# curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
~~~
如果得到如下内容,说明你上网已经很科学了
~~~
{
"origin": "x.x.x.x" #你的 ss 服务器 ip
}
~~~
如果要设置为自动启动的话:
~~~
[root@localhost packages]# echo "nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &" >> /etc/rc.local
~~~
接下来安装Privoxy
Shadowsocks 是一个 socket5 服务,我们需要使用 Privoxy 把流量转到 http/https 上,没有这个,开启了ss客户端也白搭
下载安装文件
~~~
[root@localhost ~]# mkdir packages
[root@localhost ~]# cd packages
[root@localhost packages]# wget http://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20%28stable%29/privoxy-3.0.26-stable-src.tar.gz
[root@localhost packages]# tar zxf privoxy-3.0.26-stable-src.tar.gz
[root@localhost packages]# cd privoxy-3.0.26-stable
~~~
privoxy-3.0.26-stable 是目前最新的稳定版,建议在下载前去 [Privoxy 官网](https://www.privoxy.org/sf-download-mirror/Sources/)下载页检查一下版本。
实测这个文件其实也在墙后面,wget也下载不到,所以需要在你的windows上先把这个文件下载下来,然后再用rz传上你的客户机。
新建用户
Privoxy 强烈不建议使用 root 用户运行,所以我们新建一个用户。
~~~
[root@localhost packages]# useradd privoxy
~~~
~~~
[root@localhost packages]# autoheader && autoconf
[root@localhost packages]# ./configure
[root@localhost packages]# make && make install
~~~
配置privoxy
~~~
[root@localhost packages]# vim /usr/local/etc/privoxy/config
~~~
找到以下两句,确保没有注释掉
~~~
listen-address 127.0.0.1:8118 # 8118 是默认端口,不用改,下面会用到
forward-socks5t / 127.0.0.1:1080 . # 这里的端口写 shadowsocks 的本地端口(注意最后那个 . 不要漏了)
~~~
启动
~~~
[root@localhost packages]# privoxy --user privoxy /usr/local/etc/privoxy/config
~~~
配置 /etc/profile
~~~
[root@localhost packages]# vi /etc/profile
~~~
添加下面两句:
~~~
export http_proxy=http://127.0.0.1:8118 #这里的端口和上面 privoxy 中的保持一致
export https_proxy=http://127.0.0.1:8118
~~~
加载一下
~~~
[root@localhost packages]# source /etc/profile
~~~
测试生效
~~~
[root@localhost packages]# curl www.google.com
~~~
如果看到一堆html,说明科学了
如果不能访问,请重启机器,依次打开 shadowsocks 和 privoxy 再测试。
~~~
[root@localhost packages]# nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &
[root@localhost packages]# privoxy --user privoxy /usr/local/etc/privoxy/config
~~~
如果不需要用代理了,记得把 /etc/profile 里的配置注释掉,不然会一直走代理流量。
给虚拟机拍个快照保存下成果。