Home

Awesome

Vgmi

Gemini client written in C with vim-like keybindings.

pic0

Keybindings

You can prefix a movement key with a number to repeat it.

Commands

Sandboxing

FreeBSD

On FreeBSD, Vgmi uses capsicum(4) to limit the filesystem and to enter capability mode, it also uses cap_net(3) for networking while in capability mode.

OpenBSD

On OpenBSD, Vgmi uses unveil(2) to limit access to the filesystem and pledge(2) to restrict the capabilities of the program.

Linux

On Linux, Vgmi uses seccomp(2) to restrict system calls and landlock(7) to restrict the filesystem.

Illumos and Solaris

On Illumos and Solaris, Vgmi uses privileges(7) to isolate the parser processes.

On top of sandboxing the main process, Vgmi forks itself to parse foreign data in completely isolated and sandboxed processes.

Dependencies

Optional dependency

Building

Executing the build.sh script will download all dependencies and build Vgmi.