Blame


1 f48e3b85 2021-05-24 op .\" Copyright (c) 2021 Omar Polo <op@omarpolo.com>
2 f48e3b85 2021-05-24 op .\"
3 f48e3b85 2021-05-24 op .\" Permission to use, copy, modify, and distribute this software for any
4 f48e3b85 2021-05-24 op .\" purpose with or without fee is hereby granted, provided that the above
5 f48e3b85 2021-05-24 op .\" copyright notice and this permission notice appear in all copies.
6 f48e3b85 2021-05-24 op .\"
7 f48e3b85 2021-05-24 op .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 f48e3b85 2021-05-24 op .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 f48e3b85 2021-05-24 op .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 f48e3b85 2021-05-24 op .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 f48e3b85 2021-05-24 op .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 f48e3b85 2021-05-24 op .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 f48e3b85 2021-05-24 op .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 f48e3b85 2021-05-24 op .Dd $Mdocdate: January 23 2021$
15 f48e3b85 2021-05-24 op .Dt GG 1
16 f48e3b85 2021-05-24 op .Os
17 f48e3b85 2021-05-24 op .Sh NAME
18 f48e3b85 2021-05-24 op .Nm gg
19 f48e3b85 2021-05-24 op .Nd simple Gemini client
20 f48e3b85 2021-05-24 op .Sh SYNOPSIS
21 f48e3b85 2021-05-24 op .Nm
22 f48e3b85 2021-05-24 op .Bk -words
23 f48e3b85 2021-05-24 op .Op Fl 23bchNVv
24 f48e3b85 2021-05-24 op .Op Fl C Pa cert.pem Fl K Pa key.pem
25 f48e3b85 2021-05-24 op .Op Fl H Ar hostname
26 321341f6 2021-07-06 op .Op Fl T Ar timeout
27 f48e3b85 2021-05-24 op .Ar IRI
28 f48e3b85 2021-05-24 op .Ek
29 f48e3b85 2021-05-24 op .Sh DESCRIPTION
30 f48e3b85 2021-05-24 op .Nm
31 f48e3b85 2021-05-24 op is a simple Gemini client.
32 f48e3b85 2021-05-24 op It fetches the Gemini page given and prints the server response to
33 f48e3b85 2021-05-24 op standard output.
34 f48e3b85 2021-05-24 op The option are as follows:
35 f48e3b85 2021-05-24 op .Bl -tag -width 6m
36 f48e3b85 2021-05-24 op .It Fl 2
37 f48e3b85 2021-05-24 op Use only TLSv1.2.
38 f48e3b85 2021-05-24 op .It Fl 3
39 f48e3b85 2021-05-24 op Use only TLSv1.3.
40 f48e3b85 2021-05-24 op .It Fl b
41 f48e3b85 2021-05-24 op Print only the body of the response.
42 f48e3b85 2021-05-24 op .It Fl C Pa cert.pem
43 f48e3b85 2021-05-24 op Load the client certificate, must be in PEM format.
44 f48e3b85 2021-05-24 op .It Fl c
45 f48e3b85 2021-05-24 op Print only the response code.
46 f48e3b85 2021-05-24 op .It Fl H Ar hostname
47 f48e3b85 2021-05-24 op Use the given
48 f48e3b85 2021-05-24 op .Ar hostname
49 f48e3b85 2021-05-24 op for SNI, instead of the one extracted from the IRI.
50 f48e3b85 2021-05-24 op The IRI hostname will still be used for the DNS resolution.
51 f48e3b85 2021-05-24 op .It Fl h
52 f48e3b85 2021-05-24 op Print only the response header.
53 f48e3b85 2021-05-24 op .It Fl K Pa key.pem
54 f48e3b85 2021-05-24 op Load the client certificate key, must be in PEM format.
55 f48e3b85 2021-05-24 op .It Fl N
56 f48e3b85 2021-05-24 op Don't check whether the peer certificate name matches the requested
57 f48e3b85 2021-05-24 op hostname.
58 321341f6 2021-07-06 op .It Fl T Ar timeout
59 321341f6 2021-07-06 op Kill
60 321341f6 2021-07-06 op .Nm
61 321341f6 2021-07-06 op after
62 321341f6 2021-07-06 op .Ar timeout
63 321341f6 2021-07-06 op seconds.
64 f48e3b85 2021-05-24 op .It Fl V
65 f48e3b85 2021-05-24 op Only validate the IRI, don't do the Gemini transaction.
66 f48e3b85 2021-05-24 op .It Fl v
67 f48e3b85 2021-05-24 op Print also the request.
68 f48e3b85 2021-05-24 op .El
69 f48e3b85 2021-05-24 op .Pp
70 f48e3b85 2021-05-24 op Note that
71 f48e3b85 2021-05-24 op .Nm
72 f48e3b85 2021-05-24 op won't try to do TOFU (Trust On First Use) or any X.509 certificate
73 f48e3b85 2021-05-24 op validation: it will happily accept any certificate it is given.
74 f48e3b85 2021-05-24 op .Pp
75 f48e3b85 2021-05-24 op By default
76 f48e3b85 2021-05-24 op .Nm
77 f48e3b85 2021-05-24 op will accept both TLSv1.2 and TLSv1.3 and will always do SNI.