ubuntu上如何将shadowsocks socks代理转换为http代理

ubuntu 上的 shadowsocks 客户端

使用ss-local -c config.json可以连接shadowsocks服务器,启动本地socks代理服务

为何要转化为http代理

ubuntu下有些程序不支持socks代理或找不到socks代理,比如在国内使用gcloud命令,无法通过网络诊断,导致google cloud sdk 无法运行,这是需要设置http代理。

export http_proxy=http://127.0.0.1:port

转换为 HTTP 代理

可使用 PrivoxySquid 等软件将shadowsocks socks 代理转换为 HTTP 代理。以privoxy为例:

# 安装
sudo apt install privoxy

# 配置
vim /etc/privoxy/config

修改内容:

# 转发设置为本地socks代理
forward-socks5t  /  127.0.0.1:1080 .
# 本地http代理监听端口
listen-address  127.0.0.1:8118
# 如果希望网络上其他主机也能使用该 Privoxy 配置,可以更改 127.0.0.1 为 0.0.0.0 或直接删除 127.0.0.1.
listen-address  0.0.0.0:8118

使用方法

  • 临时代理
chromium --proxy-server="http://127.0.0.1:8118"
  • 设置环境变量
export http_proxy=http://0.0.0.0:8118
export https_proxy=https://0.0.0.0:8118
export no_proxy=127.0.0.1,localhost,10.*

使用polipo转化http 代理

apt-get install polipo
service polipo stop
polipo socksParentProxy=localhost:1080

http_proxy=http://localhost:8123 apt-get update

http_proxy=http://localhost:8123 curl www.google.com

http_proxy=http://localhost:8123 wget www.google.com

git config --global http.proxy 127.0.0.1:8123

views:2211