43724a5c40
Add tests/e2e/http2_test.go covering the http2 handler/listener/connector/dialer
end-to-end through the canonical gost-as-client pattern (8 subtests: forward,
auth, bypass, probeResist/metadata, h2 stream multiplexing). Include
testdata/http2/{server,server_auth,server_bypass,server_proberesist,client,
client_auth}.yaml. Note that h2/h2c listeners pair with the tunnel handler
and only http2 listener pairs with handler http2 (reads r/w from metadata).
Tighten TestDNSHostMapper by pointing the handler at an unreachable upstream
so unmapped names fail at the exchanger, confirming the host-mapper path was
the sole reason mapped names resolved. Fix http_idle_timeout.py to speak HTTP
through the CONNECT tunnel rather than a raw ping, matching the echo backend.
Co-Authored-By: Claude <noreply@anthropic.com>
23 lines
519 B
YAML
23 lines
519 B
YAML
services:
|
|
- name: dns
|
|
addr: :1053
|
|
handler:
|
|
type: dns
|
|
metadata:
|
|
# Unreachable upstream so the system-DNS fallback is bypassed.
|
|
# The host mapper resolves mapped names before the exchanger is
|
|
# reached; unmapped names must hit the exchanger and fail.
|
|
dns: udp://127.0.0.1:1
|
|
timeout: 2s
|
|
listener:
|
|
type: dns
|
|
hosts: my-hosts
|
|
|
|
hosts:
|
|
- name: my-hosts
|
|
mappings:
|
|
- ip: 10.0.0.100
|
|
hostname: mapped.example.com
|
|
- ip: 192.168.1.200
|
|
hostname: aaaa.mapped.example.com
|