Skip to content

基于SNI分流tobaru和shoes匹配的配置(已跑通供参考) #23

Description

@sealszzz
# 将以下两类 TLS 连接快速丢弃(fail fast)到 127.0.0.1:1:
#   1) 没有携带 SNI 的连接(sni_hostnames: none)
#   2) SNI 未命中任何具体规则的连接(sni_hostnames: "*" 作为兜底匹配)
- address: "[::]:443"
  transport: tcp
  targets:
    - location: 127.0.0.1:1
      allowlist: 0.0.0.0/0
      server_tls:
        mode: passthrough
        sni_hostnames:
          - none
          - any

    # 9001:shoes AnyTLS 入站端口。
    # 应用层的回落/伪装站由后端自行处理(例如 nginx 在 127.0.0.1:80 做到 www.example.com 的重定向)。
    - location: 127.0.0.1:9001
      allowlist: 0.0.0.0/0
      server_tls:
        mode: passthrough
        sni_hostnames: "example.com"

    # 9002:shoes VLESS(Vision/Reality)入站端口。
    # 应用层回落/伪装站走 127.0.0.1:9999(nginx 伪装站)。
    - location: 127.0.0.1:9002
      allowlist: 0.0.0.0/0
      server_tls:
        mode: passthrough
        sni_hostnames: "www.example.com"

    # 9003:shoes NaiveProxy(Reality)入站端口。
    # 应用层回落/伪装站走 127.0.0.1:9999(nginx 伪装站)。
    - location: 127.0.0.1:9003
      allowlist: 0.0.0.0/0
      server_tls:
        mode: passthrough
        sni_hostnames: "global.example.com"

    # 9999:nginx 伪装站(基于通配符 SNI 的 TLS 透传转发)。
    - location: 127.0.0.1:9999
      allowlist: 0.0.0.0/0
      server_tls:
        mode: passthrough
        sni_hostnames: "*.example.com"

    # 9009:普通 TCP(非 TLS)流量入口,例如 shoes Shadowsocks / Snell 等。
    - location: 127.0.0.1:9009
      allowlist: 0.0.0.0/0

# UDP/443 入口(例如 shoes TUIC / Hysteria2 / Juicity 等)
- address: "[::]:443"
  transport: udp
  target:
    - location: 127.0.0.1:9009
      allowlist: 0.0.0.0/0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions