Fafi is a Gemini browser written in Racket. It is early days for this code base and there is much work to be done. At the moment the happy path for loading
text/plain is working but I still need to implement the handling of the other status codes and mime types. This begun as just an experiment to calm me during my free hours, now I want to make it into a real gemini browser.
It is a new protocol that is simple to implement and focused on privacy and low-resource usage. It is somewhere between gopher and the web. You can learn more about it in gemini.circumlunar.space — this is a proxy link
On your terminal:
Install the needed dependencies with:
$ raco pkg install
fafi needs the following packages:
You can continue without the step above if you already have them installed.
$ racket main.rkt
If you want to open an specific capsule:
$ racket main.rkt gemini://port1965.eu
main.rkt on DrRacket.
If you want a standalone version of Fafi browser you can build it with:
$ racket build.rkt
That will create a
dist/ folder and place a distributable version of Fafi inside it. It will also create a single packaged file at the repository root folder that you can distribute to your friends. This file is either a
.dmg on macOS, a
.zip in Windows, or a
.tar.gz in UNIX-like OS.
Be aware that Fafi uses a single queue for history management. This means that all the tabs are a part of the same queue regardless if you navigated to that capsule as a new tab or in the same tab. This is different than major web browsers which usually use a per-tab history queue. Fafi approach is simpler but it is different than what you are probably used to. The history is erased when the app quits.
To view your history queue select the View → History menu.
If you want you can buy me a coffee at ko-fi. You contribution helps me write books and software focused on programming, decentralization, and the small internet.