安装***
首先安装pip:
curl -LO "https://bootstrap.pypa.io/get-pip.py" python get-pip.py
通过pip安装***:
$ pip install * $ vi /etc/*.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/*.json -d start # 确认 sslocal 已监听在预设端口 lsof -i | grep sslocal # 开机启动 sh -c 'echo "sudo /usr/bin/sslocal -c /etc/*.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/*.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/*.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-*-and-privoxy-to-access-internet