Blob


1 .\" Copyright (c) 2023 Omar Polo <op@omarpolo.com>
2 .\"
3 .\" Permission to use, copy, modify, and distribute this software for any
4 .\" purpose with or without fee is hereby granted, provided that the above
5 .\" copyright notice and this permission notice appear in all copies.
6 .\"
7 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 .Dd October 20, 2023
15 .Dt TITAN 1
16 .Os
17 .Sh NAME
18 .Nm titan
19 .Nd Titan client
20 .Sh SYNOPSIS
21 .Nm
22 .Bk -words
23 .Op Fl C Ar cert
24 .Op Fl K Ar key
25 .Op Fl m Ar mime
26 .Op Fl t Ar token
27 .Ar url
28 .Op Ar file
29 .Ek
30 .Sh DESCRIPTION
31 .Nm
32 allows to upload data to a Titan server.
33 If no
34 .Ar file
35 is given on the command line,
36 .Nm
37 reads from standard input.
38 .Pp
39 The options are as follows:
40 .Bl -tag -width Ds
41 .It Fl C Ar cert
42 Specify the TLS client certificate to use.
43 .It Fl K Ar cert
44 Specify the TLS client certificate key to use.
45 Defaults to
46 .Fl C
47 if provided.
48 .It Fl m Ar mime
49 Specify the mime of the content being sent.
50 Unset by default.
51 .It Fl t Ar token
52 Specify the token for the transaction.
53 Unset by default.
54 .El
55 .Pp
56 .Nm
57 alters the passed
58 .Ar url
59 to include the parameter for the file size as well as the MIME and the
60 token if
61 .Fl m
62 or
63 .Fl t
64 are given.
65 .Sh EXIT STATUS
66 The
67 .Nm
68 utility exits with one of the following values:
69 .Pp
70 .Bl -tag -width Ds -offset indent -compact
71 .It 0
72 The trasaction completed successfully and the response code was in the
73 2x or 3x range.
74 .It 1
75 An error occurred.
76 .It 2
77 The response code was not in the 2x or 3x range.
78 .El
79 .Sh SEE ALSO
80 .Xr ftp 1 ,
81 .Xr gg 1
82 .Sh STANDARDS
83 .Nm
84 implements the
85 .Dq Titan Specification
86 .Lk gemini://transjovian.org/titan/page/The%20Titan%20Specification
87 .Sh AUTHORS
88 .An -nosplit
89 The
90 .Nm
91 utility was written by
92 .An Omar Polo Aq Mt op@omarpolo.com .
93 .Sh CAVEATS
94 .Nm
95 doesn't perform TOFU
96 .Pq Trust On First Use
97 or any X.509 certificate validation beyond the name verification.