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 bba111bc 2021-03-28 op is the hostname.
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 bba111bc 2021-03-28 op .Ic previous-line
125 bba111bc 2021-03-28 op .Ic next-line
127 bba111bc 2021-03-28 op .Ic forward-char
129 bba111bc 2021-03-28 op .Ic backward-char
131 bba111bc 2021-03-28 op .Ic backward-paragraph
133 bba111bc 2021-03-28 op .Ic forward-paragraph
135 bba111bc 2021-03-28 op .Ic move-beginning-of-line
137 bba111bc 2021-03-28 op .Ic move-end-of-line
138 bba111bc 2021-03-28 op .It M-v, M-space
139 bba111bc 2021-03-28 op .Ic scroll-up
140 bba111bc 2021-03-28 op .It C-v, space
141 bba111bc 2021-03-28 op .Ic scroll-down
143 bba111bc 2021-03-28 op .Ic beginning-of-buffer
145 bba111bc 2021-03-28 op .Ic end-of-buffer
147 bba111bc 2021-03-28 op .Ic kill-telescope
149 bba111bc 2021-03-28 op .Ic clear-minibuf
151 bba111bc 2021-03-28 op .Ic execute-extended-command
155 bba111bc 2021-03-28 op .Ic load-current-url
157 bba111bc 2021-03-28 op .Ic tab-close
159 bba111bc 2021-03-28 op .Ic tab-close-other
165 bba111bc 2021-03-28 op .Ic tab-previous
169 bba111bc 2021-03-28 op .Ic tab-move-to
171 bba111bc 2021-03-28 op .Ic previous-page
173 bba111bc 2021-03-28 op .Ic next-page
175 bba111bc 2021-03-28 op .Ic bookmark-page
176 bba111bc 2021-03-28 op .It <f7> <f7>
177 63875195 2021-04-01 op .Ic 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 bba111bc 2021-03-28 op .Ic previous-line
184 bba111bc 2021-03-28 op .Ic next-line
186 bba111bc 2021-03-28 op .Ic forward-char
188 bba111bc 2021-03-28 op .Ic backward-char
190 bba111bc 2021-03-28 op .Ic backward-paragraph
192 bba111bc 2021-03-28 op .Ic forward-paragraph
194 bba111bc 2021-03-28 op .Ic move-beginning-of-line
196 bba111bc 2021-03-28 op .Ic move-end-of-line
198 bba111bc 2021-03-28 op .Ic scroll-line-up
200 bba111bc 2021-03-28 op .Ic scroll-line-down
202 bba111bc 2021-03-28 op .Ic beginning-of-buffer
204 bba111bc 2021-03-28 op .Ic end-of-buffer
206 bba111bc 2021-03-28 op .Ic tab-close
212 bba111bc 2021-03-28 op .Ic tab-previous
216 bba111bc 2021-03-28 op .Ic tab-move-to
218 bba111bc 2021-03-28 op .Ic previous-page
220 bba111bc 2021-03-28 op .Ic next-page
222 bba111bc 2021-03-28 op .Ic kill-telescope
224 bba111bc 2021-03-28 op .Ic clear-minibuf
226 bba111bc 2021-03-28 op .Ic 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 bba111bc 2021-03-28 op .Ic previous-line
233 bba111bc 2021-03-28 op .Ic next-line
235 bba111bc 2021-03-28 op .Ic forward-char
237 bba111bc 2021-03-28 op .Ic backward-char
239 bba111bc 2021-03-28 op .Ic scroll-up
241 bba111bc 2021-03-28 op .Ic scroll-down
243 bba111bc 2021-03-28 op .Ic previous-page
244 bba111bc 2021-03-28 op .It M-<right>
245 bba111bc 2021-03-28 op .Ic next-page
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
250 7a014cef 2021-04-01 op .Ic toggle-help
252 bba111bc 2021-03-28 op .Ic push-button
254 bba111bc 2021-03-28 op .Ic push-button-new-tab
256 bba111bc 2021-03-28 op .Ic previous-button
258 bba111bc 2021-03-28 op .Ic next-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 bba111bc 2021-03-28 op .Ic mini-complete-and-exit
265 bba111bc 2021-03-28 op .Ic mini-abort
267 bba111bc 2021-03-28 op .Ic mini-abort
269 bba111bc 2021-03-28 op .Ic mini-delete-char
271 bba111bc 2021-03-28 op .Ic mini-delete-backward-char
272 bba111bc 2021-03-28 op .It backspace
273 bba111bc 2021-03-28 op .Ic mini-delete-backward-char
275 bba111bc 2021-03-28 op .Ic mini-delete-backward-char
277 bba111bc 2021-03-28 op .Ic backward-char
279 bba111bc 2021-03-28 op .Ic forward-char
281 bba111bc 2021-03-28 op .Ic backward-char
283 bba111bc 2021-03-28 op .Ic forward-char
285 bba111bc 2021-03-28 op .Ic move-end-of-line
287 bba111bc 2021-03-28 op .Ic move-beginning-of-line
289 bba111bc 2021-03-28 op .Ic move-end-of-line
291 bba111bc 2021-03-28 op .Ic move-beginning-of-line
293 bba111bc 2021-03-28 op .Ic mini-kill-line
295 bba111bc 2021-03-28 op .Ic mini-previous-history-element
297 bba111bc 2021-03-28 op .Ic mini-next-history-element
299 bba111bc 2021-03-28 op .Ic mini-previous-history-element
301 bba111bc 2021-03-28 op .Ic 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 bba111bc 2021-03-28 op .Bl -tag -width Ds -compact
416 bba111bc 2021-03-28 op .It Pa ~/.telescope/bookmarks.gmi
417 bba111bc 2021-03-28 op Holds the bookmarks.
418 bba111bc 2021-03-28 op .It Pa ~/.telescope/known_hosts
419 bba111bc 2021-03-28 op Contains a list of host keys for all the hosts the user has visited.
420 bba111bc 2021-03-28 op See the TOFU section for more info.
421 e9b1e094 2021-04-01 op .It Pa ~/.telescope/session
422 e9b1e094 2021-04-01 op Contains the list of opened tabs in the last session, one per line.
423 e9b1e094 2021-04-01 op Gets written on
424 e9b1e094 2021-04-01 op .Ic kill-telescope
425 e9b1e094 2021-04-01 op and loaded on startup.
431 bba111bc 2021-03-28 op program was written by
432 bba111bc 2021-03-28 op .An Omar Polo Aq Mt op@omarpolo.com .