# ============================================================
# AnyTuck 公共试用中继边缘：终结 TLS，把整站反代到 relay 明文 HTTP。
# 同域路径：/ws（中继）、/healthz（探针）、/admin/（管理面板）。
# 证书 ACME DNS-01（Cloudflare），无需为面板另开域名。
# ============================================================

{
	email {$ACME_EMAIL}
}

{$RELAY_DOMAIN}:{$RELAY_HTTPS_PORT:443} {
	tls {
		dns cloudflare {env.CLOUDFLARE_API_TOKEN}
		# 家宽/大陆递归对 ACME 临时 TXT 常拖死传播检查（表现为 TLS 无证书、管理页打不开）。
		# 优先 Cloudflare/谷歌 DNS；propagation_timeout -1 关闭递归等待（仍保留短暂 delay）。
		resolvers 1.1.1.1 8.8.8.8
		propagation_delay 15s
		propagation_timeout -1
	}
	# WebSocket 长连：关掉 upstream 空闲 keepalive（默认 2m）与读写超时，避免空闲 Mac 被边缘掐断。
	# 覆写 X-Forwarded-For 为真实对端（禁止 append），enroll/IP 限流不可被客户端伪造。
	reverse_proxy {$RELAY_UPSTREAM:relay:8443} {
		header_up X-Forwarded-For {remote_host}
		header_up X-Real-IP {remote_host}
		flush_interval -1
		transport http {
			read_timeout 0
			write_timeout 0
			keepalive off
		}
	}
}
