Blob


1 .\" Copyright (c) 2021 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 $Mdocdate: August 14 2021$
15 .Dt TELESCOPE 1
16 .Os
17 .Sh NAME
18 .Nm telescope
19 .Nd multi-protocol browser
20 .Sh SYNOPSIS
21 .Nm
22 .Bk -words
23 .Op Fl Chnv
24 .Op Fl c Pa config
25 .Op Ar URL
26 .Ek
27 .Sh DESCRIPTION
28 .Nm
29 is an interactive browser that supports the Finger, Gemini and Gopher
30 protocols.
31 .Nm
32 features tabs, a minibuffer, interactive completions, bookmarks and
33 out-of-band TOFU verification.
34 .Pp
35 The arguments are as follows:
36 .Bl -tag -width xxxxxxxxxxxxx
37 .It Fl C , Fl -colors
38 Show all available colors and exit.
39 .It Fl c Pa config
40 Specify an alternative configuration file.
41 By default
42 .Pa $HOME/.telescope/config
43 is loaded.
44 .It Fl h , Fl -help
45 Display version and usage.
46 .It Fl n
47 Configtest mode.
48 Only check the configuration file for validity.
49 .It Fl v , Fl -version
50 Display version.
51 .El
52 .Sh UI CONCEPTS
53 .Nm
54 interface is divided into four areas: the tabline, the body, the
55 modeline and the echoarea/minibuffer.
56 .Pp
57 The tabline is always at the top of the screen and displays the tabs
58 separated by a vertical line.
59 When there are more tabs than the size of the window allow to display,
60 the characters
61 .Sq \&<
62 or
63 .Sq \&>
64 are shown at the start/end of the tabline to indicate that there are
65 more tabs in that direction.
66 .Pp
67 The body occupies the majority of the visible area.
68 It contains the current page and optionally a side window.
69 .Pp
70 The modeline is the second to last row of the screen.
71 It shows some information about the page: a spinner when the page is
72 loading, the trust level, the document type, the scroll offset and the
73 URL.
74 .Pp
75 The echoarea is usually the last line of the screen.
76 Messages are often showed there, and link addresses too.
77 The echoarea is also used to obtain input from the user.
78 When commands like
79 .Ic swiper
80 or
81 .Ic link-select
82 are invoked, the minibuffer area grows to show possible completions.
83 .Sh TOFU
84 .Nm
85 aims to use the
86 .Dq Trust, but Verify Pq where appropriate
87 approach for
88 TOFU
89 .Pq Dq Trust On First Use .
90 The idea is to define three level of verification for a certificate:
91 .Bl -tag -width 12m
92 .It untrusted
93 .Pq Sq \&!
94 the server fingerprint does NOT match the stored value.
95 .It trusted
96 .Pq Sq v
97 the server fingerprint matches the store one.
98 .It verified
99 .Pq Sq V
100 the fingerprint matches and has been verified out-of-band.
101 .El
102 .Pp
103 The trust level of the page is indicated in the modeline with the
104 indicated character.
105 .Pp
106 Most of the time the
107 .Dq trusted
108 level is enough, but where is appropriate users should be able to
109 verify out-of-band the certificate.
110 .Pp
111 At the moment, there is no built-in support for an out-of-band
112 verification though.
113 .Sh SUPPORTED PROTOCOLS
114 The following protocols are supported:
115 .Bl -tag -width gemini://
116 .It about:
117 About pages are
118 .Nm
119 internal page.
120 See about:about for a list of all these pages.
121 .It file://
122 File types know to
123 .Nm ,
124 such as .gmi, .gemini, .txt, .md, .markdown, .diff or .patch, can be
125 viewed inside the application.
126 Types of local files are detected solely based on the file extension.
127 On some systems, such as
128 .Ox ,
129 only files inside special directories
130 .Pq like Pa /tmp No or Pa ~/Downloads
131 are available.
132 .It finger://
133 Finger URLs are interpreted as follows:
134 .Bl -bullet -compact
135 .It
136 the host is determined by the host name portion of the URL
137 .It
138 if the user portion of the URL is provided, it's interpreted as the
139 user to finger, otherwise the path component will be used
140 .El
141 thus
142 .Lk finger://user@hostname
143 and
144 .Lk finger://hostname/user
145 are treated as the same URL.
146 .It gemini://
147 Gemini is fully supported, with the exception of client-certificates.
148 .It gopher://
149 Gopher support is limited to items type 0, 1 and 7.
150 All text is assumed to be encoded in UTF-8 (or ASCII).
151 .El
152 .Sh DEFAULT KEY BINDINGS
153 The default key bindings are very similar to GNU Emacs, but care has
154 been taken to include also bindings familiar for
155 .Xr vi 1
156 and
157 .Dq CUA
158 users.
159 In the following examples, C-x means Control-x, M-x means Meta-x,
160 where the Meta key may be either a special key on the keyboard or the
161 ALT key; otherwise ESC followed by the key X works as well, and C-M-x
162 means to press the key X together with both Control and Meta.
163 .Pp
164 Keys are usually a single character, like
165 .Sq p
166 or
167 .Sq n ,
168 but some special keys are accepted as well.
169 .Pp
170 .Bl -tag -width 16m -offset indent -compact
171 .It <up>
172 Up arrow
173 .It <down>
174 Down arrow
175 .It <left>
176 Left arrow
177 .It <right>
178 Right arrow
179 .It <prior>
180 Previous page/Page up
181 .It <next>
182 Next page/Page down
183 .It <home>
184 Home
185 .It <end>
186 End
187 .It <f0> thru <f63>
188 Function keys
189 .It del or backspace
190 Backspace
191 .It esc
192 Escape
193 .It space or spc
194 Space
195 .It enter or ret
196 Enter
197 .It tab
198 Tab
199 .It backtab
200 Depends on the configuration of the terminal emulator; usually shift
201 tab.
202 .El
203 .Ss GNU Emacs-like keys
204 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
205 .It C-p
206 previous-line
207 .It C-n
208 next-line
209 .It C-f
210 forward-char
211 .It C-b
212 backward-char
213 .It M-{
214 backward-paragraph
215 .It M-}
216 forward-paragraph
217 .It C-a
218 move-beginning-of-line
219 .It C-e
220 move-end-of-line
221 .It M-v, M-space
222 scroll-up
223 .It C-v, space
224 scroll-down
225 .It M-<
226 beginning-of-buffer
227 .It M->
228 end-of-buffer
229 .It C-x C-c
230 kill-telescope
231 .It C-g
232 clear-minibuf
233 .It M-x
234 execute-extended-command
235 .It C-c {
236 dec-fill-column
237 .It C-c }
238 inc-fill-column
239 .It C-c p
240 previous-heading
241 .It C-c n
242 next-heading
243 .It >
244 load-url
245 .It <
246 load-current-url
247 .It C-x C-f
248 load-url
249 .It C-x M-f
250 load-current-url
251 .It C-x o
252 other-window
253 .It C-x t 0
254 tab-close
255 .It C-x t 1
256 tab-close-other
257 .It C-x t 2
258 tab-new
259 .It C-x t o
260 tab-next
261 .It C-x t O
262 tab-previous
263 .It C-x t m
264 tab-move
265 .It C-x t M
266 tab-move-to
267 .It B, C-M-b
268 previous-page
269 .It F, C-M-f
270 next-page
271 .It <f7> a
272 bookmark-page
273 .It <f7> <f7>
274 list-bookmarks
275 .It C-z
276 suspend-telescope
277 .El
278 .Ss Xr vi 1 Ns -like keys
279 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
280 .It k
281 previous-line
282 .It j
283 next-line
284 .It l
285 forward-char
286 .It h
287 backward-char
288 .It {
289 backward-paragraph
290 .It }
291 forward-paragraph
292 .It ^
293 move-beginning-of-line
294 .It $
295 move-end-of-line
296 .It K
297 scroll-line-up
298 .It J
299 scroll-line-down
300 .It g g
301 beginning-of-buffer
302 .It G
303 end-of-buffer
304 .It g D
305 tab-close
306 .It g N
307 tab-new
308 .It g t
309 tab-next
310 .It g T
311 tab-previous
312 .It g M-t
313 tab-move
314 .It g M-T
315 tab-move-to
316 .It H
317 previous-page
318 .It L
319 next-page
320 .It q
321 kill-telescope
322 .It ESC
323 clear-minibuf
324 .It :
325 execute-extended-command
326 .El
327 .Ss CUA-like keys
328 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
329 .It <up>
330 previous-line
331 .It <down>
332 next-line
333 .It <right>
334 forward-char
335 .It <left>
336 backward-char
337 .It <home>
338 move-beginning-of-line
339 .It <end>
340 move-end-of-line
341 .It <prior>
342 scroll-up
343 .It <next>
344 scroll-down
345 .It C-w
346 tab-close
347 .It C-t
348 tab-new
349 .It M-<prior>
350 tab-previous
351 .It M-<next>
352 tab-next
353 .It M-<left>
354 previous-page
355 .It M-<right>
356 next-page
357 .It <f5>
358 reload-page
359 .It r
360 reload-page
361 .El
362 .Ss Neither Emacs nor vi specific
363 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
364 .It <f1>
365 toggle-help
366 .It enter
367 push-button
368 .It M-enter
369 push-button-new-tab
370 .It M-tab
371 previous-button
372 .It backtab
373 previous-button
374 .It tab
375 next-button
376 .It M-t
377 tab-select
378 .It \&[
379 tab-previous
380 .It \&]
381 tab-next
382 .It M-l
383 link-select
384 .It M-/
385 swiper
386 .El
387 .Ss Minibuffer-specific keys
388 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
389 .It enter
390 mini-complete-and-exit
391 .It C-g
392 mini-abort
393 .It ESC
394 mini-abort
395 .It C-d
396 mini-delete-char
397 .It del
398 mini-delete-backward-char
399 .It backspace
400 mini-delete-backward-char
401 .It C-h
402 mini-delete-backward-char
403 .It C-b
404 backward-char
405 .It C-f
406 forward-char
407 .It <left>
408 backward-char
409 .It <right>
410 forward-char
411 .It C-e
412 move-end-of-line
413 .It C-a
414 move-beginning-of-line
415 .It <end>
416 move-end-of-line
417 .It <home>
418 move-beginning-of-line
419 .It C-k
420 mini-kill-line
421 .It M-p
422 mini-previous-history-element
423 .It M-n
424 mini-next-history-element
425 .It C-p
426 previous-completion
427 .It C-n
428 next-completion
429 .It <up>
430 previous-completion
431 .It <down>
432 next-completion
433 .It tab
434 insert-current-candidate
435 .It M-<
436 mini-goto-beginning
437 .It M->
438 mini-goto-end
439 .El
440 .Sh INTERACTIVE COMMANDS
441 Follows the documentation for the interactive commands.
442 These commands can be bound to a key or executed with
443 .Ic execute-extended-command .
444 .Ss Movement commands
445 .Bl -tag -width execute-extended-command -compact
446 .It Ic backward-char
447 Move point one character backward.
448 .It Ic backward-paragraph
449 Move point one paragraph backward.
450 .It Ic beginning-of-buffer
451 Move point to the beginning of the buffer.
452 .It Ic end-of-buffer
453 Move point to the end of the buffer.
454 .It Ic forward-char
455 Move point one character forward.
456 .It Ic forward-paragraph
457 Move point one paragraph forward.
458 .It Ic insert-current-candidate
459 Copy the current selection text as minibuffer input.
460 .It Ic move-beginning-of-line
461 Move point at the beginning of the current (visual) line.
462 .It Ic move-end-of-line
463 Move point at the end of the current (visual) line.
464 .It Ic next-button
465 Move point to the next link.
466 .It Ic next-completion
467 Select the next completion.
468 .It Ic next-heading
469 Move point to the next heading.
470 .It Ic next-line
471 Move point to the next (visual) line, in the same column if possible.
472 .It Ic previous-button
473 Move point to the previous link.
474 .It Ic previous-completion
475 Select the previous completion.
476 .It Ic previous-heading
477 Move point to the previous heading.
478 .It Ic previous-line
479 Move point to the previous (visual) line.
480 .El
481 .Ss Bookmark-related commands
482 .Bl -tag -width execute-extended-command -compact
483 .It Ic bookmark-page
484 Save a page in the bookmark file.
485 It preloads the minibuffer with the current URL.
486 .It Ic list-bookmarks
487 Load the bookmarks page.
488 .El
489 .Ss Tab-related commands
490 .Bl -tag -width execute-extended-command -compact
491 .It Ic tab-close
492 Close the current tab.
493 .It Ic tab-close-other
494 Close all tabs but the current one.
495 .It Ic tab-move
496 Move the current tab after the next one, wrapping around if
497 needed.
498 .It Ic tab-move-to
499 Move the current tab before the previous one, wrapping around if needed.
500 .It Ic tab-new
501 Open a new tab.
502 .It Ic tab-next
503 Focus next tab, wrapping around eventually.
504 .It Ic tab-previous
505 Focus the previous tab, wrapping around eventually.
506 .It Ic tab-select
507 Switch to a tab using the minibuffer.
508 .El
509 .Ss Misc commands
510 .Bl -tag -width execute-extended-command -compact
511 .It Ic clear-minibuf
512 Clear the echo area.
513 .It Ic dec-fill-column
514 Decrement fill-column by two.
515 .It Ic execute-extended-command
516 Execute an internal command.
517 .It Ic kill-telescope
518 Quit
519 .Nm .
520 .It Ic inc-fill-column
521 Increment fill-column by two.
522 .It Ic link-select
523 Select and visit a link using the minibuffer.
524 .It Ic load-current-url
525 Edit the current URL.
526 .It Ic load-url
527 Prompt for an URL.
528 .It Ic next-page
529 Go forward in the page history.
530 .It Ic olivetti-mode
531 Toggle olivetti mode (i.e. horizontal centering of the lines of the
532 window.)
533 .It Ic other-window
534 Select the other window.
535 .It Ic previous-page
536 Go backward in the page history.
537 .It Ic push-button
538 Follow link at point, or toggle the visibility of the following
539 preformatted block if called when the cursor is on the heading of the block.
540 .It Ic push-button-new-tab
541 Follow link at point in a new tab.
542 .It Ic redraw
543 Redraw the screen, useful if some background program messed up the
544 display.
545 .It Ic reload-page
546 Reload the current page.
547 .It Ic scroll-down
548 Scroll down by one visual page.
549 .It Ic scroll-line-down
550 Scroll down by one line.
551 .It Ic scroll-line-up
552 Scroll up by one line.
553 .It Ic scroll-up
554 Scroll up by one visual page.
555 .It Ic suspend-telescope
556 Suspend the current
557 .Nm
558 session.
559 .It Ic swiper
560 Jump to a line using the minibuffer.
561 .It Ic toc
562 Jump to a heading using the minibuffer.
563 .It Ic toggle-help
564 Toggle side window with help about available keys and their associated
565 interactive command.
566 .It Ic toggle-pre-wrap
567 Toggle the wrapping of preformatted blocks.
568 .El
569 .Ss Minibuffer commands
570 .Bl -tag -width execute-extended-command -compact
571 .It Ic mini-abort
572 Abort the current minibuffer action.
573 .It Ic mini-complete-and-exit
574 Complete the current minibuffer action.
575 .It Ic mini-delete-backward-char
576 Delete the character before the point.
577 .It Ic mini-delete-char
578 Delete the character after the point.
579 .It Ic mini-goto-beginning
580 Select the first completion, if any.
581 .It Ic mini-goto-end
582 Select the last completion, if any.
583 .It Ic mini-kill-line
584 Delete from point until the end of the line.
585 .It Ic mini-next-history-element
586 Load the previous history element.
587 .It Ic mini-previous-history-element
588 Load the next history element.
589 .El
590 .Ss Aliases
591 The following aliases are available during
592 .Ic execute-extended-command :
593 .Bl -tag -width 16m -compact
594 .It Ic tabn
595 .Ic tab-next
596 .It Ic tabnew
597 .Ic tab-new
598 .It Ic tabp
599 .Ic tab-previous
600 .It Ic q No and Ic wq
601 .Ic kill-telescope
602 .El
603 .Sh CONFIGURATION FILE
604 During the startup,
605 .Nm
606 reads the configuration file at
607 .Pa ~/.telescope/config
608 or the one given with the
609 .Fl c
610 flag.
611 .Pp
612 .Nm
613 will also load a file called
614 .Pa config-TERM ,
615 where
616 .Dq TERM
617 is the name of the terminal type
618 .Pq i.e. the TERM environment variable ,
619 if it exists.
620 .Pp
621 The format of the configuration file is fairly flexible.
622 The current line can be extended over multiple ones using a
623 backslash
624 .Pq Sq \e .
625 Comments can be put anywhere in the file using a hash mark
626 .Pq Sq # ,
627 and extend to the end of the current line, but backslashes can't be
628 used to extend comments over multiple lines.
629 .Pp
630 The following constructs are available:
631 .Bl -tag -width Ds
632 .It Ic bind Ar map Ar key Ar cmd
633 Bind
634 .Ar key
635 to the function
636 .Ar cmd
637 in the keymap
638 .Ar map .
639 Valid values for map are
640 .Dq global-map
641 .Pq i.e. when the user is viewing a page
642 and
643 .Dq minibuffer-map
644 .Pq i.e. when the minibuffer has the focus.
645 .Ar key
646 follows the same syntax described in
647 .Sx DEFAULT KEY BINDINGS
648 and all the possible functions are listed in
649 .Sx INTERACTIVE COMMANDS .
650 .It Ic proxy Ar proto Ic via Ar url
651 Use
652 .Ar url
653 as proxy for all URLs with
654 protocol
655 .Ar proto .
656 .Ar url
657 must be a Gemini URI without path, query and fragment component.
658 .It Ic set Ar opt No = Ar val
659 Set the option
660 .Ar opt
661 to the value
662 .Ar val .
663 Valid options are:
664 .Pp
665 .Bl -tag -width twelveletters -compact
666 .It autosave
667 .Pq integer
668 If greater than zero, save the session after the specified amount of
669 seconds after some events happens
670 .Pq new or closed tabs, visited a link ...
671 Defaults to 20.
672 .It dont-wrap-pre
673 .Pq integer
674 If nonzero, don't wrap preformatted blocks.
675 Defaults to 0.
676 .It emojify-link
677 .Pq integer
678 If nonzero, when the text of a link starts with an emoji followed by a
679 space, use that emoji as line prefix.
680 Defaults to 1.
681 .It enable-colors
682 .Pq integer
683 If nonzero, enable colours.
684 Defaults to 0 if
685 .Ev NO_COLORS
686 is set, 1 otherwise.
687 .It fill-column
688 .Pq integer
689 If greater than zero, lines of text will be formatted in a way that
690 don't exceed the given number of columns.
691 Defaults to 80.
692 .It hide-pre-blocks
693 .Pq integer
694 If nonzero, hide by default the body of the preformatted blocks.
695 Defaults to zero.
696 .Ic push-button
697 can be used to toggle the visibility per-block.
698 .It hide-pre-closing-line
699 .Pq integer
700 If nonzero, hide the closing line of preformatted blocks.
701 Defaults to 0.
702 .It hide-pre-context
703 .Pq integer
704 If nonzero, hide the start and end line of the preformatted blocks.
705 If both hide-pre-context and hide-pre-blocks are nonzero, preformatted
706 blocks are irremediably hidden.
707 Defaults to zero.
708 .It new-tab-url
709 .Pq string
710 URL for the new tab page.
711 Defaults to
712 .Dq about:new .
713 .It olivetti-mode
714 .Pq integer
715 If nonzero, enable
716 .Ic olivetti-mode
717 Defaults to 1.
718 .It set-title
719 .Pq integer
720 If nonzero, set the terminal title to the page title.
721 Defaults to 1.
722 .El
723 .It Ic style Ar name Ar option
724 Change the styling of the element identified by
725 .Ar name .
726 Multiple options may be specified within curly braces.
727 Valid style identifiers are:
728 .Bl -tag -width line.compl.current -compact -offset Ds
729 .It line
730 the area outside the lines in the body of the page.
731 .It line.compl
732 the completions.
733 .It line.compl.current
734 the current completion.
735 .It line.help
736 text in the *Help* buffer.
737 .It line.text
738 text lines.
739 .It line.link
740 link lines.
741 .It line.title1..3
742 headings
743 .It line.item
744 item lines.
745 .It line.quote
746 quotes.
747 .It line.pre.start
748 the heading of a preformatted block.
749 .It line.pre
750 the content of a preformatted block.
751 .It line.pre.end
752 the closing line of a preformatted block.
753 .It minibuffer
754 the minibuffer.
755 .It modeline
756 the modeline.
757 .It tabline
758 the tabline.
759 .It tabline.tab
760 the non-focused tabs.
761 .It tabline.current
762 the focused tab.
763 .El
764 .Pp
765 Valid options are:
766 .Bl -tag -width Ds
767 .It Ic attr Ar prefix Oo Ar line Oo Ar trail Oc Oc
768 Sets the text attributes.
769 If only one value is given,
770 .Ar line
771 and
772 .Ar trail
773 default to that; if two values are given then
774 .Ar trail
775 defaults to
776 .Ar prefix .
777 Each attribute is a comma-separated list of keywords:
778 .Bl -tag -width underline -compact -offset Ds
779 .It Ic normal
780 no attributes.
781 .It Ic standout
782 best highlighting mode for the terminal.
783 .It Ic underline
784 underlines the text.
785 .It Ic reverse
786 reverses background/foreground colors.
787 .It Ic blink
788 makes the text blinking.
789 .It Ic dim
790 half bright.
791 .It Ic bold
792 extra bright or bold.
793 .El
794 .Pp
795 Only the style identifiers with the
796 .Dq line.
797 prefix accept up to three attributes.
798 The other will only use the first one given.
799 .It Ic bg Ar prefix Oo Ar line Oo Ar trail Oc Oc
800 Sets the background color.
801 Follows the same behaviour as
802 .Ic attr
803 regarding the optional parameters.
804 The colour is one of black, red, green, yellow, blue,
805 magenta, cyan and white; colour0 to colour255
806 .Pq or color0 to color255
807 from the 256-colour set;
808 default for the default colour.
809 .It Ic fg Ar prefix Oo Ar line Oo Ar trail Oc Oc
810 Sets the foreground color.
811 It behaves just like
812 .Ic bg .
813 .It Ic prefix Ar prfx Op Ar cont
814 Sets the prefix for the current line type to
815 .Ar prfx
816 and
817 .Ar cont
818 as the prefix for the continuation lines
819 .Pq i.e. when a long line gets wrapped.
820 If
821 .Ar cont
822 is not given its value will be the same of
823 .Ar prfx .
824 .El
825 .El
826 .Sh ENVIRONMENT
827 When
828 .Nm
829 is started, it inspects the following environment variables:
830 .Bl -tag -width NO_COLORS
831 .It Ev HOME
832 The user's login directory.
833 .It Ev NO_COLORS
834 To decide whether to use colors or not.
835 The content of the variable doesn't matter.
836 .It Ev TERM
837 The user's terminal name.
838 .El
839 .Sh FILES
840 .Bl -tag -width Ds -compact
841 .It Pa ~/.telescope/bookmarks.gmi
842 Bookmarks file.
843 .It Pa ~/.telescope/config
844 Default configuration file.
845 .It Pa ~/.telescope/known_hosts
846 Hash of the certificates for all the known hosts.
847 Each line contains three fields: hostname with optional port number,
848 hash of the certificate and a numeric flag.
849 .It Pa ~/.telescope/lock
850 Lock file used to prevent multiple instance of
851 .Nm
852 from running at the same time.
853 .It Pa ~/.telescope/pages/about_*.gmi
854 Overrides for built-in about: pages.
855 .It Pa ~/.telescope/session
856 The list of tabs from the last session.
857 Every line identifies a tab and contains three space-separated fields:
858 the full URL, a comma-separated list of attributes and the cached
859 title.
860 Is written by
861 .Ic kill-telescope
862 and loaded during startup.
863 .El
864 .Sh EXAMPLES
865 It's possible to browse
866 .Dq the small web
867 .Pq i.e. simple websites
868 by using programs like the duckling-proxy by defining a proxy in
869 .Pa ~/.telescope/config :
870 .Bd -literal -offset indent
871 proxy http via "gemini://127.0.0.1:1965"
872 proxy https via "gemini://127.0.0.1:1965"
873 .Ed
874 .Pp
875 To load
876 .Nm
877 without any configuration
878 .Bd -literal -offset indent
879 telescope -c /dev/null
880 .Ed
881 .Sh AUTHORS
882 .An -nosplit
883 The
884 .Nm
885 program was written by
886 .An Omar Polo Aq Mt op@omarpolo.com .
887 .Sh BUGS
888 There's no UI for out-of-band certificates validation.