使用***客户端和Privoxy让所有CentOS 7命令行工具通过代理访问互联网(转载)
安装***
首先安装pip:
curl -LO "https://bootstrap.pypa.io/get-pip.py" python get-pip.py
通过pip安装***:
$ pip install shadowsocks
$ vi /etc/shadowsocks.json
# 添加以下内容
{
"server": "123.45.67.89", # ***服务器的IP
"server_port": "1234", # ***服务器的端口
"local_address": "127.0.0.1", # 本机监听地址,不需要修改
"local_port": "5678", # 本机监听端口,可以指定1024到65535之间的数字,和正在监听的端口不冲突即可
"password": "your_password", # ***服务器的密码
"method": "aes-256-cfb", # ***服务器的加密方式
"timeout": "300",
"workers": "1"
}
启动***:
# 以 daemon 模式启动 sslocal sslocal -c /etc/shadowsocks.json -d start # 确认 sslocal 已监听在预设端口 lsof -i | grep sslocal # 开机启动 sh -c 'echo "sudo /usr/bin/sslocal -c /etc/shadowsocks.json -d start" >> /etc/rc.d/rc.local' # 如果 rc.local 没有可执行权限就给它加上 if [ ! -x '/etc/rc.d/rc.local' ]; then chmod +x '/etc/rc.d/rc.local' else echo 'rc.local already is executable!' fi
测试***代理
***提供的代理是socks5类型,使用curl来测试代理是否生效:
$ curl --socks5 127.0.0.1:5678 http://httpbin.org/ip
{
"origin": "123.45.67.89" # 必须与 /etc/shadowsocks.json 中 server 字段的值相同
}
把socks5代理转换为http/https代理
许多命令仅支持http/https代理,不支持socks5代理,此时需要使用Privoxy把socks5代理转换为http/https代理。
安装Privoxy
# EPEL仓库已收录Privoxy yum install -y privoxy
配置Privoxy
$ vi /etc/privoxy/config # 确认下面这一行没有被注释掉 listen-address 127.0.0.1:8118 ## 默认端口是8118,不需要修改 # 新增一行 forward-socks5t / 127.0.0.1:5678 . ## 端口必须与 /etc/shadowsocks.json 中 local_port 字段的值相同, ## 注意:行尾有一个英文句号(.)
启动Privoxy
systemctl start privoxy ss -tnlp | grep :8118 # 开机启动 systemctl enable privoxy
测试Privoxy代理
$ curl --proxy https://127.0.0.1:8118 -Is https://google.com | grep -w 200 HTTP/1.1 200 Connection established
访问Google,返回的HTTP状态码是200,说明可以正常访问,证明https代理已经生效。
更方便的使用代理
并不是所有命令都像curl这样包含了设置代理的选项,即使有代理选项,每次执行命令都要输入也非常麻烦,其实还有更简单方便的用法。
临时启用代理
export http_proxy='127.0.0.1:8118' export https_proxy='127.0.0.1:8118' # 停用代理 export http_proxy='' export https_proxy=''
设置shell函数快速启用代理
vi /etc/profile.d/vm-proxy.sh
粘贴以下内容:
function vm-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 vm-proxy-on
# 第二种声明函数的方式
vm-proxy-off() {
unset http_proxy;
unset https_proxy;
echo 'HTTP proxy stopped.'
}
export -f vm-proxy-off
然后source文件:
chmod +x /etc/profile.d/vm-proxy.sh source /etc/profile.d/vm-proxy.sh
此时就可以非常方便的启用或停用代理了:
$ vm-proxy-on HTTP proxy started. $ echo $https_proxy 127.0.0.1:8118 $ vm-proxy-off HTTP proxy stopped.
原文出处链接:
https://liyang85.com/all-centos-7-command-line-tools-use-shadowsocks-and-privoxy-to-access-internet
使用***客户端和Privoxy让所有CentOS 7命令行工具通过代理访问互联网(转载)的更多相关文章
- CentOS 6 命令行下安装 VirtualBox 虚拟机步骤
CentOS 6 命令行下安装 VirtualBox 虚拟机步骤 1. 准备工作 安装内核更新 yum install kernel-develyum update kernel*如果内核有更新,则需 ...
- Linux(CentOS 7)命令行模式安装VMware Tools 详解
本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...
- 其他综合-CentOS 7 命令行显示优化
CentOS 7 命令行显示优化 1.实验描述 通过 CentOS 7.6 的显示优化,为实现命令行显示提供良好视觉体验. [基于此文章的环境]点我快速打开文章 2.实验环境 使用软件的版本:VMwa ...
- 屹今为止最好用的HTTP客户端命令行工具-接口调试神器HTTPie
一.思考❓❔ 1.你用过哪些http客户端调试工具? Postman 不够灵活 需要打开客户端, 麻烦 学习成本高 Jmeter 臃肿 麻烦 学习成本高 curl 参数多, 记不住 不够灵活 主要在L ...
- CentOS 7 命令行安装TeamViewer
由于要通过要远程登录到内网的电脑(一台笔记本),用于在紧急情况下处理服务器故障.刚开始准备使用ssh端口转发,无奈vps转发速度太慢. 后面考虑使用TeamViewer远程控制Windows桌面,但是 ...
- centos/redhat命令行上传下载文件
前言:客户端上没有安装xftp,winscp等等软件,无法将服务器上需要的文件下载到本地去解析,无法将本地的安装包上传到服务器上去,这个时候命令行就可以带你翱翔一波 配置如下: 服务器上: 1.安装需 ...
- CentOS 7命令行安装图形界面(GNOME、KDE等)
CentOS 7 默认是没有图形化界面的,但我们很多人在习惯了 Windows 的图形化界面之后,总是希望有一个图形化界面从而方便我们使用,这里介绍一下 CentOS7安装图形化桌面系统的方法. 一. ...
- 30. CentOS终端命令行显示中文乱码的解决方法
安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:修改/etc/sysconfig/i18n,内容为 代码如下: LANG="zh_CN.GB18030&qu ...
- CentOS 7命令行安装GNOME、KDE图形界面(成功安装验证)
来源:cnblogs.com/Amedeo 作者:Amedeo 正文 CentOS 7 默认是没有图形化界面的,但我们很多人在习惯了 Windows 的图形化界面之后,总是希望有一个图形化界面从而方 ...
随机推荐
- PAT 1080. Graduate Admission
It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applicat ...
- FusionCharts,双折线图和双柱状图
一个电商项目中,用到了"双柱状图",对比 当前库存和累计库存. 网上找了好几个贴子,才找到具体用法. 代码整理下,以备不时之需. 效果图-双折线图 效果图-双柱状图 <%@ ...
- Spring MVC灵活控制返回json的值(自定义过滤字段)
在使用spring MVC开发过程中,为了提高项目执行效率,所以在一些外键字段的实体中会注解”@ManyToOne(fetch = FetchType.LAZY)”以实现延迟加载的效果. 但是,在使用 ...
- hdu 1829 带权并查集的运用类似于食物链但是更简单些
#include<stdio.h> #define N 1100000 struct node { int x,y; }f[N],pre[N]; int find(int x) { if( ...
- 在java中,怎样跳出当前的多重循环?
</pre>直接用break ;详细举比例如以下:<p></p><p></p><p></p><pre name ...
- bzoj2878 [Noi2012]迷失游乐园 [树形dp]
Description 放假了,小Z认为呆在家里特别无聊.于是决定一个人去游乐园玩. 进入游乐园后.小Z看了看游乐园的地图,发现能够将游乐园抽象成有n个景点.m条道路的无向连通图,且该图中至多有一个环 ...
- C++求解汉字字符串的最长公共子序列 动态规划
近期,我在网上看了一些动态规划求字符串最长公共子序列的代码.可是无一例外都是处理英文字符串,当处理汉字字符串时.常常会出现乱码或者不对的情况. 我对代码进行了改动.使用wchar_t类型存储字 ...
- POJ1837 Balance 背包
题目大意: 有一个天平,天平左右两边各有若干个钩子,总共有C个钩子(每个钩子有相对于中心的距离,左负右正),有G个钩码,求将钩码全部挂到钩子上使天平平衡的方法的总数. 将每个砝码看作一组,组内各个物品 ...
- Eddy's picture
Eddy's picture Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Tota ...
- Python3爬虫--两种方法(requests(urllib)和BeautifulSoup)爬取网站pdf
1.任务简介 本次任务是爬取IJCAI(国际人工智能联合会议)最新2018年的pdf论文文件. 本次编码用到了正则表达式从html里面提取信息,如下对正则表达式匹配规则作简要的介绍. 2.正则表达式规 ...