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
63 bba111bc 2021-03-28 op .Bl -tag -width 12m
65 bba111bc 2021-03-28 op is the hostname.
67 bba111bc 2021-03-28 op is the hash of the certificate, as outputted by
68 bba111bc 2021-03-28 op .Xr tls_peer_cert_hash 3 Ns .
70 bba111bc 2021-03-28 op a single digit.
71 bba111bc 2021-03-28 op 0 means trusted, 1 verified.
73 bba111bc 2021-03-28 op .Sh DEFAULT KEY BINDINGS
74 bba111bc 2021-03-28 op The default key bindings are very similar to GNU Emacs, but care has
75 bba111bc 2021-03-28 op been taken to include also bindings familiar for
80 bba111bc 2021-03-28 op In the following examples, C-x means Control-x, M-x means Meta-x,
81 bba111bc 2021-03-28 op where the Meta key may be either a special key on the keyboard or the
82 bba111bc 2021-03-28 op ALT key; otherwise ESC followed by the key X works as well, and C-M-x
83 bba111bc 2021-03-28 op means to press the key X together with both Control and Meta.
85 bba111bc 2021-03-28 op Keys are usually a single character, like
89 bba111bc 2021-03-28 op but some special keys are accepted as well.
91 bba111bc 2021-03-28 op .Bl -tag -width 16m -offset indent -compact
101 bba111bc 2021-03-28 op Previous page/Page up
103 bba111bc 2021-03-28 op Next page/Page down
108 bba111bc 2021-03-28 op .It <f0> thru <f63>
109 bba111bc 2021-03-28 op Function keys
110 bba111bc 2021-03-28 op .It del or backspace
114 bba111bc 2021-03-28 op .It space or spc
116 bba111bc 2021-03-28 op .It enter or ret
121 bba111bc 2021-03-28 op .Ss GNU Emacs-like keys
122 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
124 bba111bc 2021-03-28 op .Ic previous-line
126 bba111bc 2021-03-28 op .Ic next-line
128 bba111bc 2021-03-28 op .Ic forward-char
130 bba111bc 2021-03-28 op .Ic backward-char
132 bba111bc 2021-03-28 op .Ic backward-paragraph
134 bba111bc 2021-03-28 op .Ic forward-paragraph
136 bba111bc 2021-03-28 op .Ic move-beginning-of-line
138 bba111bc 2021-03-28 op .Ic move-end-of-line
139 bba111bc 2021-03-28 op .It M-v, M-space
140 bba111bc 2021-03-28 op .Ic scroll-up
141 bba111bc 2021-03-28 op .It C-v, space
142 bba111bc 2021-03-28 op .Ic scroll-down
144 bba111bc 2021-03-28 op .Ic beginning-of-buffer
146 bba111bc 2021-03-28 op .Ic end-of-buffer
148 bba111bc 2021-03-28 op .Ic kill-telescope
150 bba111bc 2021-03-28 op .Ic clear-minibuf
152 bba111bc 2021-03-28 op .Ic execute-extended-command
156 bba111bc 2021-03-28 op .Ic load-current-url
158 bba111bc 2021-03-28 op .Ic tab-close
160 bba111bc 2021-03-28 op .Ic tab-close-other
166 bba111bc 2021-03-28 op .Ic tab-previous
170 bba111bc 2021-03-28 op .Ic tab-move-to
172 bba111bc 2021-03-28 op .Ic previous-page
174 bba111bc 2021-03-28 op .Ic next-page
176 bba111bc 2021-03-28 op .Ic bookmark-page
177 bba111bc 2021-03-28 op .It <f7> <f7>
178 bba111bc 2021-03-28 op .Ic goto-bookmarks
180 bba111bc 2021-03-28 op .Ss Xr vi 1 Ns -like keys
181 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
183 bba111bc 2021-03-28 op .Ic previous-line
185 bba111bc 2021-03-28 op .Ic next-line
187 bba111bc 2021-03-28 op .Ic forward-char
189 bba111bc 2021-03-28 op .Ic backward-char
191 bba111bc 2021-03-28 op .Ic backward-paragraph
193 bba111bc 2021-03-28 op .Ic forward-paragraph
195 bba111bc 2021-03-28 op .Ic move-beginning-of-line
197 bba111bc 2021-03-28 op .Ic move-end-of-line
199 bba111bc 2021-03-28 op .Ic scroll-line-up
201 bba111bc 2021-03-28 op .Ic scroll-line-down
203 bba111bc 2021-03-28 op .Ic beginning-of-buffer
205 bba111bc 2021-03-28 op .Ic end-of-buffer
207 bba111bc 2021-03-28 op .Ic tab-close
213 bba111bc 2021-03-28 op .Ic tab-previous
217 bba111bc 2021-03-28 op .Ic tab-move-to
219 bba111bc 2021-03-28 op .Ic previous-page
221 bba111bc 2021-03-28 op .Ic next-page
223 bba111bc 2021-03-28 op .Ic kill-telescope
225 bba111bc 2021-03-28 op .Ic clear-minibuf
227 bba111bc 2021-03-28 op .Ic execute-extended-command
229 bba111bc 2021-03-28 op .Ss CUA-like keys
230 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
232 bba111bc 2021-03-28 op .Ic previous-line
234 bba111bc 2021-03-28 op .Ic next-line
236 bba111bc 2021-03-28 op .Ic forward-char
238 bba111bc 2021-03-28 op .Ic backward-char
240 bba111bc 2021-03-28 op .Ic scroll-up
242 bba111bc 2021-03-28 op .Ic scroll-down
244 bba111bc 2021-03-28 op .Ic previous-page
245 bba111bc 2021-03-28 op .It M-<right>
246 bba111bc 2021-03-28 op .Ic next-page
248 bba111bc 2021-03-28 op .Ss Neither Emacs nor vi specific
249 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
251 bba111bc 2021-03-28 op .Ic push-button
253 bba111bc 2021-03-28 op .Ic push-button-new-tab
255 bba111bc 2021-03-28 op .Ic previous-button
257 bba111bc 2021-03-28 op .Ic next-button
259 bba111bc 2021-03-28 op .Ss Minibuffer-specific keys
260 bba111bc 2021-03-28 op .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
262 bba111bc 2021-03-28 op .Ic mini-complete-and-exit
264 bba111bc 2021-03-28 op .Ic mini-abort
266 bba111bc 2021-03-28 op .Ic mini-abort
268 bba111bc 2021-03-28 op .Ic mini-delete-char
270 bba111bc 2021-03-28 op .Ic mini-delete-backward-char
271 bba111bc 2021-03-28 op .It backspace
272 bba111bc 2021-03-28 op .Ic mini-delete-backward-char
274 bba111bc 2021-03-28 op .Ic mini-delete-backward-char
276 bba111bc 2021-03-28 op .Ic backward-char
278 bba111bc 2021-03-28 op .Ic forward-char
280 bba111bc 2021-03-28 op .Ic backward-char
282 bba111bc 2021-03-28 op .Ic forward-char
284 bba111bc 2021-03-28 op .Ic move-end-of-line
286 bba111bc 2021-03-28 op .Ic move-beginning-of-line
288 bba111bc 2021-03-28 op .Ic move-end-of-line
290 bba111bc 2021-03-28 op .Ic move-beginning-of-line
292 bba111bc 2021-03-28 op .Ic mini-kill-line
294 bba111bc 2021-03-28 op .Ic mini-previous-history-element
296 bba111bc 2021-03-28 op .Ic mini-next-history-element
298 bba111bc 2021-03-28 op .Ic mini-previous-history-element
300 bba111bc 2021-03-28 op .Ic mini-next-history-element
302 bba111bc 2021-03-28 op .Sh INTERACTIVE COMMANDS
303 bba111bc 2021-03-28 op Follows the documentation for the interactive commands.
304 bba111bc 2021-03-28 op These commands can be bound to a key or executed with
305 bba111bc 2021-03-28 op .Ic execute-extended-command .
306 bba111bc 2021-03-28 op .Ss Movement commands
307 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
308 bba111bc 2021-03-28 op .It Ic backward-char
309 bba111bc 2021-03-28 op Move point one character backward.
310 bba111bc 2021-03-28 op .It Ic backward-paragraph
311 bba111bc 2021-03-28 op Move point one paragraph backward.
312 bba111bc 2021-03-28 op .It Ic beginning-of-buffer
313 bba111bc 2021-03-28 op Move point to the beginning of the buffer.
314 bba111bc 2021-03-28 op .It Ic end-of-buffer
315 bba111bc 2021-03-28 op Move point to the end of the buffer.
316 bba111bc 2021-03-28 op .It Ic forward-char
317 bba111bc 2021-03-28 op Move point one character forward.
318 bba111bc 2021-03-28 op .It Ic forward-paragraph
319 bba111bc 2021-03-28 op Move point one paragraph forward.
320 bba111bc 2021-03-28 op .It Ic move-beginning-of-line
321 bba111bc 2021-03-28 op Move point at the beginning of the current (visual) line.
322 bba111bc 2021-03-28 op .It Ic move-end-of-line
323 bba111bc 2021-03-28 op Move point at the end of the current (visual) line.
324 bba111bc 2021-03-28 op .It Ic next-button
325 bba111bc 2021-03-28 op Move point to the next link.
326 bba111bc 2021-03-28 op .It Ic next-line
327 bba111bc 2021-03-28 op Move point to the next (visual) line, in the same column if possible.
328 bba111bc 2021-03-28 op .It Ic previous-button
329 bba111bc 2021-03-28 op Move point to the previous link.
330 bba111bc 2021-03-28 op .It Ic previous-line
331 bba111bc 2021-03-28 op Move point to the previous (visual) line.
333 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 bba111bc 2021-03-28 op .It Ic goto-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.
394 bba111bc 2021-03-28 op .Ss Minibuffer commands
395 bba111bc 2021-03-28 op .Bl -tag -width execute-extended-command -compact
396 bba111bc 2021-03-28 op .It Ic mini-abort
397 bba111bc 2021-03-28 op Abort the current minibuffer action.
398 bba111bc 2021-03-28 op .It Ic mini-complete-and-exit
399 bba111bc 2021-03-28 op Complete the current minibuffer action.
400 bba111bc 2021-03-28 op .It Ic mini-delete-backward-char
401 bba111bc 2021-03-28 op Delete the character before the point.
402 bba111bc 2021-03-28 op .It Ic mini-delete-char
403 bba111bc 2021-03-28 op Delete the character after the point.
404 bba111bc 2021-03-28 op .It Ic mini-kill-line
405 bba111bc 2021-03-28 op Delete from the point until the end of the line.
406 bba111bc 2021-03-28 op .It Ic mini-next-history-element
407 bba111bc 2021-03-28 op Load the previous history element.
408 bba111bc 2021-03-28 op .It Ic mini-previous-history-element
409 bba111bc 2021-03-28 op Load the next history element.
412 bba111bc 2021-03-28 op .Bl -tag -width Ds -compact
413 bba111bc 2021-03-28 op .It Pa ~/.telescope/bookmarks.gmi
414 bba111bc 2021-03-28 op Holds the bookmarks.
415 bba111bc 2021-03-28 op .It Pa ~/.telescope/known_hosts
416 bba111bc 2021-03-28 op Contains a list of host keys for all the hosts the user has visited.
417 bba111bc 2021-03-28 op See the TOFU section for more info.
422 bba111bc 2021-03-28 op program was written by
423 bba111bc 2021-03-28 op .An Omar Polo Aq Mt op@omarpolo.com .