Skip to content

Latest commit

 

History

History
100 lines (67 loc) · 3.54 KB

File metadata and controls

100 lines (67 loc) · 3.54 KB

Proxy Protocols

Note: dae currently supports the following proxy protocols

  • HTTP(S), naiveproxy

    https://[[user:]pass@]hostname:port/
    
  • Socks

    • Socks4
    • Socks4a
    • Socks5
    socks4://[[user:]pass@]hostname:port/
    socks5://[[user:]pass@]hostname:port/
    
  • VMess(AEAD, alterID=0) / VLESS

    • TCP
    • WS
    • TLS
      • Reality
    • gRPC
    • Meek
    • HTTPUpgrade

    v2rayN URI Schema

    DuckSoft URI Schema

  • Shadowsocks

    • AEAD Ciphers
    • Stream Ciphers
    • simple-obfs
    • shadow-tls (SIP003 plugin)
    • v2ray-plugin
      • Websocket (+TLS)

    ShadowTLS v3 links can also be used directly with shadowtls://. For nodes that require a browser-like TLS fingerprint, set global.tls_implementation: utls and keep global.utls_imitate at the default chrome_auto, or append tlsImplementation=utls&utlsImitate=chrome in the link query. If the provider expects no custom SNI, omit sni or keep it explicitly empty.

    SIP002

    SIP008

  • ShadowsocksR

  • Trojan

    • Trojan-gfw
    • Trojan-go

    trojan/trojan-go URI Schema

  • Tuic (v5)

    Tuic URI Schema

  • Juicity

    Juicity URI Schema

  • Hysteria2

    Hysteria2 URI Schema

  • AnyTLS

    AnyTLS URI Schema

  • Proxy chain (flexible protocol)

    Proxy chain URI Schema

For other requirements, one way to expand protocol support is by using external proxy programs. Below is an example of using the external naiveproxy.

Although dae and other proxy programs support the HTTPS protocol, using them does not utilize the chromium networking stack, which weakens the camouflage effect of naiveproxy. Therefore, using an external naiveproxy program is recommended.

  1. Start naiveproxy:

    The example uses naiveproxy to open an HTTP listening port. Note that HTTP proxy does not support proxying UDP traffic, so if you are using an external proxy program, it is advisable to prioritize using the socks5 port.

    naiveproxy --listen=http://127.0.0.1:1090 --proxy=https://yourlink
  2. In the section of dae's configuration related to nodes, add the following line: http://127.0.0.1:1090, and remember to use this node in the group you are using.

  3. If you have bound the WAN interface, meaning you have filled in the global.wan_interface field, make sure to add the following line near the top in the routing section to prevent traffic from flowing back to dae after passing through naiveproxy, causing a loop:

    pname(naiveproxy) -> must_direct

    Here, pname refers to the process name. You can determine the process name of naiveproxy by examining the command used to start it, running the ps -ef command at runtime, or observing the dae logs. The meaning of must_direct is to allow all traffic, including DNS queries, to pass through directly without redirecting to dae.

    Users who only bind the LAN interface do not need to perform this step.