Linux 命令行下使用SS代理

安装 shadowsocks-libev

1.直接从 stretch-backports 源安装官方版本:

sh -c 'printf "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/buster-backports.list'
apt update
apt -t buster-backports install shadowsocks-libev

2.编辑配置文件:
vi /etc/shadowsocks.json

写入以下配置文件:

{
    "server":"ip",
    "server_port":8388,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"password",
    "timeout":60,
    "method":"chacha20-ietf-poly1305",
    "fast_open": true,
    "workers": 1
}

3.启动代理

nohup ss-local -c /etc/shadowsocks.json &

将 Socks5 代理转化为 http 代理

socks5 代理转换成 http 代理需要借助第三方软件完成,这里使用 privoxy

1.安装 privoxy
apt install privoxy -y

2.编辑配置文件

# 先备份原配置文件
mv /etc/privoxy/config /etc/privoxy/config.bak
# 在新建一个配置文件
vi /etc/privoxy/config

privoxy 配置样例如下

# 转发地址
forward-socks5   /               127.0.0.1:1080 .
# 监听地址
listen-address  127.0.0.1:8118
# local network do not use proxy
forward         192.168.*.*/     .
forward            10.*.*.*/     .
forward           127.*.*.*/     .

3.最后启动 privoxy

# 启动
systemctl start privoxy
# 查看状态
systemctl status privoxy

创建快捷代理命令

完成上两步配置后,即可将需要代理的软件指向 127.0.0.1:8118 端口即可,但是有些命令行操作并无法设置,只能通过全局代理变量 http_proxy 等设置,此时设置后全局都受影响,为此可以写一个代理脚本proxy,如下 vi /usr/local/bin/proxy

脚本内容如下:

#!/bin/bash
http_proxy=http://127.0.0.1:8118 https_proxy=http://127.0.0.1:8118 $*

赋予可执行权限 chmod +x /usr/local/bin/proxy
最后,对任何想要走代理的命令,只需要在前面加上 proxy 即可,样例如下

proxy gvm install go1.6.3

参考:漠然

标签: Linux code

发表评论: