<midfavila>
it hasn't been worked on since 2006 which is unfortunate
<midfavila>
but it's super tiny and easy to fiddle with
<midfavila>
"netrik"
<midfavila>
some guy called antrik wrote it
<midfavila>
the code is kind of clunky but it's only 7k lines of C
<midfavila>
i would really classify it as more of an html-aware pager than a browser
<midfavila>
which is a compliment
<midfavila>
literally only had to add two lines to have it support https since it offloads connections to wget
<midfavila>
but you could totally modify it to use any external client
<midfavila>
tbh if you were to clone links2's hooks system it would be really comfy...
<midfavila>
also the binary is *tiny*
<midfavila>
99k on my setup
<midfavila>
with slackware mind
<midfavila>
i honestly might switch to it and start hacking on it
<midfavila>
the rendering is a little primitive which is totally fine. but it's enough to browse sdf
<midfavila>
i imagine invidious would be usable if it wasn't for that stupid fucking anubis bullshit
<midfavila>
but considering cookies are handled by an external client and there's an article i read a little while ago that implements an anubis solver in c...
<midfavila>
hm
<midfavila>
yeah this is super cute
<midfavila>
i like this a lot
<midfavila>
needs to have support for editing text fields and some way to understand when POST'ing is necessary and then it would be super usable
<midfavila>
honestly it even renders simple pages like wikipedia's entries really well
<midfavila>
since it offloads all the UI to curses it can even render non-latin languages
<midfavila>
cyrillic, arabic, hebrew, chinese, japanese, and various indian scripts all seem to work well
<midfavila>
sri lankan writing... greek... more scripts that i don't recognise, too
<midfavila>
wow
<midfavila>
needs to be modified to not use ncursesw if that's possible... that would break i18n but for my purposes that's fine
Ozymandias42_ has joined #kisslinux
Ozymandias42 has quit [Ping timeout: 276 seconds]
Ozymandias42_ is now known as Ozymandias42
<dery>
midfavila: didn't anubis explicitly allow text browsers by default
<dery>
altho it might block wget
saravia` has left #kisslinux [XERC 5.6.0.30.1 (IRC client for GNU Emacs 29.1)]
<midfavila>
dery last i heard that wasn't the case
<midfavila>
if so then that's slightly less annoying
<midfavila>
also
<midfavila>
i have managed to get netrik to compile using musl and netbsd curses
<midfavila>
it barely works but it does compile
<midfavila>
now to see if i can make it work with hurl
<dery>
what's hurl mid
<dery>
I found a thing but it's written in rust and IIRC you said you were avoiding stuff written in that?
<dery>
also based on curl lol
<dery>
definitely not what you're talking about
<midfavila>
hurl is from fastestcode
<midfavila>
i prefer apport because i'm vain
<midfavila>
but hurl is very good too
<midfavila>
it's a simple alternative to curl in <=1ksloc of C and it uses libtls
<midfavila>
so it can link against bearssl
<midfavila>
i'm trying to get something resembling a bare-minimum viable setup of my rootfs going tonight
<midfavila>
the last major thing i need is a basic browser
<midfavila>
links2 isn't something i feel like tinkering with atm
<midfavila>
so i'm working on netrik instead
<midfavila>
fortunately it's easy to work around the autotools build system it was written with, you can just do the stupid approach of cc*.c -o netrik -lcurses -lterminfo
<dery>
can you please link it? I can only find the rust thing xD
<midfavila>
last thing i need to do to have something sort of viable is figure out why it's not properly refreshing the window buffer when loading a new page
<midfavila>
i don't like that the author wrote their own parser for URIs but it's still super clean
<midfavila>
and it's undeniable that their approach is both faster and results in a smaller binary size than my approach with apport, which uses posix's regex parser
<dery>
yea a dedicated parser will always win
<midfavila>
but yeah only things left for netrik are to like
<midfavila>
fix the rendering issue
<midfavila>
and maybe try implementing support for text fields and POSTing tonight
<midfavila>
i'll need to sit down and rewrite a good chunk of this since it's not implemented in as nice a way as i would like, not to mention adding hooks and a simple way to define keybinds... maybe do all that with a config.h file
<midfavila>
honestly the idea here is really nice...
<midfavila>
i could hook one of those plaintext bookmark management utilities into netrik with a bind, and handle multimedia with a plumbing script...
<midfavila>
fuck i need to do more computer stuff
<dery>
FUCK
<dery>
it is almost 6
<dery>
gtg
* dery
disappears in one frame while screaming
<midfavila>
rip
<midfavila>
doing some more thinking
<midfavila>
why not have a lowest-common-denominator hypertext format for netrik
<midfavila>
and then have filters that accept, you know, html, or gopher, or gemini, or ftp listings, etcetera as input
<midfavila>
and then produce that simplified hypertext format to be fed into netrik
<midfavila>
then you could just implement support for whatever protocol(s) you want in your backend and netrik can handle the rest
<midfavila>
well, and implement a simple... transpiler? transparser?
<midfavila>
by essentially just mapping tags from the format you want to view to the LCD format
<midfavila>
you could even extend that to local documents e.g. man pages
<midfavila>
and then have a sort of info-like experience
Ozymandias42 has quit [Read error: Connection reset by peer]
Ozymandias42 has joined #kisslinux
Ozymandias42 has quit [Remote host closed the connection]