💾 Archived View for gemini.rmf-dev.com › repo › Vaati › Vgmi › files › b8e44c9d981bdb48efbc2f70ee8b1… captured on 2023-07-22 at 16:42:54. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-04-19)
-=-=-=-=-=-=-
0 # Vgmi
1
2 [Gemini][0] client written in C with vim-like keybindings
3
4 ![pic0](./img/img1.png)
5
6 ## Keybindings
7
8 * k - Scroll up
9 * j - Scroll down
10 * gT - Switch to the previous tab
11 * gt - Switch to the next tab
12 * H - Go back in the history
13 * L - Go forward in the history
14 * gg - Go at the top of the page
15 * G - Go at the bottom of the page
16 * / - Open search mode
17 * : - Open input mode
18 * u - Open input mode with the current url
19 * f - Show the history
20 * r - Reload the page
21 * [number]Tab - Select link
22 * Tab - Follow selected link
23 * Shift+Tab - Open selected link in a new tab
24 * Del - Delete the selected link from the bookmarks
25
26 You can prefix a movement key with a number to repeat it.
27
28 ## Commands
29
30 * :q - Close the current tab
31 * :qa - Close all tabs, exit the program
32 * :o [url] - Open an url
33 * :s [search] - Search the Geminispace using geminispace.info
34 * :nt [url] - Open a new tab, the url is optional
35 * :add [name] - Add the current url to the bookmarks, the name is optional
36 * :[number] - Scroll to the line number
37 * :gencert - Generate a certificate for the current capsule
38 * :forget [host] - Forget the certificate for the host
39 * :ignore [host] - Ignore expiration for the host certificate
40 * :download [name] - Download the current page, the name is optional
41 * :exec - Open the last downloaded file
42
43 ## Sandboxing
44
45 ### FreeBSD
46 On FreeBSD, Vgmi uses Capsicum to limit the filesystem and to enter capability mode, it also uses Casper for networking while in capability mode
47
48 ### OpenBSD
49 On OpenBSD, Vgmi uses Unveil to limit access to the filesystem and Pledge to restrict the capabilities of the program
50
51 ### Linux
52 On Linux, Vgmi uses Seccomp to restrict system calls and LandLock to restrict the filesystem
53
54 ### Illumos and Solaris
55 On Illumos and Solaris, Vgmi uses Privileges, separating read, write and networking privileges in different processes
56
57 ## Dependencies
58
59 * [LibreSSL][1] - fork of OpenSSL developed by the OpenBSD project
60 * [termbox2][2] - terminal rendering library
61
62 ### Optional dependency
63 * [stb-image][3] - image loading library
64
65 ## Building
66
67 Executing the build.sh script will download all dependencies and build Vgmi
68
69 [0]: https://gemini.circumlunar.space/
70 [1]: https://www.libressl.org/
71 [2]: https://github.com/termbox/termbox2
72 [3]: https://github.com/nothings/stb/blob/master/stb_image.h
73