## 科學上網
參考文章:
[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 里的配置注釋掉,不然會一直走代理流量。
給虛擬機拍個快照保存下成果。