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
Core Tests
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.
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.
Happy Eyeballs version 3
Other Tests & Tools
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.
This is a tool to generate a specific domain for a selected test configuration. The domain can then be used with any client to test its HE behavior. The server always returns the IP address at which it was contacted. This enables you to easily know if your client used IPv4 or IPv6.
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.