fetch(1)


NAME
    fetch - HTTP/HTTPS client for MontaukOS

SYNOPSIS
    fetch [-v] <url>
    fetch [-v] <host> <port> [path]

DESCRIPTION
    fetch performs an HTTP/1.0 GET request and prints the response
    body to the terminal. Supports both plain HTTP and HTTPS (TLS 1.2)
    connections. By default only the body is printed.

    In URL mode, the scheme (http:// or https://) determines whether
    TLS is used. The port defaults to 80 for HTTP and 443 for HTTPS.

    In legacy mode, the host and port are specified as separate
    arguments and the connection is always plain HTTP.

    The host may be an IP address or a hostname. Hostnames are
    resolved via the configured DNS server.

    If no path is given, "/" is used.

OPTIONS
-v
    Verbose mode. Print connection info, trust anchor count, TLS
    handshake progress, and the HTTP status/size header before
    the body.

EXAMPLES
    fetch https://icanhazip.com
        Print your public IP address over HTTPS.

    fetch http://icanhazip.com
        Same, but over plain HTTP.

    fetch -v https://example.com
        Fetch a page with verbose output showing:
            Connecting to example.com:443 (HTTPS)...
            Loaded 128 trust anchors
            TLS handshake...
            TLS connection established
            GET /
            HTTP 200 OK (1256 bytes)

    fetch 10.0.68.1 80 /
        Fetch from a local server by IP (legacy syntax).

TLS SUPPORT
    HTTPS connections use BearSSL for TLS 1.2. Server certificates
    are validated against the system CA bundle at
    0:/os/certs/ca-certificates.crt.

    Entropy for the TLS handshake is provided by RDTSC-seeded
    random data via the SYS_GETRANDOM syscall.

KEYBOARD
    Ctrl+Q      Abort the request

SEE ALSO
    ping(1), nslookup(1), tcpconnect(1), shell(1), syscalls(2)

Back to Documentation Index