commit - a01cd9148fe065a76e0ec70cf76b0d9f59862dbe
commit + 5899eca95080cd35ecadf5da3b9576460425b81b
blob - ee94aa1222f2a16743cda31b4124cabc028e2e6b
blob + bf7efae3c1fcd2dfb722f00f90e5dbd6041603a3
--- README.md
+++ README.md
Telescope is a Emacs/w3m-inspired browser for the "small internet"
that supports Gemini, Gopher and Finger.
-Features:
+In features some expected stuff (tabs, bookmarks, history, client
+certificates, ...) with an UI that's very much Emacs and w3m inspired,
+and a privsep design.
- - tabs
- - bookmarks
- - privsep
- - minibuffer live narrowing
- - multiple protocols support
- - fully customizable
- - client certificates
-
There are still various things missing or, if you prefer, various
things that you can help develop :)
+ - other "smol internet" protocols
- subscriptions
- - tofu oob verification
- - add other GUIs: at the moment it uses only ncurses, but telescope
+ - TOFU out-of-band verification and/or DANE
+ - multiple UIs: at the moment it uses only ncurses, but telescope
shouldn't be restricted to TTYs only!
[](https://asciinema.org/a/426862)
exists. I myself routinely switch between a couple of them, depending
on my mood.
-More browsers brings more stability as it became more difficult to
-change the protocol, too.
+More browsers means more choice for the users, and more stability for
+the protocol too.
However, Telescope was ultimately written for fun, on a whim, just to
-play with ncurses, libtls, libevent and the macros from `sys/queue.h`,
+play with ncurses, libtls, async I/O 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.
+ - Clean: write readable and clean code mostly following the OpenBSD
+ style(9) guideline. Don't become a kitchen sink.
- Secure: write secure code with privilege separation to mitigate the
security risks of possible bugs.
- Fast: it features a modern, fast, event-based asynchronous I/O
appropriate users should be able to verify out-of-band the
certificate.
-At the moment there is no UI for oob-verification though.
+At the moment there is no UI for out-of-band verification though.
## Building
-Telescope depends on ncursesw, libtls (from either LibreSSL or
-libretls), libevent (either v1 or v2) and pkg-config.
+Telescope depends on ncursesw, libtls or libretls, and pkg-config.
[libgrapheme][libgrapheme] is an optional dependency: there's a
-bundled copy but it's reccomended to install it if available. When
-building from a git checkout, yacc (or bison) is also needed.
+bundled copy but it's reccomended to install it with a package manager
+if available. When building from a git checkout, yacc (or bison) is
+also needed.
-To build from a release tarball just execute:
+To build execute:
+ $ ./autogen.sh # only from git checkouts
$ ./configure
$ make
- $ sudo make install
+ $ sudo make install # eventually
The configure script has optional support for building with libraries
provided by your distribution instead of using the bundled versions:
- `--with-libbsd`: link with [libbsd][libbsd]
- `--with-libimsg`: link with the [imsg-compat][imsg-compat] library
-If you want to build from the git checkout, something that's
-discouraged for users that don't intend to hack on telescope
-
- $ ./autogen.sh
- $ ./configure
- $ make
- $ sudo make install # eventually
-
-Please keep in mind that the main branch, from time to time, may be
-accidentally broken on some platforms. Telescope is developed
-primarily on OpenBSD/amd64 and commits on the main branch don't get
-always tested in other OSes. Before tagging a release however, a
-comprehensive testing on various platforms is done to ensure
-everything is working as intended.
-
[libbsd]: https://libbsd.freedesktop.org
[imsg-compat]: https://github.com/bsd-ac/imsg-compat
[libgrapheme]: https://libs.suckless.org/libgrapheme/
Specification][xdg] by default. The usage and contents of these files
are described in [the man page](telescope.1), under "FILES".
-Only one instance of Telescope can be running at time per user.
+At the moment, only one instance of Telescope can be running at time per
+user.
## License
Telescope is distributed under a BSD-style licence. The main code is
-under the ISC but for files under `compat/` it varies.
+either under the ISC or is Public Domain, but some files under `compat/`
+are 3-Clause BSD or MIT. See the first few lines of every file or
+`about:license` inside telescope for the copyright information.
`data/emoji.txt` is copyright © 2022 Unicode, Inc. and distributed
under the [UNICODE, Inc license agreement][unicode-license].