Happy Eyeballs
Webtester

Initially developed as part of the paper "Lazy Eye Inspection: Capturing the State of Happy Eyeballs Implementations" by Patrick Sattler.

See our development team and source code on GitHub . Hosted on infrastructure of TUM .

If you use this tool for your research, please our paper which discusses Happy Eyeballs and this tool.

Connection Attempt Delay Test

Happy Eyeballs version 1 defines the racing of IPv4 vs. IPv6. The term Connection Attempt Delay (CAD) describes the delay a client waits for the IPv6 response before issuing an IPv4 connection. We test this behavior of your client by artificially adding latency to IPv6 packets. Depending on your client's settings, it will wait for the IPv6 connection attempt.

Run test
Resolution Delay Test

Happy Eyeballs version 2 defines the racing of A vs AAAA DNS queries and uses the term Resolution Delay (RD) to describe the configured accepted delay between A and AAAA responses. We test this behavior of your client by artificially adding latency to A or AAAA queries. In this test, not only your client but also the configured resolver and any forwarder in the resolution chain can impact the result.

Run test
Happy Eyeballs v3 QUIC vs. TLS/TCP Test

Happy Eyeballs version 3 extends connection racing to the application layer, specifically racing QUIC against TLS/TCP. Browsers implementing this version should fall back to the alternative protocol if one is unresponsive to avoid blocking. We test this by varying the handshake delay to determine if and when your client decides to switch protocols.

Run test
Happy Eyeballs v3 Combined Test (QUIC vs. TLS/TCP & IPv4 vs. IPv6)

Happy Eyeballs version 3 extends connection racing to the application layer. Browsers implementing this version should fall back between IP versions and protocols to avoid blocking if one is unresponsive. We test this by varying the handshake delay and IP version-specific delay to determine if and when your client decides to switch protocols and IP versions.

Run test
HTTP/3 Availability Test

The test checks how your browser establishes connections when HTTP/3 is available. We simulate various scenarios where HTTP/3 can be discovered via Alt-Svc headers or HTTPS DNS records.

Run test
Resolver CAD Test (Disabled)

This test does not test your device, OS, or browser, but targets your recursive resolver. It uses a more complex DNS setup to infer if your resolver performs any type of Happy Eyeballs. While the Happy Eyeballs algorithm and suggested configuration parameters are not adjusted to the iterative resolution process of a resolver, we are still interested in seeing if and how resolvers prefer IPv6.

Only our authoritative name server observes the requests and analyzes the results. As we have not yet implemented a way to live feed the results back to your browser session, we cannot currently show these.

Note: This test is currently disabled. Please contact us if you are interested.