"""One QUIC handshake offering ALPN h3; prints ok/err. Usage: python quic_probe.py HOST"""
import asyncio, ssl, sys
from aioquic.asyncio import connect
from aioquic.quic.configuration import QuicConfiguration

async def h3(host, timeout=8.0):
    cfg = QuicConfiguration(is_client=True, alpn_protocols=["h3"], server_name=host)
    cfg.verify_mode = ssl.CERT_NONE
    try:
        async with asyncio.timeout(timeout):
            async with connect(host, 443, configuration=cfg, wait_connected=True) as c:
                return "ok", c._quic.tls.alpn_negotiated
    except Exception as e:
        return "err", type(e).__name__

if __name__ == "__main__":
    print(asyncio.run(h3(sys.argv[1])))
