Gemini is an alternative to gopher and the web, taking the best of both and putting it into one protocol.
Using acme is fun. And as much as I like using the mouse, I couldn't stand the extra dependencies some of the graphical clients out there for gemini. So I wrote my own for acme.
This just uses standard POSIX tools and programs that were installed by plan9port, so that makes the latter the only requirement.
Just run sudo make
. I will possibly use mk
in the future but it doesn't seem to be needed.
Finally, add the following to $HOME/lib/plumbing
:
# gemini links without a path or port
type is text
data matches 'gemini://([a-zA-Z0-9_\-.]+[a-zA-Z0-9_@\-]+)/?'
plumb to web
plumb start gacme $0 $1 '/'
# gemini links without a path but with a port
type is text
data matches 'gemini://([a-zA-Z0-9_\-.]+[a-zA-Z0-9_@\-]+):([0-9]+)/?'
plumb to web
plumb start gacme $0 $1 '/' $2
# gemini links with a path but no port
type is text
data matches 'gemini://([a-zA-Z0-9_\-.]+[a-zA-Z0-9_@\-]+)/(.*)'
plumb to web
plumb start gacme $0 $1 $2
# gemini links with a path and a port
type is text
data matches 'gemini://([a-zA-Z0-9_\-.]+[a-zA-Z0-9_@\-]+):([0-9]+)/(.*)'
plumb to web
plumb start gacme $0 $1 $3 $2
include basic
Licenced under the GNU GPL v3+
- do proper TOFU authentication
- publishing your own certs for servers that use them
- Some sites won't connect due to the TLS certificate generateed. Openssl
is a bitch when it comes to TOFU authentication. And
gnutls-cli
doesn't seem to understand the meaning of "Trust On First Use."
My email is in the git logs. Contact me there for any questions or contributions that you might have.