A dead simple curl-like HTTP/3 client tool I use for debugging HTTP/3 servers. It can be set to explicitly use IPv4 or IPv6.
Note
This program uses a modified version of the quic-go library to allow for explicitly setting the network string for the ListenUDP function through the QUIC_GO_CLIENT_NETWORK_TYPE environment variable.
- Git
- Go 1.21 or later
Clone the repository and enter it:
git clone https://github.com/nixigaj/h3get
cd h3getBuild the binary:
go build --ldflags="-w -s"To specify URL, use the --url or -u flag.
To specify explicit usage of IPv4 or IPv6, use the --ipv4 or -4, and --ipv6 or -6 flags.
To specify timeout for request in seconds, use the --timeout or -t flag.
To use curl as user agent, use the --curl or -c flag.
To print usage use the --help or -h flag.
To query the URL https://h3.erix.dev using IPv6 explicitly and a request timeout of 5 seconds:
./h3get -u https://h3.erix.dev -6 -t 5MIT. See LICENSE.