安装***

首先安装pip:

  1. curl -LO "https://bootstrap.pypa.io/get-pip.py"
  2. python get-pip.py

通过pip安装***:

  1. $ pip install shadowsocks
  2.  
  3. $ vi /etc/shadowsocks.json
  4. # 添加以下内容
  5. {
  6. "server": "123.45.67.89", # ***服务器的IP
  7. "server_port": "1234", # ***服务器的端口
  8. "local_address": "127.0.0.1", # 本机监听地址,不需要修改
  9. "local_port": "5678", # 本机监听端口,可以指定1024到65535之间的数字,和正在监听的端口不冲突即可
  10. "password": "your_password", # ***服务器的密码
  11. "method": "aes-256-cfb", # ***服务器的加密方式
  12. "timeout": "300",
  13. "workers": "1"
  14. }

  

启动***:

  1. # 以 daemon 模式启动 sslocal
  2. sslocal -c /etc/shadowsocks.json -d start
  3.  
  4. # 确认 sslocal 已监听在预设端口
  5. lsof -i | grep sslocal
  6.  
  7. # 开机启动
  8. sh -c 'echo "sudo /usr/bin/sslocal -c /etc/shadowsocks.json -d start" >> /etc/rc.d/rc.local'
  9.  
  10. # 如果 rc.local 没有可执行权限就给它加上
  11. if [ ! -x '/etc/rc.d/rc.local' ]; then
  12. chmod +x '/etc/rc.d/rc.local'
  13. else
  14. echo 'rc.local already is executable!'
  15. fi

  

测试***代理

***提供的代理是socks5类型,使用curl来测试代理是否生效:

  1. $ curl --socks5 127.0.0.1:5678 http://httpbin.org/ip
  2. {
  3. "origin": "123.45.67.89" # 必须与 /etc/shadowsocks.json 中 server 字段的值相同
  4. }

  

把socks5代理转换为http/https代理

许多命令仅支持http/https代理,不支持socks5代理,此时需要使用Privoxy把socks5代理转换为http/https代理。

安装Privoxy

  1. # EPEL仓库已收录Privoxy
  2. yum install -y privoxy

  

配置Privoxy

  1. $ vi /etc/privoxy/config
  2.  
  3. # 确认下面这一行没有被注释掉
  4. listen-address 127.0.0.1:8118
  5. ## 默认端口是8118,不需要修改
  6.  
  7. # 新增一行
  8. forward-socks5t / 127.0.0.1:5678 .
  9. ## 端口必须与 /etc/shadowsocks.json 中 local_port 字段的值相同,
  10. ## 注意:行尾有一个英文句号(.)

  

启动Privoxy

  1. systemctl start privoxy
  2. ss -tnlp | grep :8118
  3.  
  4. # 开机启动
  5. systemctl enable privoxy

  

测试Privoxy代理

  1. $ curl --proxy https://127.0.0.1:8118 -Is https://google.com | grep -w 200
  2. HTTP/1.1 200 Connection established

  

访问Google,返回的HTTP状态码是200,说明可以正常访问,证明https代理已经生效。

更方便的使用代理

并不是所有命令都像curl这样包含了设置代理的选项,即使有代理选项,每次执行命令都要输入也非常麻烦,其实还有更简单方便的用法。

临时启用代理

  1. export http_proxy='127.0.0.1:8118'
  2. export https_proxy='127.0.0.1:8118'
  3.  
  4. # 停用代理
  5. export http_proxy=''
  6. export https_proxy=''

  

设置shell函数快速启用代理

  1. vi /etc/profile.d/vm-proxy.sh

  

粘贴以下内容:

  1. function vm-proxy-on {
  2. export no_proxy="127.0.0.1,localhost,localaddress,.localdomain.com,tencentyun.com";
  3. export http_proxy='127.0.0.1:8118';
  4. export https_proxy=$http_proxy;
  5. echo 'HTTP proxy started.'
  6. }
  7. export -f vm-proxy-on
  8.  
  9. # 第二种声明函数的方式
  10. vm-proxy-off() {
  11. unset http_proxy;
  12. unset https_proxy;
  13. echo 'HTTP proxy stopped.'
  14. }
  15. export -f vm-proxy-off

  

  1. 然后source文件:
  1. chmod +x /etc/profile.d/vm-proxy.sh
  2. source /etc/profile.d/vm-proxy.sh

  

此时就可以非常方便的启用或停用代理了:

  1. $ vm-proxy-on
  2. HTTP proxy started.
  3.  
  4. $ echo $https_proxy
  5. 127.0.0.1:8118
  6.  
  7. $ vm-proxy-off
  8. HTTP proxy stopped.

  

原文出处链接:

https://liyang85.com/all-centos-7-command-line-tools-use-shadowsocks-and-privoxy-to-access-internet

使用***客户端和Privoxy让所有CentOS 7命令行工具通过代理访问互联网(转载)的更多相关文章

  1. CentOS 6 命令行下安装 VirtualBox 虚拟机步骤

    CentOS 6 命令行下安装 VirtualBox 虚拟机步骤 1. 准备工作 安装内核更新 yum install kernel-develyum update kernel*如果内核有更新,则需 ...

  2. Linux(CentOS 7)命令行模式安装VMware Tools 详解

    本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...

  3. 其他综合-CentOS 7 命令行显示优化

    CentOS 7 命令行显示优化 1.实验描述 通过 CentOS 7.6 的显示优化,为实现命令行显示提供良好视觉体验. [基于此文章的环境]点我快速打开文章 2.实验环境 使用软件的版本:VMwa ...

  4. 屹今为止最好用的HTTP客户端命令行工具-接口调试神器HTTPie

    一.思考❓❔ 1.你用过哪些http客户端调试工具? Postman 不够灵活 需要打开客户端, 麻烦 学习成本高 Jmeter 臃肿 麻烦 学习成本高 curl 参数多, 记不住 不够灵活 主要在L ...

  5. CentOS 7 命令行安装TeamViewer

    由于要通过要远程登录到内网的电脑(一台笔记本),用于在紧急情况下处理服务器故障.刚开始准备使用ssh端口转发,无奈vps转发速度太慢. 后面考虑使用TeamViewer远程控制Windows桌面,但是 ...

  6. centos/redhat命令行上传下载文件

    前言:客户端上没有安装xftp,winscp等等软件,无法将服务器上需要的文件下载到本地去解析,无法将本地的安装包上传到服务器上去,这个时候命令行就可以带你翱翔一波 配置如下: 服务器上: 1.安装需 ...

  7. CentOS 7命令行安装图形界面(GNOME、KDE等)

    CentOS 7 默认是没有图形化界面的,但我们很多人在习惯了 Windows 的图形化界面之后,总是希望有一个图形化界面从而方便我们使用,这里介绍一下 CentOS7安装图形化桌面系统的方法. 一. ...

  8. 30. CentOS终端命令行显示中文乱码的解决方法

    安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:修改/etc/sysconfig/i18n,内容为   代码如下: LANG="zh_CN.GB18030&qu ...

  9. CentOS 7命令行安装GNOME、KDE图形界面(成功安装验证)

    来源:cnblogs.com/Amedeo  作者:Amedeo 正文 CentOS 7 默认是没有图形化界面的,但我们很多人在习惯了 Windows 的图形化界面之后,总是希望有一个图形化界面从而方 ...

随机推荐

  1. Python检测删除你的好友-wxpy模块(发送特殊字符式)

    下面是代码: from wxpy import *import timeprint("本软件采用特殊字符检测,即对方收不到任何信息!")print("或许某个版本微信就会 ...

  2. composer 安装教程

    https://getcomposer.org/download/ 邓士鹏 1.先检查php.ini是否开启ssl ;extension=php_openssl.dll   2. php -r &qu ...

  3. eclipse断点调试教程

    1.断点就是你希望程序运行到哪暂停, 2.断点就是你希望程序运行到哪暂停, 3.断点就是你希望程序运行到哪暂停,断点往往就是你觉得程序可能出错的地方.  设定断点的办法很简单,在你认为出错的那一行的行 ...

  4. Heat-AutoScaling

    在openstack的I版本号中,Heat中加入了对于AutoScaling资源的支持,github上也提供了相应的AutoScaling的模板,同一时候也支持使用ceilometer的alarm来触 ...

  5. 【HDOJ 1009】 CRB and String

    [HDOJ 1009] CRB and String 每组两个串s t 仅仅由小写字母组成 问从s能不能变成t 改变的操作为选一个字符 在后面加上一个与所选字符不同的字符 这样的操作能够做无数次 问能 ...

  6. ubuntu下创建第一个rails应用程序

    一.创建一个新的应用程序 在控制台输入 > rails new  demo create create README.rdoc create Rakefile create config.ru ...

  7. h5-6 canvas

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. sql server 2012中red gate的sql source control消失

    找到C:\ProgramData\Microsoft\SQL Server Management Studio\11.0\Addins路径,用notepad++打开RedGate.SIPFramewo ...

  9. NET中的池

    NET中的各种池 在.NET中,常用到的池有四个:字符串拘留池.线程池 .应用程序池.数据库连接池. 字符串拘留池 在.NET中字符串是不可变对象,修改字符串变量的值会产生新的对象.为降低性能消耗及减 ...

  10. new一个接口

    首先我们先看看接口的定义: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方 ...