1、更新yum  这里可能更新时间有点长,,稳住~别急
yum -y upgrade
2、安装 epel-release 这个必须先安装,因为: python-pip 和 privoxy 都在EPEL源里面,,有的小伙伴可能已经换了国内的源,所以请先检查安装这两个包,以防不测(万一你换的源里没有呢()^_^)
yum install -y epel-release
3、安装 python-pip
yum install -y python-pip

#安装完成后需要更新一下

pip install --upgrade pip
4、安装 shadowsocks 、安装
#install ss
pip install shadowsocks
#install privoxy
yum install -y privoxy
5、配置 shadowsocks
vim /etc/shadowsocks.json
添加以下内容
{
    "server": "156.12.22.29",
    "server_port": "55555",
    "local_address": "127.0.0.1",
    "local_port": "6666",
    "password": "service_password",
    "method": "aes-256-cfb",
    "timeout": "300",
    "workers": "1"
}

每个字段解释

  server :: shadowsocks服务器的ip
  server_port :: shadowsocks服务器端口
  local_address :: 本机监听地址,不需要修改
  local_port :: 本机监听端口,不要和正在使用的端口冲突
  password :: shadowsocks服务器密码
  method :: shadowsocks服务器的加密方式
 
6、配置 privoxy
vim /etc/privoxy/config
# 确认下面这一行没有被注释掉 listen-address 127.0.0.1:8118 ## 默认端口是8118,不需要修改
# 新增一行 forward-socks5t / 127.0.0.1:6666 .
## 端口必须与 /etc/shadowsocks.json 中 local_port 字段的值相同,
## 注意:行尾有一个英文句号(.)
7、启动 shadowsocks+ 测试
# 以 daemon 模式启动
[root@centos-linux ~]# sslocal -c /etc/shadowsocks.json -d start
INFO: loading config from /etc/shadowsocks.json
2019-02-26 23:30:12 INFO loading libcrypto from libcrypto.so.10
started
# 确认 sslocal 已监听在预设端口 lsof -i | grep sslocal
[root@centos-linux ~]# lsof -i | grep sslocal
sslocal 24367 root 4u IPv4 53001198 0t0 TCP localhost:ircu-2 (LISTEN)
sslocal 24367 root 5u IPv4 53001199 0t0 UDP localhost:ircu-2
[root@centos-linux ~]# curl --socks5 127.0.0.1:6666 http://httpbin.org/ip
{
"origin": "156.12.22.29, 156.12.22.29" # 注意 :: 必须与 /etc/shadowsocks.json 中 server 字段的值相同
}
 
8、启动 privoxy +测试
systemctl start privoxy
[root@centos-linux ~]# curl --proxy https://127.0.0.1:8118 -Is https://google.com | grep -w 200
HTTP/1.1 200 Connection established
9、设置开机启动
sh -c 'echo "sudo /usr/bin/sslocal -c /etc/shadowsocks.json -d start" >> /etc/rc.d/rc.local' # 如果 rc.local 没有可执行权限就给它加上
systemctl enable privoxy
10、测试是否能***

#启用代理
export http_proxy='127.0.0.1:8118'
export https_proxy='127.0.0.1:8118'

# 停用代理
export http_proxy=''
export https_proxy=''
curl -I https://golang.org/
#执行命令后出现如下信息,说明成功
[root@centos-linux ~]# curl -I https://golang.org/
HTTP/1.1 200 Connection established

HTTP/1.1 200 OK
Date: Tue, 26 Feb 2019 15:41:47 GMT
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Via: 1.1 google
Transfer-Encoding: chunked
Alt-Svc: quic=":443"; ma=2592000; v="44,43,39"
 
11、为了更方便使用,启动和停用写成一个shell脚本
#创建文件 /etc/profile.d/vm-proxy.sh,文件内容如下
[root@centos-linux ~]# cat /etc/profile.d/vm-proxy.sh
function cmd-proxy-on {
export no_proxy="127.0.0.1,localhost,localaddress,.localdomain.com,tencentyun.com";
export http_proxy='127.0.0.1:8118';
export https_proxy=$http_proxy;
echo 'HTTP proxy started.'
}
export -f cmd-proxy-on

# 第二种声明函数的方式
cmd-proxy-off() {
unset http_proxy;
unset https_proxy;
echo 'HTTP proxy stopped.'
}
export -f cmd-proxy-off
#source 脚本
chmod +x /etc/profile.d/vm-proxy.sh
source /etc/profile.d/vm-proxy.sh
 
最后测试脚本
[root@centos-linux ~]# vim /etc/profile.d/vm-proxy.sh
[root@centos-linux ~]# chmod +x /etc/profile.d/vm-proxy.sh
[root@centos-linux ~]# source /etc/profile.d/vm-proxy.sh
[root@centos-linux ~]# cmd-proxy-on
HTTP proxy started.
[root@centos-linux ~]# curl -I https://golang.org/
HTTP/1.1 200 Connection established

HTTP/1.1 200 OK
Date: Tue, 26 Feb 2019 15:47:18 GMT
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Via: 1.1 google
Transfer-Encoding: chunked
Alt-Svc: quic=":443"; ma=2592000; v="44,43,39"

[root@centos-linux ~]# cmd-proxy-off
HTTP proxy stopped.
[root@centos-linux ~]# curl -I https://golang.org/

curl: (7) Failed connect to golang.org:443; 拒绝连接

centos7 使用ss和Privoxy 实现命令行访问google的更多相关文章

  1. 使用 grpcurl 通过命令行访问 gRPC 服务

    原文链接: 使用 grpcurl 通过命令行访问 gRPC 服务 一般情况下测试 gRPC 服务,都是通过客户端来直接请求服务端.如果客户端还没准备好的话,也可以使用 BloomRPC 这样的 GUI ...

  2. Centos7修改默认启动级别(命令行,图形切换)

    方法一: 终端输入以下命令 修改为命令行方式 systemctl set-default multi-user.target 修改为图形界面 systemctl set-default graphic ...

  3. centos7更改为启动桌面或命令行模式

    进入cenos7的命令行模式 终端输入“init 3”回车进入命令行模式 登录成功后 # systemctl get-default //获取当前系统启动模式 查看配置文件 # cat /etc/in ...

  4. Linux命令行访问网页

    找到个好资料,备份行: http://hi.baidu.com/oyvfhp/blog/item/3aa5ced5b40563d351da4bb0.html   CURL --- 命令行浏览器 这东西 ...

  5. Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件

    一.安装,从官网上下载安装,安装基本一直点击下一步就行.注意:node.js基于Python的,安装node.js之前电脑上要安装Python,最好是Python2.7或2.6. 二.cmd进入命令行 ...

  6. 强悍的 ubuntu —— 命令行访问网页

    所谓以命令行的方式访问网页,即是在终端下以文本的形式访问网站,这里推荐一个工具:w3m, $ sudo apt-get install w3m $ w3m www.baidu.com

  7. thinkphp5命令行访问

    入口文件后加一个空格就行了 1,首先cd到站点目录public下,我的入口文件是默认的index.php,然后执行以下命令, 2,php要加入环境变量 访问index模块下的index控制器下的tes ...

  8. 命令行访问远程mysql数据库

    命令: mysql -u用户名 -p密码 -h远程数据库IP地址 -P端口 -D数据库名 例子: 使用用root帐号,密码为123456,登录ip地址为192.168.1.110,端口为3306,名称 ...

  9. Ubuntu下命令行访问网站

      第一步,需要安装一个名为w3m的软件工具,打开终端,输入如下命令 sudo apt-get install w3m 第二步,安装好w3m之后,在终端里面启动w3m,打开一个网址,比如w3m www ...

随机推荐

  1. Magic xpa 3.x很容易将数据导出到Excel中

    Magic xpa 3.x很方便的将表中数据导出到Excel文件中,还可以自动将表中数据生成各种图表. 通过使用自带的打印数据内部事即可实现. 1.首先将打印数据任务属性设置为“是”. 2.可使用主程 ...

  2. [java,2018-06-26] 扑克牌抽牌求和问题

    问题: 一副扑克牌,除去大小王后共52张牌,随机从中抽八张牌,问八张牌的和最有可能是多少? 分析: 这52张牌,其实就是数字 1 2 3 ...13, 每个数字出现4次.随机抽出8个数,问组成的和最有 ...

  3. mysql 表

    关系 create table scores( id int primary key auto_increment, stuid int, subid int, score decimal(5,2) ...

  4. caffe学习笔记1

    博客 http://blog.csdn.net/seven_first/article/details/47378697 https://zhuanlan.zhihu.com/p/25127756?r ...

  5. CI、CD相关概念

    1.CI:持续集成(CONTINUOUS INTEGRATION) 基本概念 CI的全称是Continuous Integration,表示持续集成. 在CI环境中,开发人员将会频繁地向主干提交代码. ...

  6. Python环境下的Sublime Text3无法使用input()函数

    在Sublime Text3中写好Python程序,按Ctrl+B运行程序,在控制台中输入内容,回车,程序没有响应.最后求助网络,找到了解决办法. 一.安装插件SublimeREPL 按Ctrl+Sh ...

  7. Django请求生命周期

    生命周期: 指浏览器访问开始,经过Django都发生了什么 ? 1 首先客服端发送http请求,把请求体(请求头和请求内容)生成 2 服务器接收请求后,根据路由映射表一个一个匹配.匹配成功后,后面不匹 ...

  8. Synchronized总结

    一.synchronized加锁原理 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还可以保证共享变量的内存可见性. Java中每一个对象都可以作 ...

  9. ios模拟器命令

    xcrun simctl list  //显示模拟器列表 xcrun simctl boot [模拟器id] //启动模拟器

  10. 关于background-size 的一点小坑

    目前在做一个网页,要求使用一个图片作为背景,必须要全屏目填充,于是我想,这不是很简单的事情么: 有两种实现方法:首先设置添加一个div(或者body),把div(或者body)元素的宽和高都设置成10 ...