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 h3get
Build 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 5
MIT. See LICENSE.