💾 Archived View for gemi.dev › gemini-mailing-list › 000950.gmi captured on 2023-11-04 at 13:13:27. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Hello everyone, During the last 3/4 months I've been working on a yet another Gemini ncurses client: telescope => gemini://telescope.omarpolo.com => https://telescope.omarpolo.com It's obviously a project only for fun, in a very-WIP stage and with lots of missing pieces, but it's improving and I've reached the point where I think I can present it to a wider audience. The main difference between telescope and others (I've only tried tinmop and amfora as TUI clients) is the Emacs (and w3m) inspired interface: instead of scrolling a page and typing a number to open a link, you have a cursor you can move freely around the page. The default keybindings are heavily inspired from Emacs, but I tried at least to include some keys familiar to vi(1) users, so hjkl, gg, G, gT etc. work. All the keybindings are customizable anyway. The current list of features is honestly quite short:
Hi Omar, Thanks for your work. Just a quick heads up, your Guix link featured on your HTTPS project homepage (I cant access Gemini on this device atm) is broken. It links to version 0.2 (giving a server error on the Guix page^1, whereas 0.3 is now available (and => https://guix.gnu.org/en/packages/telescope-0.3/ I noticed the inputs into the system, nice and lightweight! => https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/web-browsers.scm#n911 Im looking forward to testing it. Btw, what your impression of tinmop? I havent tried it yet. ^1 I dont recall the Guix HTTP package page navigating by version number. It makes sense I suppose. ==================== Jonathan McHugh indieterminacy at libre.brussels July 1, 2021 6:52 PM, "Omar Polo" <op at omarpolo.com> wrote: > Hello everyone, > > During the last 3/4 months I've been working on a yet another Gemini > ncurses client: telescope > > => gemini://telescope.omarpolo.com > => https://telescope.omarpolo.com > > It's obviously a project only for fun, in a very-WIP stage and with lots > of missing pieces, but it's improving and I've reached the point where I > think I can present it to a wider audience. > > The main difference between telescope and others (I've only tried tinmop > and amfora as TUI clients) is the Emacs (and w3m) inspired interface: > instead of scrolling a page and typing a number to open a link, you have > a cursor you can move freely around the page. > > The default keybindings are heavily inspired from Emacs, but I tried at > least to include some keys familiar to vi(1) users, so hjkl, gg, G, gT > etc. work. All the keybindings are customizable anyway. > > The current list of features is honestly quite short: > * color and keybindings are customizable > * history > * rudimentary bookmark management > * tabs (on startup reloads the last set of tabs) > * streaming pages > * rich set of commands to move around the page > * splitted in three different process, each one is pledged (this only > on OpenBSD ofc; will add seccomp/landlock in the future, probably) > > while the TODO list is ever-growing! > > I know there are various annoyances still (I just fixed the resize > "jump" in the main branch for instance), but as I was saying, it has > now reached a point where I think it's starting to become "usable". I'd > love to receive feedbacks (and even more patches! :P) > > Telescope 0.3 is available on guix, thanks to cage who did the work. > Precompiled binaries for linux amd64 and aarch64 are available from the > site, but it's very easy to compile from source since it only depends on > libevent, libncursesw, libtls and yacc/bison. It's known to compile and > run on FreeBSD too. > > Cheers, > > Omar Polo
Hi Omar, Would you please mind elaborating on this bullet point please? ```
Jonathan McHugh <indieterminacy at libre.brussels> writes: > Hi Omar, > > Would you please mind elaborating on this bullet point please? > ``` > * splitted in three different process, each one is pledged (this only > on OpenBSD ofc; will add seccomp/landlock in the future, probably) > ``` > > I feels like something I could just nod along to (without really/properly understanding) but I suspect it is probably an interesting design concept. Probably I should have use the "privsep" term, but it felt a slightly exaggeration. Telescope forks as soon as it can into three processes, each one does only one thing (conceptually) and they talk via IPC (using imsg from OpenBSD' libutil in particular). Furthermore, on OpenBSD, each process is sandboxed with pledge(2) [0]. It's on my todo-list to do the same with seccomp on linux, but later, probably around the 1.0. Seccomp is very low-level and in general annoying to work with. This way, for e.g. the `client' process (the only one with the network access) can't be tricked into reading your ssh keys, because the kernel would kill it as soon as it tries to open(2). Modern web browsers also do something similar to this, at least to my understanding. (see firefox project electrolysis and fission) This is usually considered a security technique and while that's true, I find that it also encourages cleaner code that's simpler to reason about, when writing C at least. I wrote more about pledge/seccomp/capsicum here[1]: while the details regarding the implementation of gmid have changed a bit, the overall description of the different sandboxes is still relevant :) Cheers, Omar Polo [0]: gemini://gemini.omarpolo.com/cgi/man/pledge or https://man.openbsd.org/pledge [1]: gemini://gemini.omarpolo.com/post/gmid-sandbox.gmi P.S.: Thanks for noticing the wrong url. I fixed it in the gemini version of the page when the patch for telescope 0.3 was committed, but forgot to update it in http-land! P.P.S: regarding tinmop: it's a very peculiar program -- in a good way. It's both a pleroma AND gemini client! It's a complete client: it has subscriptions support, a really cool history completion UI, built-in help, IRI support (I haven't tested this one though) and so on. And did I mention that it's also a pleroma client? :D I'm a little bit biased though, because both cage and I are usually on #gemini-it on libera.chat and talk frequently. He (and the others there) have influenced telescope and I think I can say that I did the same with tinmop. > Kind regards, > > ==================== > Jonathan McHugh > indieterminacy at libre.brussels > > July 1, 2021 6:52 PM, "Omar Polo" <op at omarpolo.com> wrote: > >> Hello everyone, >> >> During the last 3/4 months I've been working on a yet another Gemini >> ncurses client: telescope >> >> => gemini://telescope.omarpolo.com >> => https://telescope.omarpolo.com >> >> It's obviously a project only for fun, in a very-WIP stage and with lots >> of missing pieces, but it's improving and I've reached the point where I >> think I can present it to a wider audience. >> >> The main difference between telescope and others (I've only tried tinmop >> and amfora as TUI clients) is the Emacs (and w3m) inspired interface: >> instead of scrolling a page and typing a number to open a link, you have >> a cursor you can move freely around the page. >> >> The default keybindings are heavily inspired from Emacs, but I tried at >> least to include some keys familiar to vi(1) users, so hjkl, gg, G, gT >> etc. work. All the keybindings are customizable anyway. >> >> The current list of features is honestly quite short: >> * color and keybindings are customizable >> * history >> * rudimentary bookmark management >> * tabs (on startup reloads the last set of tabs) >> * streaming pages >> * rich set of commands to move around the page >> * splitted in three different process, each one is pledged (this only >> on OpenBSD ofc; will add seccomp/landlock in the future, probably) >> >> while the TODO list is ever-growing! >> >> I know there are various annoyances still (I just fixed the resize >> "jump" in the main branch for instance), but as I was saying, it has >> now reached a point where I think it's starting to become "usable". I'd >> love to receive feedbacks (and even more patches! :P) >> >> Telescope 0.3 is available on guix, thanks to cage who did the work. >> Precompiled binaries for linux amd64 and aarch64 are available from the >> site, but it's very easy to compile from source since it only depends on >> libevent, libncursesw, libtls and yacc/bison. It's known to compile and >> run on FreeBSD too. >> >> Cheers, >> >> Omar Polo
On Thu, Jul 01, 2021 at 06:51:33PM +0200, Omar Polo wrote: > Hello everyone, > > During the last 3/4 months I've been working on a yet another Gemini > ncurses client: telescope > > => gemini://telescope.omarpolo.com > => https://telescope.omarpolo.com > > It's obviously a project only for fun, in a very-WIP stage and with lots > of missing pieces, but it's improving and I've reached the point where I > think I can present it to a wider audience. It looks great! I like it so far. The one missing feature that would let me ditch Amfora completely is local file support. -- tidux at sdf.org SDF Public Access UNIX System - http://sdf.org
---