之前在学校用的 cow, cow 向外提供 HTTP, 虽然有认证,但多少还是有些不安全。受博文 使用 nghttpx 搭建 HTTP/2 代理 影响,最近开始尝试使用 HTTP/2 作为前端接入,配合证书使用安全性得到了极大地提升。证书可以使用 Let's Encrypt, 直接使用 caddy 即可,借助 forwardproxy 插件用起来非常方便,代理后端可以接入 socks5/http 等不同方式。

Caddyfile 如下,鉴于家庭网络服务直接用 80/443 服务,故采用 DNS txt 方式获取证书。

yourdomain {
    gzip

    forwardproxy {
        basicauth username password
        upstream  socks5://localhost:1080
    }

    tls me@master.me {
        dns dnspod
    }
}