💾 Archived View for nox.im › projects › gmifs captured on 2023-09-28 at 15:56:18. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-06-03)
-=-=-=-=-=-=-
Gemini file server - gmifs source code on Github[1]. If you have the go tool chain installed, you can install and try gmifs with:
1: gmifs source code on Github
go install github.com/n0x1m/gmifs@latest
I use gmifs to host the Gemtext version of this blog on OpenBSD[1]. Which is generated with the tools hugoext[2] and md2gmi[3]. The focus for this project was minimalism and simplicity with just enough features to be easy to use.
1: host the Gemtext version of this blog on OpenBSD
For this reason gmifs generates TLS self-signed certificates on the fly, if no key pair is provided.
Allowing me to test my blog with a simple command of just that name. Auto indexing and directory listings ease debugging and was easy to support (just one function in `/fileserver/fileserver.go`).
See the snippet regarding OpenBSD log rotation and retention[1] for how to handle gmifs log files.
1: OpenBSD log rotation and retention
gmifs only supports TLSv1.3 strong ciphers. You can see this in action with `nmap` on your server:
nmap --script ssl-enum-ciphers -p 1965 nox.im
PORT STATE SERVICE 1965/tcp open tivoli-npm | ssl-enum-ciphers: | TLSv1.3: | ciphers: | TLS_AKE_WITH_AES_128_GCM_SHA256 (secp521r1) - A | TLS_AKE_WITH_AES_256_GCM_SHA384 (secp521r1) - A | TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 (secp521r1) - A | cipher preference: client |_ least strength: A Nmap done: 1 IP address (1 host up) scanned in 39.03 seconds
openssl s_client -quiet -crlf -servername nox.im -connect nox.im:1965 \ | awk '{ print "response: " $0 }' gemini://nox.im/
You can check the current version with go version
orwell$ go version -m /home/dre/go/bin/gmifs /home/dre/go/bin/gmifs: go1.16.2 path github.com/n0x1m/gmifs mod github.com/n0x1m/gmifs v1.0.1 h1:CVmdCp2MwxlslCP/K8v6EXhOj45MYjWcZjso8eRu73c=
and install a desired upgrade or downgrade by specifying
orwell$ go install github.com/n0x1m/gmifs@v1.0.2 go: downloading github.com/n0x1m/gmifs v1.0.2 orwell$ go version -m /home/dre/go/bin/gmifs /home/dre/go/bin/gmifs: go1.16.2 path github.com/n0x1m/gmifs mod github.com/n0x1m/gmifs v1.0.2 h1:12t+M1Dkuo/zVY5tc47SaBwcOf0XkypmJKlEUSSH784=