1 bba111bc 2021-03-28 op .\" Copyright (c) 2021 Omar Polo <op@omarpolo.com>
3 bba111bc 2021-03-28 op .\" Permission to use, copy, modify, and distribute this software for any
4 bba111bc 2021-03-28 op .\" purpose with or without fee is hereby granted, provided that the above
5 bba111bc 2021-03-28 op .\" copyright notice and this permission notice appear in all copies.
7 bba111bc 2021-03-28 op .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 bba111bc 2021-03-28 op .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 bba111bc 2021-03-28 op .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 bba111bc 2021-03-28 op .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 bba111bc 2021-03-28 op .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 bba111bc 2021-03-28 op .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 bba111bc 2021-03-28 op .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 bba111bc 2021-03-28 op .Dd $Mdocdate: March 28 2021$
15 bba111bc 2021-03-28 op .Dt TELESCOPE 1
19 bba111bc 2021-03-28 op .Nd Gemini client
24 c92e529c 2021-06-15 op .Op Fl c Pa config
27 bba111bc 2021-03-28 op .Sh DESCRIPTION
29 bba111bc 2021-03-28 op is an interactive browser for the Gemini protocol.
30 bba111bc 2021-03-28 op It is able to process text/gemini and more in general every text/* file.
32 bba111bc 2021-03-28 op also features tabs, bookmarks and out-of-band TOFU verification.
34 c92e529c 2021-06-15 op The arguments are as follows:
35 c92e529c 2021-06-15 op .Bl -tag -width tenletters
37 c92e529c 2021-06-15 op Display version and usage.
39 c92e529c 2021-06-15 op Configtest mode.
40 c92e529c 2021-06-15 op Only check the configuration file for validity.
41 c92e529c 2021-06-15 op .It Fl c Pa config
42 c92e529c 2021-06-15 op Specify an alternative configuration file.
44 c92e529c 2021-06-15 op .Pa $HOME/.telescope/config
49 bba111bc 2021-03-28 op aims to use the "Trust, but Verify (where appropriate)" approach.
50 bba111bc 2021-03-28 op The idea is to define three level of verification for a certificate:
51 bba111bc 2021-03-28 op .Bl -tag -width 12m
53 bba111bc 2021-03-28 op the server fingerprint does NOT match the stored value
55 bba111bc 2021-03-28 op the server fingerprint matches the store one
57 bba111bc 2021-03-28 op the fingerprint matches and has been verified out-of-band
60 bba111bc 2021-03-28 op Most of the time the
62 bba111bc 2021-03-28 op level is enough, but where is appropriate users should be able to
63 bba111bc 2021-03-28 op verify out-of-band the certificate.
65 bba111bc 2021-03-28 op At the moment, there is no built-in support for an out-of-band
66 bba111bc 2021-03-28 op verification though.
68 bba111bc 2021-03-28 op Known certificates are store in
69 bba111bc 2021-03-28 op .Pa ~/.telescope/known_hosts
70 bba111bc 2021-03-28 op with a format similar to the
71 bba111bc 2021-03-28 op .Xr ssh 1 Ns '
72 bba111bc 2021-03-28 op .Pa known_hosts
74 bba111bc 2021-03-28 op Each line is a record and it's made up by three fields, separated by a
75 bba111bc 2021-03-28 op single space, according to the following format:
76 bba111bc 2021-03-28 op .Dq HOST HASH TRUSTED
78 bba111bc 2021-03-28 op .Bl -tag -width 12m
80 eb4388ee 2021-04-25 op the hostname, optionally followed by a colon (":") and a port number.
82 bba111bc 2021-03-28 op is the hash of the certificate, as outputted by
83 6c04e8b6 2021-04-01 op .Xr tls_peer_cert_hash 3 .
85 bba111bc 2021-03-28 op a single digit.
86 bba111bc 2021-03-28 op 0 means trusted, 1 verified.
88 bba111bc 2021-03-28 op .Sh DEFAULT KEY BINDINGS
89 bba111bc 2021-03-28 op The default key bindings are very similar to GNU Emacs, but care has
90 bba111bc 2021-03-28 op been taken to include also bindings familiar for
95 bba111bc 2021-03-28 op In the following examples, C-x means Control-x, M-x means Meta-x,
96 bba111bc 2021-03-28 op where the Meta key may be either a special key on the keyboard or the
97 bba111bc 2021-03-28 op ALT key; otherwise ESC followed by the key X works as well, and C-M-x
98 bba111bc 2021-03-28 op means to press the key X together with both Control and Meta.
100 bba111bc 2021-03-28 op Keys are usually a single character, like
104 bba111bc 2021-03-28 op but some special keys are accepted as well.
106 bba111bc 2021-03-28 op .Bl -tag -width 16m -offset indent -compact
116 bba111bc 2021-03-28 op Previous page/Page up
118 bba111bc 2021-03-28 op Next page/Page down
123 bba111bc 2021-03-28 op .It <f0> thru <f63>
124 bba111bc 2021-03-28 op Function keys
125 bba111bc 2021-03-28 op .It del or backspace
129 bba111bc 2021-03-28 op .It space or spc
131 bba111bc 2021-03-28 op .It enter or ret
136 bba111bc 2021-03-28 op .Ss GNU Emacs-like keys
137 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
139 7dbaef94 2021-04-22 op previous-line
145 7dbaef94 2021-04-22 op backward-char
147 7dbaef94 2021-04-22 op backward-paragraph
149 7dbaef94 2021-04-22 op forward-paragraph
151 7dbaef94 2021-04-22 op move-beginning-of-line
153 7dbaef94 2021-04-22 op move-end-of-line
154 bba111bc 2021-03-28 op .It M-v, M-space
156 bba111bc 2021-03-28 op .It C-v, space
159 7dbaef94 2021-04-22 op beginning-of-buffer
161 7dbaef94 2021-04-22 op end-of-buffer
163 7dbaef94 2021-04-22 op kill-telescope
165 7dbaef94 2021-04-22 op clear-minibuf
167 7dbaef94 2021-04-22 op execute-extended-command
171 7dbaef94 2021-04-22 op load-current-url
175 7dbaef94 2021-04-22 op tab-close-other
187 7dbaef94 2021-04-22 op previous-page
191 7dbaef94 2021-04-22 op bookmark-page
192 bba111bc 2021-03-28 op .It <f7> <f7>
193 7dbaef94 2021-04-22 op list-bookmarks
195 bba111bc 2021-03-28 op .Ss Xr vi 1 Ns -like keys
196 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
198 7dbaef94 2021-04-22 op previous-line
204 7dbaef94 2021-04-22 op backward-char
206 7dbaef94 2021-04-22 op backward-paragraph
208 7dbaef94 2021-04-22 op forward-paragraph
210 7dbaef94 2021-04-22 op move-beginning-of-line
212 7dbaef94 2021-04-22 op move-end-of-line
214 7dbaef94 2021-04-22 op scroll-line-up
216 7dbaef94 2021-04-22 op scroll-line-down
218 7dbaef94 2021-04-22 op beginning-of-buffer
220 7dbaef94 2021-04-22 op end-of-buffer
234 7dbaef94 2021-04-22 op previous-page
238 7dbaef94 2021-04-22 op kill-telescope
240 7dbaef94 2021-04-22 op clear-minibuf
242 7dbaef94 2021-04-22 op execute-extended-command
244 bba111bc 2021-03-28 op .Ss CUA-like keys
245 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
247 7dbaef94 2021-04-22 op previous-line
253 7dbaef94 2021-04-22 op backward-char
259 7dbaef94 2021-04-22 op previous-page
260 bba111bc 2021-03-28 op .It M-<right>
263 bba111bc 2021-03-28 op .Ss Neither Emacs nor vi specific
264 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
270 7dbaef94 2021-04-22 op push-button-new-tab
272 7dbaef94 2021-04-22 op previous-button
276 bba111bc 2021-03-28 op .Ss Minibuffer-specific keys
277 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
279 7dbaef94 2021-04-22 op mini-complete-and-exit
285 7dbaef94 2021-04-22 op mini-delete-char
287 7dbaef94 2021-04-22 op mini-delete-backward-char
288 bba111bc 2021-03-28 op .It backspace
289 7dbaef94 2021-04-22 op mini-delete-backward-char
291 7dbaef94 2021-04-22 op mini-delete-backward-char
293 7dbaef94 2021-04-22 op backward-char
297 7dbaef94 2021-04-22 op backward-char
301 7dbaef94 2021-04-22 op move-end-of-line
303 7dbaef94 2021-04-22 op move-beginning-of-line
305 7dbaef94 2021-04-22 op move-end-of-line
307 7dbaef94 2021-04-22 op move-beginning-of-line
309 7dbaef94 2021-04-22 op mini-kill-line
311 7dbaef94 2021-04-22 op mini-previous-history-element
313 7dbaef94 2021-04-22 op mini-next-history-element
315 7dbaef94 2021-04-22 op mini-previous-history-element
317 7dbaef94 2021-04-22 op mini-next-history-element
319 bba111bc 2021-03-28 op .Sh INTERACTIVE COMMANDS
320 bba111bc 2021-03-28 op Follows the documentation for the interactive commands.
321 bba111bc 2021-03-28 op These commands can be bound to a key or executed with
322 bba111bc 2021-03-28 op .Ic execute-extended-command .
323 bba111bc 2021-03-28 op .Ss Movement commands
324 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
325 bba111bc 2021-03-28 op .It Ic backward-char
326 bba111bc 2021-03-28 op Move point one character backward.
327 bba111bc 2021-03-28 op .It Ic backward-paragraph
328 bba111bc 2021-03-28 op Move point one paragraph backward.
329 bba111bc 2021-03-28 op .It Ic beginning-of-buffer
330 bba111bc 2021-03-28 op Move point to the beginning of the buffer.
331 bba111bc 2021-03-28 op .It Ic end-of-buffer
332 bba111bc 2021-03-28 op Move point to the end of the buffer.
333 bba111bc 2021-03-28 op .It Ic forward-char
334 bba111bc 2021-03-28 op Move point one character forward.
335 bba111bc 2021-03-28 op .It Ic forward-paragraph
336 bba111bc 2021-03-28 op Move point one paragraph forward.
337 bba111bc 2021-03-28 op .It Ic move-beginning-of-line
338 bba111bc 2021-03-28 op Move point at the beginning of the current (visual) line.
339 bba111bc 2021-03-28 op .It Ic move-end-of-line
340 bba111bc 2021-03-28 op Move point at the end of the current (visual) line.
341 bba111bc 2021-03-28 op .It Ic next-button
342 bba111bc 2021-03-28 op Move point to the next link.
343 bba111bc 2021-03-28 op .It Ic next-line
344 bba111bc 2021-03-28 op Move point to the next (visual) line, in the same column if possible.
345 bba111bc 2021-03-28 op .It Ic previous-button
346 bba111bc 2021-03-28 op Move point to the previous link.
347 bba111bc 2021-03-28 op .It Ic previous-line
348 bba111bc 2021-03-28 op Move point to the previous (visual) line.
350 bba111bc 2021-03-28 op .Ss Bookmark-related commands
351 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
352 bba111bc 2021-03-28 op .It Ic bookmark-page
353 bba111bc 2021-03-28 op Add a link to the bookmark file.
354 bba111bc 2021-03-28 op It preloads the minibuffer with the current URL.
355 63875195 2021-04-01 op .It Ic list-bookmarks
356 bba111bc 2021-03-28 op Load the bookmarks page.
358 bba111bc 2021-03-28 op .Ss Tab-related commands
359 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
360 bba111bc 2021-03-28 op .It Ic tab-close
361 bba111bc 2021-03-28 op Close the current tab.
362 bba111bc 2021-03-28 op .It Ic tab-close-other
363 bba111bc 2021-03-28 op Close all tabs but the current one.
364 bba111bc 2021-03-28 op .It Ic tab-move
365 bba111bc 2021-03-28 op Move the current tab after the next one, wrapping around if
367 bba111bc 2021-03-28 op .It Ic tab-move-to
368 bba111bc 2021-03-28 op Move the current tab before the previous one, wrapping around if needed.
369 bba111bc 2021-03-28 op .It Ic tab-new
370 bba111bc 2021-03-28 op Open a new tab.
371 bba111bc 2021-03-28 op .It Ic tab-next
372 bba111bc 2021-03-28 op Focus next tab, wrapping around eventually.
373 bba111bc 2021-03-28 op .It Ic tab-previous
374 bba111bc 2021-03-28 op Focus the previous tab, wrapping around eventually.
376 bba111bc 2021-03-28 op .Ss Misc commands
377 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
378 bba111bc 2021-03-28 op .It Ic clear-minibuf
379 bba111bc 2021-03-28 op Clears the echo area.
380 bba111bc 2021-03-28 op .It Ic execute-extended-command
381 bba111bc 2021-03-28 op Prompts for a command name using the minibuffer.
382 bba111bc 2021-03-28 op .It Ic kill-telescope
385 bba111bc 2021-03-28 op .It Ic load-current-url
386 bba111bc 2021-03-28 op Prompts for an URL, the minibuffer is preloaded with the current
388 bba111bc 2021-03-28 op .It Ic load-url
389 bba111bc 2021-03-28 op Prompts for an URL.
390 bba111bc 2021-03-28 op .It Ic next-page
391 bba111bc 2021-03-28 op Load the next item in the history list.
392 bba111bc 2021-03-28 op .It Ic previous-page
393 bba111bc 2021-03-28 op Load the previous item in the history list.
394 bba111bc 2021-03-28 op .It Ic push-button
395 bba111bc 2021-03-28 op Follow the link on the current line.
396 bba111bc 2021-03-28 op .It Ic push-button-new-tab
397 bba111bc 2021-03-28 op Follow the link on the current line on a new tab.
398 bba111bc 2021-03-28 op .It Ic redraw
399 bba111bc 2021-03-28 op Redraws the screen, useful if some background program messed up the
401 bba111bc 2021-03-28 op .It Ic scroll-down
402 bba111bc 2021-03-28 op Scroll down by one visual page.
403 bba111bc 2021-03-28 op .It Ic scroll-line-down
404 bba111bc 2021-03-28 op Scroll down by one line.
405 bba111bc 2021-03-28 op .It Ic scroll-line-up
406 bba111bc 2021-03-28 op Scroll up by one line.
407 bba111bc 2021-03-28 op .It Ic scroll-up
408 bba111bc 2021-03-28 op Scroll up by one visual page.
409 7a014cef 2021-04-01 op .It Ic toggle-help
410 7a014cef 2021-04-01 op Toggle side window with help about available keys and their associated
411 7a014cef 2021-04-01 op interactive command.
413 bba111bc 2021-03-28 op .Ss Minibuffer commands
414 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
415 bba111bc 2021-03-28 op .It Ic mini-abort
416 bba111bc 2021-03-28 op Abort the current minibuffer action.
417 bba111bc 2021-03-28 op .It Ic mini-complete-and-exit
418 bba111bc 2021-03-28 op Complete the current minibuffer action.
419 bba111bc 2021-03-28 op .It Ic mini-delete-backward-char
420 bba111bc 2021-03-28 op Delete the character before the point.
421 bba111bc 2021-03-28 op .It Ic mini-delete-char
422 bba111bc 2021-03-28 op Delete the character after the point.
423 bba111bc 2021-03-28 op .It Ic mini-kill-line
424 bba111bc 2021-03-28 op Delete from the point until the end of the line.
425 bba111bc 2021-03-28 op .It Ic mini-next-history-element
426 bba111bc 2021-03-28 op Load the previous history element.
427 bba111bc 2021-03-28 op .It Ic mini-previous-history-element
428 bba111bc 2021-03-28 op Load the next history element.
431 7d2d15f5 2021-04-30 op The following aliases are available during
432 7d2d15f5 2021-04-30 op .Ic execute-extended-command :
433 7d2d15f5 2021-04-30 op .Bl -tag -width 16m -compact
436 c82b3fd6 2021-05-12 op .It Ic tabnew
439 c82b3fd6 2021-05-12 op .Ic tab-previous
440 7d2d15f5 2021-04-30 op .It Ic q No and Ic wq
441 7d2d15f5 2021-04-30 op .Ic kill-telescope
444 bba111bc 2021-03-28 op .Bl -tag -width Ds -compact
445 bba111bc 2021-03-28 op .It Pa ~/.telescope/bookmarks.gmi
446 bba111bc 2021-03-28 op Holds the bookmarks.
447 bba111bc 2021-03-28 op .It Pa ~/.telescope/known_hosts
448 bba111bc 2021-03-28 op Contains a list of host keys for all the hosts the user has visited.
449 bba111bc 2021-03-28 op See the TOFU section for more info.
450 e9b1e094 2021-04-01 op .It Pa ~/.telescope/session
451 e9b1e094 2021-04-01 op Contains the list of opened tabs in the last session, one per line.
452 e9b1e094 2021-04-01 op Gets written on
453 e9b1e094 2021-04-01 op .Ic kill-telescope
454 e9b1e094 2021-04-01 op and loaded on startup.
460 bba111bc 2021-03-28 op program was written by
461 bba111bc 2021-03-28 op .An Omar Polo Aq Mt op@omarpolo.com .