Blob
Date:
Mon May 9 07:31:07 2022
UTC
Message:
minor tweaks
# TelescopeTelescope is a Emacs/w3m-inspired browser for the "small internet"that supports Gemini, Gopher and Finger.Features:- tabs- bookmarks- privsep- minibuffer live narrowing- multiple protocols support- fully customizableThere are still various things missing or, if you prefer, variousthings that you can help develop :)- subscriptions- tofu oob verification- client certificates- add other GUIs: at the moment it uses only ncurses, but telescopeshouldn't be restricted to TTYs only](https://asciinema.org/a/426862)## Why yet another browser?One of the great virtues of Gemini is its simplicity. It means thatwriting browsers or server is easy and thus a plethora of thoseexists. I myself routinely switch between a couple of them, dependingon my mood.More browsers brings more stability as it became more difficult tochange the protocol, too.However, Telescope was ultimately written for fun, on a whim, just toplay with ncurses, libtls, libevent and the macros from `sys/queue.h`,but I'd like to finish it into a complete Gemini browser.## Goals- Fun: hacking on Telescope should be fun.- Clean: write readable and clean code mostly following the style(9)guideline. Don't become a kitchen sink.- Secure: write secure code with privilege separation to mitigate thesecurity risks of possible bugs.- Fast: it features a modern, fast, event-based asynchronous I/Omodel.- Cooperation: re-use existing conventions to allow inter-operationsand easy migrations from/to other clients.## TOFUTelescope aims to use the "Trust, but Verify (where appropriate)"approach outlined here:[gemini://thfr.info/gemini/modified-trust-verify.gmi](gemini://thfr.info/gemini/modified-trust-verify.gmi).The idea is to define three level of verification for a certificate:- **untrusted**: the server fingerprint does NOT match the storedvalue- **trusted**: the server fingerprint matches the stored one- **verified**: the fingerprint matches and has been verifiedout-of-band by the client.Most of the time, the `trusted` level is enough, but where isappropriate users should be able to verify out-of-band thecertificate.At the moment there is no UI for oob-verification though.## BuildingTelescope depends on ncursesw, libtls (from either LibreSSL orlibretls), libevent (either v1 or v2) and pkg-config. When buildingfrom a git checkout, yacc (or bison) is also needed.To build from a release tarball just execute:$ ./configure$ make$ sudo make installThe configure script has optional support for building with librariesprovided by your distribution instead of using the bundled versions:- `--with-libbsd`: link with [libbsd](https://libbsd.freedesktop.org)- `--with-libimsg`: link with the[imsg-compat](https://github.com/bsd-ac/imsg-compat) libraryIf you want to build from the git checkout, something that'sdiscouraged for users that don't intend to hack on telescope$ ./autogen.sh$ ./configure$ make$ sudo make install # eventuallyPlease keep in mind that the main branch, from time to time, may beaccidentally broken on some platforms. Telescope is developedprimarily on OpenBSD/amd64 and commits on the main branch don't getalways tested in other OSes. Before tagging a release however, acomprehensive testing on various platforms is done to ensureeverything is working as intended.## ContributingAny form of contribution is appreciated, not only patches or bugreports: feel free to open an issue or send an email to`telescope@omarpolo.com`.If you have a sample configuration, custom theme, a script or anythingthat could be helpful to others, consider adding it to the `contrib`directory.## User filesTelescope stores user files according to the [XDG Base DirectorySpecification][xdg] by default. The usage and contents of these filesare described in [the man page](telescope.1), under "FILES".Only one instance of Telescope can be running at time per user.## LicenseTelescope is distributed under a BSD-style licence. The main code isunder the ISC but for files under `compat/` it varies.`data/emoji.txt` is copyright © 1991-2021 Unicode, Inc. anddistributed under the [UNICODE, Inc licenseagreement][unicode-license].[unicode-license]: https://www.unicode.org/license.html[xdg]: https://specifications.freedesktop.org/basedir-spec/latest/
Omar Polo