1 .\" Copyright (c) 2021 Omar Polo <op@omarpolo.com>
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.
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 $Mdocdate: March 28 2021$
27 is an interactive browser for the Gemini protocol.
28 It is able to process text/gemini and more in general every text/* file.
30 also features tabs, bookmarks and out-of-band TOFU verification.
33 aims to use the "Trust, but Verify (where appropriate)" approach.
34 The idea is to define three level of verification for a certificate:
37 the server fingerprint does NOT match the stored value
39 the server fingerprint matches the store one
41 the fingerprint matches and has been verified out-of-band
46 level is enough, but where is appropriate users should be able to
47 verify out-of-band the certificate.
49 At the moment, there is no built-in support for an out-of-band
52 Known certificates are store in
53 .Pa ~/.telescope/known_hosts
54 with a format similar to the
58 Each line is a record and it's made up by three fields, separated by a
59 single space, according to the following format:
66 is the hash of the certificate, as outputted by
67 .Xr tls_peer_cert_hash 3 .
70 0 means trusted, 1 verified.
72 .Sh DEFAULT KEY BINDINGS
73 The default key bindings are very similar to GNU Emacs, but care has
74 been taken to include also bindings familiar for
79 In the following examples, C-x means Control-x, M-x means Meta-x,
80 where the Meta key may be either a special key on the keyboard or the
81 ALT key; otherwise ESC followed by the key X works as well, and C-M-x
82 means to press the key X together with both Control and Meta.
84 Keys are usually a single character, like
88 but some special keys are accepted as well.
90 .Bl -tag -width 16m -offset indent -compact
100 Previous page/Page up
120 .Ss GNU Emacs-like keys
121 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
131 .Ic backward-paragraph
133 .Ic forward-paragraph
135 .Ic move-beginning-of-line
143 .Ic beginning-of-buffer
151 .Ic execute-extended-command
179 .Ss Xr vi 1 Ns -like keys
180 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
190 .Ic backward-paragraph
192 .Ic forward-paragraph
194 .Ic move-beginning-of-line
202 .Ic beginning-of-buffer
226 .Ic execute-extended-command
229 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
247 .Ss Neither Emacs nor vi specific
248 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
254 .Ic push-button-new-tab
260 .Ss Minibuffer-specific keys
261 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
263 .Ic mini-complete-and-exit
271 .Ic mini-delete-backward-char
273 .Ic mini-delete-backward-char
275 .Ic mini-delete-backward-char
287 .Ic move-beginning-of-line
291 .Ic move-beginning-of-line
295 .Ic mini-previous-history-element
297 .Ic mini-next-history-element
299 .Ic mini-previous-history-element
301 .Ic mini-next-history-element
303 .Sh INTERACTIVE COMMANDS
304 Follows the documentation for the interactive commands.
305 These commands can be bound to a key or executed with
306 .Ic execute-extended-command .
307 .Ss Movement commands
308 .Bl -tag -width execute-extended-command -compact
310 Move point one character backward.
311 .It Ic backward-paragraph
312 Move point one paragraph backward.
313 .It Ic beginning-of-buffer
314 Move point to the beginning of the buffer.
316 Move point to the end of the buffer.
318 Move point one character forward.
319 .It Ic forward-paragraph
320 Move point one paragraph forward.
321 .It Ic move-beginning-of-line
322 Move point at the beginning of the current (visual) line.
323 .It Ic move-end-of-line
324 Move point at the end of the current (visual) line.
326 Move point to the next link.
328 Move point to the next (visual) line, in the same column if possible.
329 .It Ic previous-button
330 Move point to the previous link.
332 Move point to the previous (visual) line.
334 .Ss Bookmark-related commands
335 .Bl -tag -width execute-extended-command -compact
337 Add a link to the bookmark file.
338 It preloads the minibuffer with the current URL.
339 .It Ic list-bookmarks
340 Load the bookmarks page.
342 .Ss Tab-related commands
343 .Bl -tag -width execute-extended-command -compact
345 Close the current tab.
346 .It Ic tab-close-other
347 Close all tabs but the current one.
349 Move the current tab after the next one, wrapping around if
352 Move the current tab before the previous one, wrapping around if needed.
356 Focus next tab, wrapping around eventually.
358 Focus the previous tab, wrapping around eventually.
361 .Bl -tag -width execute-extended-command -compact
363 Clears the echo area.
364 .It Ic execute-extended-command
365 Prompts for a command name using the minibuffer.
366 .It Ic kill-telescope
369 .It Ic load-current-url
370 Prompts for an URL, the minibuffer is preloaded with the current
375 Load the next item in the history list.
377 Load the previous item in the history list.
379 Follow the link on the current line.
380 .It Ic push-button-new-tab
381 Follow the link on the current line on a new tab.
383 Redraws the screen, useful if some background program messed up the
386 Scroll down by one visual page.
387 .It Ic scroll-line-down
388 Scroll down by one line.
389 .It Ic scroll-line-up
390 Scroll up by one line.
392 Scroll up by one visual page.
394 Toggle side window with help about available keys and their associated
397 .Ss Minibuffer commands
398 .Bl -tag -width execute-extended-command -compact
400 Abort the current minibuffer action.
401 .It Ic mini-complete-and-exit
402 Complete the current minibuffer action.
403 .It Ic mini-delete-backward-char
404 Delete the character before the point.
405 .It Ic mini-delete-char
406 Delete the character after the point.
407 .It Ic mini-kill-line
408 Delete from the point until the end of the line.
409 .It Ic mini-next-history-element
410 Load the previous history element.
411 .It Ic mini-previous-history-element
412 Load the next history element.
415 .Bl -tag -width Ds -compact
416 .It Pa ~/.telescope/bookmarks.gmi
418 .It Pa ~/.telescope/known_hosts
419 Contains a list of host keys for all the hosts the user has visited.
420 See the TOFU section for more info.
421 .It Pa ~/.telescope/session
422 Contains the list of opened tabs in the last session, one per line.
425 and loaded on startup.
431 program was written by
432 .An Omar Polo Aq Mt op@omarpolo.com .