Announcing Offpunk 2.0

Message ID
DKIM signature
Download raw message
by Ploum on 2023-11-25


I’m happy to announce the release, last week, of Offpunk 2.0.

Offpunk is an offline-first command-line browser/RSS reader. You control 
it by typing command and it maintains a cache of all the networked 
resources to allow you to access them offline indefinitely.

If a non-cached resource is tentatively accessed, the URL is marked as 
to be fetched later. Running periodically "offpunk --sync" will fetch 
those resources and add them to your "tour" to remind you that you 
wanted to access it.

Offpunk official website

Offpunk 2.0 changelog

List of available offpunk packages


Mandatory screenshot showing Offpunk browsing Offpunk’s website. There’s
a screenshot of Offpunk in the screenshot.

Switching the license to AGPLv3

Offpunk originally started as a branch then a friendly fork of AV-98. It 
was called AV-98-offline and, as such, shared the same BSD license.

AV-98, the first Gemini browser

During multiple discussions, Solderpunk and I came to the conclusion 
that AV-98-offline was becoming too different from the initial goal of 
AV-98. It was thus renamed Offpunk. At the same time, I grew 
increasingly convinced that we needed more copyleft software and that 
the AGPL license was better suited to protect the commons.

"We need more of Richard Stallman, not less", my take on why copyleft is

As a symbolic move, I’ve thus decided to switch Offpunk license from BSD 
to AGPLv3 but needed an opportunity to do so. The 2.0 release is such an 

Multiple independent tools

Like AV-98, Offpunk was one single big python file. I liked the 
simplicity of it. But it really became a mess and I wanted to offer 
Offpunk’s features as separate command-line tool. With Offpunk 2.0, you 
will thus have three new command-line tools:

- netcache : when given a URL, will download and cache this URL or only 
access the cache if the "--offline" option is provided.

- ansicat : will render an HTML, an RSS, a Gemtext or even a picture in 
your terminal, with various options.

- opnk : universal opener. Will try to render any file or any URL in 
your terminal. If it fails, it will fallback to xdg-open.

Those three commands should come with a man page and a "--help" but they 
are still quite new. To my own surprise, I found myself using "opnk" all 
the time. I don’t think anymore about how to handle a file, I simply 
give it to opnk.

Packaging those tools was a lot harder than expected and I want to thank 
all the contributors to this work, including Austreelis, David Zaslavsky 
and Jean Abou Samra.


The goal of Offpunk, through Ansicat, is to render web, RSS, gemini and 
gopher pages as coloured ANSI text in your terminal. Until now, those 
colours were hardcoded. With 2.0, they can be customised. See "help 

Screenshot of Offpunk customised with the worst possible colours I could

In offpunk, customisation can be made permanent by adding all the 
commands you want to run at startup in your .config/offpunk/offpunkrc 
file. Mine contains one single line: "offline", ensuring I use Offpunk 
only in offline mode.

Getting started

Using Offpunk daily as your main browsing/rss driver takes some 
learning. You need to get used to the Offpunk philosophy: adding 
elements to tour instead of clicking them, creating lists to read later, 
doing a daily synchronisation. It is not trivial.

The "help" command will probably be your best allies. The community also 
provide support on a user dedicated mailing-list.

Offpunk-users mailing list

If Offpunk becomes useful to you, the community is open. Contributions, 
documentation, blog post about how you use Offpunk, help to new users 
and packaging are warmly welcome. Sometimes, simple feedback is all it 
takes to make a developer happy. So don’t hesitate to contribute in one 
of our lists.

Offpunk-devel mailing list

Offpunk-packagers mailing list

I’ve also started an experimental Matrix room on #offpunk:matrix.org. I 
have the belief that mailing-list is better suited for discussions but 
I’m giving this the benefit of doubt and willing to explore whether or 
not direct real-time discussion could help new users.

Join the #offpunk:matrix.org room

To unsubscribe, send an email to ~lioploum/en+unsubscribe@lists.sr.ht
Reply to thread Export thread (mbox)