A gopher server in Go. Almost meta.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



gribbled is meant to be a fun exercise so that I can play around with Go properly for the first time.

The nice thing about Gopher as a protocol for an exercise like this is that it's a relatively simple protocol and easy to implement. It will also require getting familiar with the many parts of the language and its standard libraries so that it can be implemented, making it an ideal candidate for implementation.

The design is intended to be similar to nibbled, another Gopher client I'm planning on writing as a counterpoint. The repository for nibbled is here:


The single biggest difference between the two from the outside will be that the Python daemon stores its configuration in a configuration file, whereas the Go daemon uses command line arguments for the same. This is maninly because (a) I didn't want to deal with extra dependencies and (b) I didn't want to write my own config parser. I could've used the built-in JSON or XML parsers, but neither of those are particularly writer-friendly formats.