use lazy IO for certificate store and marks dir reading
[diohsc.git] / diohsc.1.md
blobf072a257242c2c12c8525de79d45cfe58933c92a
1 % DIOHSC(1) Version $VERSION | diohsc
2 # NAME
3 diohsc - line-based gemini client
5 # SYNOPSIS
6 diohsc [OPTION]... [URI|PATH]
8 # DESCRIPTION
9 diohsc is a gemini client with the following features:
11 * Simple line-based command-response terminal user interface with ANSI colour.
12 * Terse but combinatorially expressive command language.
13 * Navigational aids: history, marks, queue.
14 * Facilities to invoke external commands and use per-scheme proxies.
15 * Responses streamed to pager or external command.
16 * Certificate checking with TOFU and/or explicitly trusted CAs.
17 * Support for TLS resuming, 0RTT, and client certificates.
18 * All configuration and certificates stored as user-manipulable files.
19 * Extensive help.
21 Please use the "help" and "commands" commands for information on the commands
22 diohsc understands.
24 # OPTIONS
25 -d, \-\-datadir *PATH*
26 : Directory for configuration and storage of information between sessions.
27 : Default: ~/.diohsc
29 -e, \-\-command *COMMAND*
30 : Execute diohsc command.
31 : "-e" and "-f" options will be processed in order of appearance,
32 : after any diohscrc file, and before processing any uri/path argument.
34 -f, \-\-file *PATH*
35 : Execute commands from file ("-" for stdin).
36 : "-e" and "-f" options will be processed in order of appearance,
37 : after any diohscrc file, and before processing any uri/path argument.
39 -p, \-\-prompt
40 : Interactively read diohsc commands from stdin,
41 : after any commands given as arguments have been executed.
42 : This is the default unless "-e" or "-f" or "-b" is used.
44 -i, \-\-interact
45 : When processing commands, prompt for further input where appropriate.
46 : This is the default mode unless "-e" or "-f" is used and "-p" is not.
48 -b, \-\-batch
49 : When processing commands, never prompt for further input.
50 : This is the default mode if "-e" or "-f" is used and "-p" is not.
52 -c, \-\-colour
53 : Use ANSI escape sequences for formatting.
54 : This is the default if stdout is a terminal.
56 -C, \-\-no-colour
57 : Do not output ANSI escape sequences.
58 : This is the default if stdout is not a terminal.
60 -g, \-\-ghost
61 : "Ghost mode". Do not write logs, input history, or marks to *datadir*, and
62 : don't write or update "known\_hosts" certificates. The "save" command will
63 : still write to the filesystem, as will the "identity" command if it is used to
64 : create a new named identity.
66 -r, \-\-restricted
67 : Disallow shell and filesystem access. This prevents all use of external
68 : commands, and reading or writing outside of *datadir*.
70 -S, \-\-socks-host *HOST*
71 : Use SOCKS5 proxy for all connections (including DNS resolution).
73 -P, \-\-socks-port *PORT*
74 : Port to use for SOCKS5 proxy. Default: 1080.
76 -v, \-\-version
77 : Show version information.
79 -h, \-\-help
80 : Show usage information.
82 # FILES
83 ~/.diohsc
84 : Default *datadir*. The paths given below assume that this is used.
86 ~/.diohsc/diohscrc
87 : Configuration file, consisting of diohsc commands to run at startup.
89 ~/.diohsc/log
90 : Visited uris, one per line.
92 ~/.diohsc/commandHistory
93 : Commands entered in interactive mode.
95 ~/.diohsc/inputHistory
96 : Input entered for gemini queries.
98 ~/.diohsc/known\_hosts/
99 : Contains Trust-On-First-Use trusted certificates of visited hosts.
101 ~/.diohsc/trusted\_certs/
102 : Certificates will be trusted without warning and without being placed in
103 : known\_hosts if they are presented with a valid certificate chain from a
104 : Certificate Authority certificate found in this directory.
106 ~/.diohsc/marks/
107 : Contains marks for use with the "'" target specifier. Each file contains a
108 : URI, optionally appended by [IDENT] where IDENT is the name of an identity.
110 ~/.diohsc/identities/
111 : Contains client certificates and corresponding private keys for named
112 : cryptographic identities, as produced by the "identify" command.
113 : These are stored in standard PEM/DER format, so can be imported/exported
114 : from/to other clients.
116 ~/.diohsc/queue
117 : Contains URIs, one per line. On startup and before processing each command,
118 : the contents of this file is added to the queue and the file is deleted. On
119 : exit, any remaining queue items are appended to this file.
121 # ENVIRONMENT
122 BROWSER
123 : Default browser used by "browse" command without an argument.
125 PAGER
126 : Default pager used by "||" command without an argument.
128 # BUGS
129 Only ANSI escape sequences are supported.
131 # LICENCE
132 diohsc is free software, released under the terms of the GNU GPL v3 or later.
133 You should have obtained a copy of the licence as the file COPYING.
135 # AUTHORS
136 Martin Bays <mbays@sdf.org>