JGopher is a Java gopher client, written to be very faithful to the original concept of the gopher protocol. It utilizes Java's Swing GUI toolkit to allow it to run everywhere and feel pretty native while doing so. Previous versions of JGopher targeted Java 8. With the new 1.0 release of JGopher, that has been bumped to Java 17. This may make it harder to run on older systems. Sorry about that.
The JGopher project started back in 2020 while I was bored during the pandemic. The codebase back then was very bad, as JGopher was the first major GUI project I ever really worked on. I also decided (for some reason) to try to emulate a web browser, which only complicated things. The new 1.0 codebase for JGopher features a complete and total rewrite, with nothing, not even basic structure, being considered from the old codebase. The new codebase is the culmination of everything I believe in with software development, featuring little mutation and short, simple functions.
I am planning on writing a blog post for The Standard Screen at some point in the future discussing my current views on gopher and the correct way a gopher client should be implemented. I will also probably share the real reason all of this was developed in the dark without publishing source code until the bitter end.