有些代理使用TLS加密的方式或socks5协议,除了桌面浏览器之外和专用客户端,Mac和手机系统都不能直接使用。可以使用MEOW转换成标准HTTP代理。

MEOW 是 COW 的一个修改版,具有中继代理的作用,支持shadowsock转换为HTTP协议,可用作级联代理,可以多个二级代理作备分。

MOEW本身就是一个代理服务器,可单独使用,也可串联其他MEOW代理。不过最重要的是它提供了HTTP代理作为入口,出口可以是shadowsock或另外一个HTTP代理。它还可以处理二级代理的认证,部署在内网可以免去客户端认证,这样可以屏蔽掉代理的差异和变动,多个proxy出口可以作为后备或轮询,MEOW使用Go语言,可以安装在Raspberry Pi挂在路由器上给局域网设备使用代理。

配置文件位置为~/.meow/rc,配置格式如下:

# 代理服务器监听地址,重复多次来指定多个监听地址,语法:
#
#   listen = protocol://[[email protected]]server_address:server_port
#
# 支持的 protocol 如下:
#
# HTTP (提供 http 代理):
#   listen = http://127.0.0.1:4411
#
#   上面的例子中,MEOW 生成的 PAC url 为 http://127.0.0.1:4411/pac
#
# HTTPS (提供 https 代理):
#   listen = https://example.com:443
#   cert = /path/to/cert.pem
#   key = /path/to/key.pem
#
#   上面的例子中,MEOW 生成的 PAC url 为 https://example.com:443/pac
#
# MEOW (需两个 MEOW 服务器配合使用):
#   listen = meow://encrypt_method:[email protected]:5678
#
#   若 1.2.3.4:5678 在国外,位于国内的 MEOW 配置其为二级代理后,两个 MEOW 之间可以
#   通过加密连接传输 http 代理流量。采用与 shadowsocks 相同的加密方式。
#
# 其他说明:
# - 若 server_address 为 0.0.0.0,监听本机所有 IP 地址
# - 可以用如下语法指定 PAC 中返回的代理服务器地址(当使用端口映射将 http 代理提供给外网时使用)
#   listen = http://127.0.0.1:4411 1.2.3.4:5678
#
listen = http://0.0.0.0:4411 hostname:4411

二级代理配置

# 二级代理统一使用下列语法指定:
#
#   proxy = protocol://[[email protected]]server:port
#
# 重复使用 proxy 多次指定多个二级代理,backup 策略将按照二级代理出现的顺序来使用
#
# 目前支持的二级代理及配置举例:
#
# SOCKS5:
#   proxy = socks5://127.0.0.1:1080
#
# HTTP:
#   proxy = http://127.0.0.1:8080
#   proxy = http://user:[email protected]:8080
#
#   用户认证信息为可选项
#
# HTTPS:
#   proxy = https://example.com:8080
#   proxy = https://user:[email protected]:8080
#
#   用户认证信息为可选项
#
# Shadowsocks:
#   proxy = ss://encrypt_method:[email protected]:8388
#
#   authinfo 中指定加密方法和密码,所有支持的加密方法如下:
#     aes-128-cfb, aes-192-cfb, aes-256-cfb,
#     bf-cfb, cast5-cfb, des-cfb, rc4-md5,
#     chacha20, salsa20, rc4, table
#
# MEOW:
#   proxy = meow://method:[email protected]:4321
#
#   authinfo 与 shadowsocks 相同

负载均衡策略

# 指定多个二级代理时使用的负载均衡策略,可选策略如下
#
#   backup:  默认策略,优先使用第一个指定的二级代理,其他仅作备份使用
#   hash:    根据请求的 host name,优先使用 hash 到的某一个二级代理
#   latency: 优先选择连接延迟最低的二级代理
#
# 一个二级代理连接失败后会依次尝试其他二级代理
# 失败的二级代理会以一定的概率再次尝试使用,因此恢复后会重新启用
loadBalance = backup

GOST https://docs.ginuerzh.xyz/gost/ 也有类似的功能,支持更多的协议。

原文链接:https://marskid.net/2017/12/20/meow-convert-https-to-http-proxy/