Blob


1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>Telescope</title>
5 <meta charset="utf8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <style>
8 body {
9 font-family: monospace;
10 font-size: 14px;
11 max-width: 780px;
12 margin: 0 auto;
13 padding: 20px;
14 padding-bottom: 80px;
15 }
17 h1::before {
18 content: "# ";
19 }
21 h2 {
22 margin-top: 40px;
23 }
25 h2::before {
26 content: "## ";
27 }
29 h3::before {
30 content: "### ";
31 }
33 blockquote {
34 margin: 0;
35 padding: 0;
36 }
38 blockquote::before {
39 content: "> ";
40 }
42 blockquote p {
43 font-style: italic;
44 display: inline;
45 }
47 p.link::before {
48 content: "→ ";
49 }
51 hr {
52 border: 0;
53 height: 1px;
54 background-color: #222;
55 width: 100%;
56 display: block;
57 margin: 2em auto;
58 }
60 pre {
61 overflow: auto;
62 }
64 pre.banner {
65 display: flex;
66 flex-direction: row;
67 justify-content: center;
68 }
70 code, kbd {
71 color: #9d109d;
72 }
74 img {
75 display: block;
76 margin: 0 auto;
77 max-width: 100%;
78 }
80 @media (prefers-color-scheme: dark) {
81 body {
82 background-color: #222;
83 color: white;
84 }
86 img {
87 filter: brightness(0.65);
88 transition: filter 0.2s ease-in-out;
89 }
91 img:hover {
92 filter: brightness(1.0);
93 }
95 a {
96 color: aqua;
97 }
99 hr {
100 background-color: #ddd;
103 code, kbd {
104 color: #ff4cff;
108 @media (max-width: 400px) {
109 pre.banner { font-size: 9px; }
112 @media (max-width: 500px) {
113 pre.banner { font-size: 10px; }
115 </style>
116 </head>
117 <body>
118 <header>
119 <nav>
120 Home | <a href="/gallery/">Gallery</a> | <a href="telescope.1.html">Docs</a>
121 </nav>
122 </header>
123 <pre class="banner"> _______ __
124 |_ _|.-----.| |.-----.-----.----.-----.-----.-----.
125 | | | -__|| || -__|__ --| __| _ | _ | -__|
126 |___| |_____||__||_____|_____|____|_____| __|_____|
127 |__| v0.5.2</pre>
128 <blockquote>
129 <p>Telescope is a w3m-like browser for Gemini</p>
130 </blockquote>
131 <p>
132 Telescope is written entirely for fun, as a hobbystic project in
133 my free time. As such, it lacks a ton of features you’ll find
134 in more mature Gemini browsers, but it also has some unique
135 ones.
136 </p>
137 <p>
138 The UI is strongly inspired from Emacs and W3M, so you’ll find
139 some familiar concepts, such as the minibuffer or the tabline,
140 and the default keybindigs also reflect this, but keys familiar
141 for vi and CUA users are also present by default.
142 </p>
143 <p>
144 <a href="https://asciinema.org/a/426862" target="_blank">
145 <img src="https://asciinema.org/a/426862.svg" />
146 </a>
147 </p>
148 <h2>Install</h2>
149 <p>Some distros provide a package — thanks to the maintainers!</p>
150 <a href="https://repology.org/project/telescope/versions">
151 <img src="https://repology.org/badge/vertical-allrepos/telescope.svg" alt="Packaging status">
152 </a>
153 <p>Source code and precompiled binaries for linux are available:</p>
154 <ul>
155 <li>
156 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.2.tar.gz">
157 telescope-0.5.2.tar.gz
158 </a>
159 </li>
160 <li>
161 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope.linux.aarch64">
162 telescope.linux.aarch64
163 </a>
164 </li>
165 <li>
166 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope.linux.amd64">
167 telescope.linux.amd64
168 </a>
169 </li>
170 <li>
171 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.2-binaries.tar.gz">
172 telescope-0.5.2-binaries.tar.gz
173 </a>
174 </li>
175 </ul>
176 <p>
177 When in doubt, compile from source. It’s easy and takes less
178 than a minute on a raspberry pi 3. The dependencies are:
179 </p>
180 <ul>
181 <li>libncurses</li>
182 <li>libevent</li>
183 <li>libtls (from either LibreSSL or libretls)</li>
184 <li>yacc (or GNU bison)</li>
185 </ul>
186 <p>Once all the dependencies are installed, building is as easy as:</p>
187 <pre>$ curl -LO https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.2.tar.gz
188 $ tar xzvf telescope-0.5.2.tar.gz
189 $ cd telescope-0.5.2
190 $ ./configure
191 $ make
192 $ sudo make install # eventually
193 </pre>
194 <p>
195 A SHA256 file containing the checksums is available. However,
196 that only checks for accidental corruption: you can use signify
197 (<code>SHA256.sig</code> and the public key
198 <code>telescope-0.5.pub</code>) or GPG. The hash of the signify
199 public key is also included in the SHA256 file and signed with
200 my GPG too. The signify public key for the next release
201 <code>telescope-0.6.pub</code> is also included.
202 </p>
203 <ul>
204 <li>
205 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/SHA256">
206 SHA256
207 </a>
208 </li>
209 <li>
210 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/SHA256.gpg">
211 SHA256.gpg
212 </a>
213 </li>
214 <li>
215 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/SHA256.sig">
216 SHA256.sig
217 </a>
218 </li>
219 <li>
220 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.pub">
221 telescope-0.5.pub
222 </a>
223 </li>
224 <li>
225 <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.6.pub">
226 telescope-0.6.pub
227 </a>
228 </li>
229 </ul>
230 <p>How to verify the signature with signify:</p>
231 <pre>$ signify -C -p telescope-0.5.pub -x SHA256.sig
232 Signature Verified
233 telescope-0.5.2-binaries.tar.gz: OK
234 telescope-0.5.pub: OK
235 telescope-0.5.2.tar.gz: OK
236 telescope-0.6.pub: OK
237 telescope.linux.aarch64: OK
238 telescope.linux.amd64: OK
239 </pre>
240 <p>Finally, it’s possible to fetch the sources using git:</p>
241 <ul>
242 <li>
243 <a href="https://git.omarpolo.com/telescope/">git repository</a>
244 </li>
245 <li>
246 <a href="https://github.com/omar-polo/telescope">GitHub mirror</a>
247 </li>
248 </ul>
249 <h2>Changelog for the last versions</h2>
250 <p>0.5.2 “Le Nuvole” bugfix release — Released September 13, 2021</p>
251 <p>Bugfixes:</p>
252 <ul>
253 <li>
254 some very long pages can cause (rarely) telescope to render a
255 blank page
256 </li>
257 <li>allow creating files in <code>~/Downloads</code> on OpenBSD</li>
258 <li>reset download byte counter</li>
259 </ul>
260 <hr />
261 <p>0.5.1 “Le Nuvole” bugfix release — Released August 28, 2021</p>
262 <p>
263 Telescope used to trim the initial “/” in gopher requests: this
264 is not correct and while some servers are forgiving, other
265 (rightfully) aren't.
266 </p>
267 <hr />
268 <p>0.5 “Le Nuvole” — Released August 27, 2021</p>
269 <h3>New features</h3>
270 <ul>
271 <li>Support for the finger protocol</li>
272 <li>
273 Support for the gopher protocol (only item types 0, 1, and 7
274 for the moment)
275 </li>
276 <li>Highlight diff/patches</li>
277 <li>
278 Typing the protocol of a URI is not needed anymore: added some
279 heuristics to assume file:// URLs and fall back to gemini://
280 as default
281 </li>
282 <li>Open local files and directories</li>
283 <li>Add an autosave timer to persist the session once in a while</li>
284 <li>Scroll completions with M-v/C-v (mini-scroll-up/mini-scroll-down)</li>
285 <li>Variable `tab-bar-show' contrlos the visibility of the tab bar</li>
286 </ul>
287 <h3>Improvements</h3>
288 <ul>
289 <li>
290 New heuristics to extract a title for page without headings:
291 use the domain name or the "tilde username"
292 </li>
293 <li>About:new updated with some gopher links too</li>
294 <li>Reload doesn't push the current url to the history anymore</li>
295 <li>
296 Push-button-new-tab opens a new tab *right after* the current
297 one, not as the last
298 </li>
299 <li>Improved the crash detection</li>
300 <li>M-[ and M-] are bind to tab-move-to/tab-move</li>
301 </ul>
302 <h3>Bug fixes</h3>
303 <ul>
304 <li>Fixed some crashes caused by cursor movements on empty pages</li>
305 <li>Correctly parse multiple attributes</li>
306 </ul>
307 </body>
308 </html>