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
25 bba111bc 2021-03-28 op .Sh DESCRIPTION
27 bba111bc 2021-03-28 op is an interactive browser for the Gemini protocol.
28 bba111bc 2021-03-28 op It is able to process text/gemini and more in general every text/* file.
30 bba111bc 2021-03-28 op also features tabs, bookmarks and out-of-band TOFU verification.
33 bba111bc 2021-03-28 op aims to use the "Trust, but Verify (where appropriate)" approach.
34 bba111bc 2021-03-28 op The idea is to define three level of verification for a certificate:
35 bba111bc 2021-03-28 op .Bl -tag -width 12m
37 bba111bc 2021-03-28 op the server fingerprint does NOT match the stored value
39 bba111bc 2021-03-28 op the server fingerprint matches the store one
41 bba111bc 2021-03-28 op the fingerprint matches and has been verified out-of-band
44 bba111bc 2021-03-28 op Most of the time the
46 bba111bc 2021-03-28 op level is enough, but where is appropriate users should be able to
47 bba111bc 2021-03-28 op verify out-of-band the certificate.
49 bba111bc 2021-03-28 op At the moment, there is no built-in support for an out-of-band
50 bba111bc 2021-03-28 op verification though.
52 bba111bc 2021-03-28 op Known certificates are store in
53 bba111bc 2021-03-28 op .Pa ~/.telescope/known_hosts
54 bba111bc 2021-03-28 op with a format similar to the
55 bba111bc 2021-03-28 op .Xr ssh 1 Ns '
56 bba111bc 2021-03-28 op .Pa known_hosts
58 bba111bc 2021-03-28 op Each line is a record and it's made up by three fields, separated by a
59 bba111bc 2021-03-28 op single space, according to the following format:
60 bba111bc 2021-03-28 op .Dq HOST HASH TRUSTED
62 bba111bc 2021-03-28 op .Bl -tag -width 12m
64 eb4388ee 2021-04-25 op the hostname, optionally followed by a colon (":") and a port number.
66 bba111bc 2021-03-28 op is the hash of the certificate, as outputted by
67 6c04e8b6 2021-04-01 op .Xr tls_peer_cert_hash 3 .
69 bba111bc 2021-03-28 op a single digit.
70 bba111bc 2021-03-28 op 0 means trusted, 1 verified.
72 bba111bc 2021-03-28 op .Sh DEFAULT KEY BINDINGS
73 bba111bc 2021-03-28 op The default key bindings are very similar to GNU Emacs, but care has
74 bba111bc 2021-03-28 op been taken to include also bindings familiar for
79 bba111bc 2021-03-28 op In the following examples, C-x means Control-x, M-x means Meta-x,
80 bba111bc 2021-03-28 op where the Meta key may be either a special key on the keyboard or the
81 bba111bc 2021-03-28 op ALT key; otherwise ESC followed by the key X works as well, and C-M-x
82 bba111bc 2021-03-28 op means to press the key X together with both Control and Meta.
84 bba111bc 2021-03-28 op Keys are usually a single character, like
88 bba111bc 2021-03-28 op but some special keys are accepted as well.
90 bba111bc 2021-03-28 op .Bl -tag -width 16m -offset indent -compact
100 bba111bc 2021-03-28 op Previous page/Page up
102 bba111bc 2021-03-28 op Next page/Page down
107 bba111bc 2021-03-28 op .It <f0> thru <f63>
108 bba111bc 2021-03-28 op Function keys
109 bba111bc 2021-03-28 op .It del or backspace
113 bba111bc 2021-03-28 op .It space or spc
115 bba111bc 2021-03-28 op .It enter or ret
120 bba111bc 2021-03-28 op .Ss GNU Emacs-like keys
121 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
123 7dbaef94 2021-04-22 op previous-line
129 7dbaef94 2021-04-22 op backward-char
131 7dbaef94 2021-04-22 op backward-paragraph
133 7dbaef94 2021-04-22 op forward-paragraph
135 7dbaef94 2021-04-22 op move-beginning-of-line
137 7dbaef94 2021-04-22 op move-end-of-line
138 bba111bc 2021-03-28 op .It M-v, M-space
140 bba111bc 2021-03-28 op .It C-v, space
143 7dbaef94 2021-04-22 op beginning-of-buffer
145 7dbaef94 2021-04-22 op end-of-buffer
147 7dbaef94 2021-04-22 op kill-telescope
149 7dbaef94 2021-04-22 op clear-minibuf
151 7dbaef94 2021-04-22 op execute-extended-command
155 7dbaef94 2021-04-22 op load-current-url
159 7dbaef94 2021-04-22 op tab-close-other
171 7dbaef94 2021-04-22 op previous-page
175 7dbaef94 2021-04-22 op bookmark-page
176 bba111bc 2021-03-28 op .It <f7> <f7>
177 7dbaef94 2021-04-22 op list-bookmarks
179 bba111bc 2021-03-28 op .Ss Xr vi 1 Ns -like keys
180 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
182 7dbaef94 2021-04-22 op previous-line
188 7dbaef94 2021-04-22 op backward-char
190 7dbaef94 2021-04-22 op backward-paragraph
192 7dbaef94 2021-04-22 op forward-paragraph
194 7dbaef94 2021-04-22 op move-beginning-of-line
196 7dbaef94 2021-04-22 op move-end-of-line
198 7dbaef94 2021-04-22 op scroll-line-up
200 7dbaef94 2021-04-22 op scroll-line-down
202 7dbaef94 2021-04-22 op beginning-of-buffer
204 7dbaef94 2021-04-22 op end-of-buffer
218 7dbaef94 2021-04-22 op previous-page
222 7dbaef94 2021-04-22 op kill-telescope
224 7dbaef94 2021-04-22 op clear-minibuf
226 7dbaef94 2021-04-22 op execute-extended-command
228 bba111bc 2021-03-28 op .Ss CUA-like keys
229 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
231 7dbaef94 2021-04-22 op previous-line
237 7dbaef94 2021-04-22 op backward-char
243 7dbaef94 2021-04-22 op previous-page
244 bba111bc 2021-03-28 op .It M-<right>
247 bba111bc 2021-03-28 op .Ss Neither Emacs nor vi specific
248 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
254 7dbaef94 2021-04-22 op push-button-new-tab
256 7dbaef94 2021-04-22 op previous-button
260 bba111bc 2021-03-28 op .Ss Minibuffer-specific keys
261 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
263 7dbaef94 2021-04-22 op mini-complete-and-exit
269 7dbaef94 2021-04-22 op mini-delete-char
271 7dbaef94 2021-04-22 op mini-delete-backward-char
272 bba111bc 2021-03-28 op .It backspace
273 7dbaef94 2021-04-22 op mini-delete-backward-char
275 7dbaef94 2021-04-22 op mini-delete-backward-char
277 7dbaef94 2021-04-22 op backward-char
281 7dbaef94 2021-04-22 op backward-char
285 7dbaef94 2021-04-22 op move-end-of-line
287 7dbaef94 2021-04-22 op move-beginning-of-line
289 7dbaef94 2021-04-22 op move-end-of-line
291 7dbaef94 2021-04-22 op move-beginning-of-line
293 7dbaef94 2021-04-22 op mini-kill-line
295 7dbaef94 2021-04-22 op mini-previous-history-element
297 7dbaef94 2021-04-22 op mini-next-history-element
299 7dbaef94 2021-04-22 op mini-previous-history-element
301 7dbaef94 2021-04-22 op mini-next-history-element
303 bba111bc 2021-03-28 op .Sh INTERACTIVE COMMANDS
304 bba111bc 2021-03-28 op Follows the documentation for the interactive commands.
305 bba111bc 2021-03-28 op These commands can be bound to a key or executed with
306 bba111bc 2021-03-28 op .Ic execute-extended-command .
307 bba111bc 2021-03-28 op .Ss Movement commands
308 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
309 bba111bc 2021-03-28 op .It Ic backward-char
310 bba111bc 2021-03-28 op Move point one character backward.
311 bba111bc 2021-03-28 op .It Ic backward-paragraph
312 bba111bc 2021-03-28 op Move point one paragraph backward.
313 bba111bc 2021-03-28 op .It Ic beginning-of-buffer
314 bba111bc 2021-03-28 op Move point to the beginning of the buffer.
315 bba111bc 2021-03-28 op .It Ic end-of-buffer
316 bba111bc 2021-03-28 op Move point to the end of the buffer.
317 bba111bc 2021-03-28 op .It Ic forward-char
318 bba111bc 2021-03-28 op Move point one character forward.
319 bba111bc 2021-03-28 op .It Ic forward-paragraph
320 bba111bc 2021-03-28 op Move point one paragraph forward.
321 bba111bc 2021-03-28 op .It Ic move-beginning-of-line
322 bba111bc 2021-03-28 op Move point at the beginning of the current (visual) line.
323 bba111bc 2021-03-28 op .It Ic move-end-of-line
324 bba111bc 2021-03-28 op Move point at the end of the current (visual) line.
325 bba111bc 2021-03-28 op .It Ic next-button
326 bba111bc 2021-03-28 op Move point to the next link.
327 bba111bc 2021-03-28 op .It Ic next-line
328 bba111bc 2021-03-28 op Move point to the next (visual) line, in the same column if possible.
329 bba111bc 2021-03-28 op .It Ic previous-button
330 bba111bc 2021-03-28 op Move point to the previous link.
331 bba111bc 2021-03-28 op .It Ic previous-line
332 bba111bc 2021-03-28 op Move point to the previous (visual) line.
334 bba111bc 2021-03-28 op .Ss Bookmark-related commands
335 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
336 bba111bc 2021-03-28 op .It Ic bookmark-page
337 bba111bc 2021-03-28 op Add a link to the bookmark file.
338 bba111bc 2021-03-28 op It preloads the minibuffer with the current URL.
339 63875195 2021-04-01 op .It Ic list-bookmarks
340 bba111bc 2021-03-28 op Load the bookmarks page.
342 bba111bc 2021-03-28 op .Ss Tab-related commands
343 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
344 bba111bc 2021-03-28 op .It Ic tab-close
345 bba111bc 2021-03-28 op Close the current tab.
346 bba111bc 2021-03-28 op .It Ic tab-close-other
347 bba111bc 2021-03-28 op Close all tabs but the current one.
348 bba111bc 2021-03-28 op .It Ic tab-move
349 bba111bc 2021-03-28 op Move the current tab after the next one, wrapping around if
351 bba111bc 2021-03-28 op .It Ic tab-move-to
352 bba111bc 2021-03-28 op Move the current tab before the previous one, wrapping around if needed.
353 bba111bc 2021-03-28 op .It Ic tab-new
354 bba111bc 2021-03-28 op Open a new tab.
355 bba111bc 2021-03-28 op .It Ic tab-next
356 bba111bc 2021-03-28 op Focus next tab, wrapping around eventually.
357 bba111bc 2021-03-28 op .It Ic tab-previous
358 bba111bc 2021-03-28 op Focus the previous tab, wrapping around eventually.
360 bba111bc 2021-03-28 op .Ss Misc commands
361 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
362 bba111bc 2021-03-28 op .It Ic clear-minibuf
363 bba111bc 2021-03-28 op Clears the echo area.
364 bba111bc 2021-03-28 op .It Ic execute-extended-command
365 bba111bc 2021-03-28 op Prompts for a command name using the minibuffer.
366 bba111bc 2021-03-28 op .It Ic kill-telescope
369 bba111bc 2021-03-28 op .It Ic load-current-url
370 bba111bc 2021-03-28 op Prompts for an URL, the minibuffer is preloaded with the current
372 bba111bc 2021-03-28 op .It Ic load-url
373 bba111bc 2021-03-28 op Prompts for an URL.
374 bba111bc 2021-03-28 op .It Ic next-page
375 bba111bc 2021-03-28 op Load the next item in the history list.
376 bba111bc 2021-03-28 op .It Ic previous-page
377 bba111bc 2021-03-28 op Load the previous item in the history list.
378 bba111bc 2021-03-28 op .It Ic push-button
379 bba111bc 2021-03-28 op Follow the link on the current line.
380 bba111bc 2021-03-28 op .It Ic push-button-new-tab
381 bba111bc 2021-03-28 op Follow the link on the current line on a new tab.
382 bba111bc 2021-03-28 op .It Ic redraw
383 bba111bc 2021-03-28 op Redraws the screen, useful if some background program messed up the
385 bba111bc 2021-03-28 op .It Ic scroll-down
386 bba111bc 2021-03-28 op Scroll down by one visual page.
387 bba111bc 2021-03-28 op .It Ic scroll-line-down
388 bba111bc 2021-03-28 op Scroll down by one line.
389 bba111bc 2021-03-28 op .It Ic scroll-line-up
390 bba111bc 2021-03-28 op Scroll up by one line.
391 bba111bc 2021-03-28 op .It Ic scroll-up
392 bba111bc 2021-03-28 op Scroll up by one visual page.
393 7a014cef 2021-04-01 op .It Ic toggle-help
394 7a014cef 2021-04-01 op Toggle side window with help about available keys and their associated
395 7a014cef 2021-04-01 op interactive command.
397 bba111bc 2021-03-28 op .Ss Minibuffer commands
398 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
399 bba111bc 2021-03-28 op .It Ic mini-abort
400 bba111bc 2021-03-28 op Abort the current minibuffer action.
401 bba111bc 2021-03-28 op .It Ic mini-complete-and-exit
402 bba111bc 2021-03-28 op Complete the current minibuffer action.
403 bba111bc 2021-03-28 op .It Ic mini-delete-backward-char
404 bba111bc 2021-03-28 op Delete the character before the point.
405 bba111bc 2021-03-28 op .It Ic mini-delete-char
406 bba111bc 2021-03-28 op Delete the character after the point.
407 bba111bc 2021-03-28 op .It Ic mini-kill-line
408 bba111bc 2021-03-28 op Delete from the point until the end of the line.
409 bba111bc 2021-03-28 op .It Ic mini-next-history-element
410 bba111bc 2021-03-28 op Load the previous history element.
411 bba111bc 2021-03-28 op .It Ic mini-previous-history-element
412 bba111bc 2021-03-28 op Load the next history element.
415 7d2d15f5 2021-04-30 op The following aliases are available during
416 7d2d15f5 2021-04-30 op .Ic execute-extended-command :
417 7d2d15f5 2021-04-30 op .Bl -tag -width 16m -compact
420 c82b3fd6 2021-05-12 op .It Ic tabnew
423 c82b3fd6 2021-05-12 op .Ic tab-previous
424 7d2d15f5 2021-04-30 op .It Ic q No and Ic wq
425 7d2d15f5 2021-04-30 op .Ic kill-telescope
428 bba111bc 2021-03-28 op .Bl -tag -width Ds -compact
429 bba111bc 2021-03-28 op .It Pa ~/.telescope/bookmarks.gmi
430 bba111bc 2021-03-28 op Holds the bookmarks.
431 bba111bc 2021-03-28 op .It Pa ~/.telescope/known_hosts
432 bba111bc 2021-03-28 op Contains a list of host keys for all the hosts the user has visited.
433 bba111bc 2021-03-28 op See the TOFU section for more info.
434 e9b1e094 2021-04-01 op .It Pa ~/.telescope/session
435 e9b1e094 2021-04-01 op Contains the list of opened tabs in the last session, one per line.
436 e9b1e094 2021-04-01 op Gets written on
437 e9b1e094 2021-04-01 op .Ic kill-telescope
438 e9b1e094 2021-04-01 op and loaded on startup.
444 bba111bc 2021-03-28 op program was written by
445 bba111bc 2021-03-28 op .An Omar Polo Aq Mt op@omarpolo.com .