Can webmasters please not assume that HTTP/1.1 = bad scraper and think it's okay to block them indiscriminately? Browsers like #Dillo, #Lynx, #Links, and #NetSurf still only use HTTP/1.1, and I doubt they will ever adopt HTTP/2 and HTTP/3 due to how complex those two are. Hell I'm in #PaleMoon with HTTP/2 disabled, and along with #Basilisk their HTTP/1.1 implementation outperforms HTTP/2 and HTTP/3 for my internet connection since they preserved HTTP pipelining (which mainstream dropped because I guess they have skill issue trying to tune their pipelining implementations).

#HTTP #webdev #browser #browsers #openweb
I switchend to #dillo some time ago out of multiple reasons:

  • I am now using a new (story for another toot) 20 year old laptop as my daily driver, modern browsers run but are not fun
  • using something simple and trying to stay away from the bloated side of the web shows what a different world would be possible
  • Ads? What ads?

@gumnos

I mean, #dillo is still a thing. ;)

@dillo Long live #Dillo

Lectures du jour (spécial nostalgie ?) (1/2) :

“gopherproxy.sh down again due to bot abuse” :
gopher://gopher.zcrayfish.soy/1/phlog/20260221-gopherproxy-sh-down-again-due-to-bot-abuse

“The internet of old” :
https://www.arjenwiersma.nl/the-internet-of-old

“Letting Go Of The Old Web” :
https://gregmorris.co.uk/letting-go-of-the-old-web/

#Dillo Web Browser” :
https://bobbyhiltz.com/posts/2025/02/dillo/

“link rel="alternate" type="text/plain"” :
https://shkspr.mobi/blog/2024/05/link-relalternate-typetext-plain/

“A small collection of text-only websites” :
https://shkspr.mobi/blog/2025/12/a-small-collection-of-text-only-websites/

“Welcome to the web we lost” :
https://goodinternetmagazine.com/the-web-we-lost/

The internet of old

I long back to the internet of old, where not everything is dominated by algorithms that determine what is interesting for you. Over the ...

Arjen Wiersma
Whoa. I just got a #bot challenge #captcha on #DDG, and I was able to complete it successfully in #Dillo!! Amazing!!!

@evgandr

Hey bud, IIRC, I couldn't get it working. :/

Looking at my past statuses with the #brutaldon hashtag, it looks like I got it working with #NetSurf and #w3m, but I don't see anything from (nor recall getting it working with) #Dillo. :/

Finally, I found some time to install #brutaldon on the my #FreeBSD box in the #jail. Installation was pretty simple — just create thinjail and apply the next template to it (it is a Bastillefile):

CONFIG set enforce_statfs=1;
CONFIG set allow.mount.fdescfs;
CONFIG set allow.mount.procfs;
CONFIG set mount.procfs;
CONFIG set devfs_ruleset=70
RESTART

SYSRC clear_tmp_enable=YES
SYSRC clear_tmp_X=YES

CMD pkg bootstrap -f
CMD pkg update
PKG git py311-pipenv py311-lxml py311-sqlite3

CMD pw useradd brutaldon -s /bin/sh -m
CMD su - brutaldon -c 'cd /usr/home/brutaldon && git clone https://gitlab.com/brutaldon/brutaldon.git'
CMD su - brutaldon -c 'cd /usr/home/brutaldon/brutaldon && pipenv install'
CMD su - brutaldon -c 'cd /usr/home/brutaldon/brutaldon && pipenv run python ./manage.py migrate'

CONFIG remove ip4.addr;
CONFIG set ip4=inherit;
LIMITS pcpu 80
LIMITS memoryuse 2G
CP brutaldon /etc/rc.d/
SYSRC brutaldon_enable="YES"
RESTART

I used thinjail which uses the same network and network interfaces as the host system, because I suck in networking :-D.

Sadly, I don't understand how to use brutaldon with #Dillo — looks like it is impossible  I'm able to login to mastodon.bsd.cafe only via OAuth form, which doesn't work in Dillo — instead of it I got the "old" form with login/password/OAuth code credentials. And at the end I got the screenshot №1.

In the Librewolf I successfully logged in via the OAuth form, so I'm able to use brutaldon only in the Librewolf :-( (see screenshot №2 and №3).

IIRC, @rl_dane you are using Brutaldon with Dillo ­— how do you achieve that (main question — how to login? :-D )?

P.S. Contents of brutaldon startup script:

#!/bin/sh

# PROVIDE: brutaldon
# REQUIRE: DAEMON
# KEYWORD: shutdown

. /etc/rc.subr

name=brutaldon
rcvar=brutaldon_enable
load_rc_config $name

: ${brutaldon_enable:=NO}

start_cmd="${name}_start"
stop_cmd="${name}_stop"
status_cmd="${name}_status"

brutaldon_start()
{
su - brutaldon -c 'cd /usr/home/brutaldon/brutaldon && HTTP_PROXY=http://localhost:20172 HTTPS_PROXY=http://localhost:20172 pipenv run python ./manage.py runserver 8082 > /dev/null 2>&1 &'
echo "Brutaldon started"
}

brutaldon_stop()
{
pkill -U $(id -u brutaldon) python
while /bin/test ! -z $(/usr/bin/pgrep -q -U $(id -u brutaldon) python); do
echo "Waiting for brutaldon to die"
sleep 5
done
echo "Brutaldon stopped"
}

brutaldon_status()
{
if pgrep -q -U $(id -u brutaldon) python; then
echo "Brutaldon is running"
else
echo "Brutaldon is stopped"
fi
}

run_rc_command "$1"

Sad part — even with big enough limits for the jail in the Bastillefile — brutaldon works not so fast. Possibly it is because it is written in Python, which wants a lot of memory/CPU, as I know from my experiments with home server, which has Intel Atom CPU inside and 2 Gb of memory :-D

The Dillo Appreciation Post | BobbyHiltz.com

An appreciation post regarding the Dillo Browser and how I use it to browse the web, including YouTube, Wallabag, and others

@mms I dunno, it just doesn't asking about JS at all and loads without complaints:-D

#dillo