.\" Copyright (c) 2021-2024 Omar Polo .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .Dd $Mdocdate: May 29 2024$ .Dt GG 1 .Os .Sh NAME .Nm gg .Nd gemini client .Sh SYNOPSIS .Nm .Bk -words .Op Fl 23Nnq .Op Fl C Ar cert .Op Fl d Ar mode .Op Fl H Ar sni .Op Fl K Ar key .Op Fl P Ar host Ns Oo : Ns Ar port Oc .Op Fl T Ar seconds .Ar gemini://... .Ek .Sh DESCRIPTION .Nm .Pq gemini get fetches the given gemini page and prints it to standard output. .Pp The options are as follows: .Bl -tag -width Ds .It Fl 2 Use TLSv1.2. .It Fl 3 Use TLSv1.3. .It Fl C Ar certificate Use the given client .Ar certificate . .It Fl d Ar mode Specify what .Nm should print. .Ar mode can be one of: .Bl -tag -width header -compact .It Ic none print only the body of the reply, the default. .It Ic code print only the response code. .It Ic header print only the response header. .It Ic meta print only the response meta. .It Ic all print the whole response as-is. .El .It Fl H Ar sni Use the given .Ar sni host name instead of the one deducted by the IRI or proxy. .It Fl K Ar key Specify the key for the certificate. It's mandatory if .Fl C is used. .It Fl N Disables the server name verification. .It Fl n Check the given IRI for validity, but don't issue any requests. .It Fl P Ar host Ns Oo : Ns Ar port Oc Connect to the given .Ar host and .Ar port to do the request instead of the ones extracted by the IRI. .Ar port is by default 1965. IPv6 addresses have to be wrapped in braces, for e.g. [::1]. .It Fl q Don't print server error messages to standard error. .It Fl T Ar seconds Kill .Nm after .Ar seconds . .El .Sh EXIT STATUS The .Nm utility exits with zero if the response code was in the 2x range. If a failure occurs, it exits with status code 1. Otherwise, the error code reflects the Gemini response code. .Sh ACKNOWLEDGEMENTS .Nm uses the .Dq Flexible and Economical UTF-8 decoder written by .An Bjoern Hoehrmann . .Sh SEE ALSO .Xr ftp 1 , .Xr titan 1 .Sh AUTHORS .An -nosplit The .Nm utility was written by .An Omar Polo Aq Mt op@omarpolo.com . .Sh CAVEATS .Nm doesn't perform TOFU .Pq Trust On First Use or any X.509 certificate validation beyond the name verification. .Pp .Nm doesn't follow redirects.