dae/docs/zh/proxy-protocols.md
秋野かえで b986059da6
feat: add httpupgrade (#472)
Co-authored-by: Sumire (菫) <151038614+sumire88@users.noreply.github.com>
2024-03-27 12:53:47 +08:00

2.1 KiB
Raw Blame History

其他代理协议

Note

: dae 目前支持以下代理协议

  • HTTP(S), naiveproxy
  • Socks
    • Socks4
    • Socks4a
    • Socks5
  • VMess(AEAD, alterID=0) / VLESS
    • TCP
    • WS
    • TLS
    • gRPC
    • Meek
    • HTTPUpgrade
  • Shadowsocks
    • AEAD Ciphers
    • Stream Ciphers
    • simple-obfs
    • v2ray-plugin
      • Websocket (+TLS)
  • ShadowsocksR
  • Trojan
    • Trojan-gfw
    • Trojan-go
  • Tuic (v5)
  • Juicity
  • Proxy chain (flexible protocol)

有其他需求的,一种方式是通过外接其他代理程序来扩展协议支持。下面给出外接 naiveproxy 的例子。

尽管 dae 等代理程序支持 HTTPS 协议,但由于并不使用 chromium 网络栈,削弱了 naiveproxy 的伪装效果,因此可以选择外接 naiveproxy 程序来实现。

  1. 启动 naiveproxy

    由于 naiveproxy 的 socks 实现可能有些问题,无法被 curl 和 dae 使用,样例中使用 naiveproxy 开启一个 HTTP 监听端口。注意HTTP 代理不支持代理 udp 流量,所以如果你外接其他代理程序,建议优先考虑使用 socks5 端口。

    naiveproxy --listen=http://127.0.0.1:1090 --proxy=https://yourlink
    
  2. 在 dae 配置的 node 一节中,新增一行:http://127.0.0.1:1090,并记得在所使用的组中使用该节点。

  3. 如果你绑定了 WAN 接口,即在 global.wan_interface 填写了内容,确保在 routing 一节的靠上位置增加一行,以避免流量从 dae 流向 naiveproxy 之后再次流向 dae造成回环

    pname(naiveproxy) -> must_direct
    

    这里的 pname 的含义是进程名。你可通过启动时的命令,或运行时通过 ps -ef 命令或者观察 dae 的日志来确定 naiveproxy 的进程名。must_direct 的含义是所有流量,包括 dns 查询都放行直连,不重定向至 dae。

    只绑定 LAN 接口的用户不需要做这一步。