If you don't have it, go and get VF-1, the last gopher client you'll ever need: https://github.com/solderpunk/VF-1 Once you have it, you might decide that you want to manage your bookmarks file manually. If you do this, you may start to author your bookmark file much like you'd author a gophermap file that lives in one of your gopher holes. You'd be wrong. Stop right there. What you want to do, instead, is author your VF1 bookmark file as if it were the *output* of a gopher server, according to the RFC 1436 gopher protocol. VF1 reads (as of 4/5/2018) bookmark files as if they were the output of a server. It doesn't parse the bookmark file as a server would parse a gophermap. The biggest issue you might run into, if you're like me, is attempting to create whitespace between "sections" in your bookmark file. You might try a simple blank line, as you would in a gophernicus gophermap. This would result in a glorious failure to do anything; the client responds to blank lines as it ought- by ignoring them. Next- again, if you're like me- you may attempt to type in "i\n" on a line. This would be considered a malformed line by 1436 standards. Because of what VF1 does on line 386 (as of 4/5/2018), your line would *kinda* work. But, you'd end up with two lines, instead of just one. If you're really stubborn, you could change line 386 in vf1.py to include .rstrip(). But that's stupid, really. Why should your now-custom client be setup to process malformed "i" line types? Don't do this, it is madness. Don't be stubborn. Instead, simply type in "i\n" on a line, for a clean, single line break. If you want, you can even type in a more properly formed line, such as are produced by gophernicus or motsognir: inull.host1 or ifakefake0 Both of these options work just fine, and they mask your stubborness without forcing you to let go of it. Have fun.