PYGOPHERD(8)
π PYGOPHERD π
okay bestie, so this is the manual for PyGopherd (section 8 of the manual, we're in sysadmin territory), and it's literally the Multiprotocol Information Server. grab a snack, we're doing this π
β¨ NAME β¨
PyGopherd β a Multiprotocol Information Server π
πΈ SYNOPSIS πΈ
pygopherd [ configfile ]
that's it. that's the whole vibe. one argument. iconic behavior honestly.
π¦ DESCRIPTION π¦
Welcome to PyGopherd, bestie!! π In a nutshell β and I do mean a nutshell, this is the elevator pitch β PyGopherd is a modern dynamic multi-protocol hierarchical information server with:
- a pluggable modularized extension system β¨
- full flexible caching πΎ
- virtual files and folders ποΈ
- autodetection of file types π
...and all of that comes with support for standardized yet extensible per-document metadata. Whew!! π that was a lot of buzzwords in one breath. keep reading and I promise we'll explain what every single one of them actually means.
π§ QUICK START π§
okay so if you already installed PyGopherd system-wide (or your admin did it for you, shoutout to them π), your very first setup is genuinely so easy. three things:
- set up your configuration file
- make your folder directory
- run it!!
periodt. that's the whole to-do list.
setting up the config file π
The distribution includes two files of interest: conf/pygopherd.conf and conf/mime.types.
Debian girlies: your config file is already sitting pretty at/etc/pygopherd/pygopherd.conf, and themime.typesfile is already provided by the system. you're pre-slay. π
Open up pygopherd.conf in your editor and adjust to suit. The file is heavily commented, so you can just refer to it for the detailed deets. Some settings you should definitely peek at:
detachpidfileportusechrootsetuidsetgidroot
These ones may or may not work at their defaults for you β check them, don't assume π. The remaining settings should be totally fine for a basic setup, no cap.
running it π
Invoke PyGopherd with:
pygopherd path/to/configfile
(or, on Debian: /etc/init.d/pygopherd start)
Then just place some files in the location specified by the root directive in the config file and you're ready to run!! literally that's it, go be a server π
π OPTIONS π
So here's the thing bestie β all PyGopherd configuration is done via the configuration file. Therefore the program has only one command-line option:
configfileβ this option argument specifies the location of the configuration file that PyGopherd is to use. that's the whole menu. one item. minimalism. slay.
π CONFORMING TO π
PyGopherd plays nice with a lot of standards. the receipts:
- The Internet Gopher Protocol as specified in
RFC1436 - The Gopher+ upward-compatible enhancements to the Internet Gopher Protocol from the University of Minnesota, as laid out at
<URL:gopher://gopher.quux.org/0/Archives/mirrors/boombox.micro.umn.edu/pub/gopher/gopher_protocol/Gopher+/Gopher+.txt> - The gophermap file format as originally implemented in the Bucktooth gopher server, and described at
<URL:gopher://gopher.floodgap.com/0/buck/dbrowse%3Ffaquse%201> - The Links to URL specification as laid out by John Goerzen at
<URL:gopher://gopher.quux.org/0/Archives/Mailing%20Lists/gopher/gopher.2002-02%3f/MBOX-MESSAGE/34> - The UMN format for specifying object attributes and links with
.cap,.Links,.abstract, and similar files, as specified elsewhere in this document and implemented by UMN gopherd - The
PYGformat for extensible Python gopher objects as created for PyGopherd β¨ - Hypertext Transfer Protocol
HTTP/1.0as specified inRFC1945 - Hypertext Markup Language (HTML)
3.2and4.0Transitional as specified inRFC1866andRFC2854 - Maildir as specified in
<URL:http://www.qmail.org/qmail-manual-html/man5/maildir.html>and<URL:http://cr.yp.to/proto/maildir.html> - The mbox mail storage format as specified in
<URL:http://www.qmail.org/qmail-manual-html/man5/mbox.html> - Registered MIME media types as specified in
RFC2048 - Script execution conforming to both UMN standards as laid out in UMN
gopherd(1)and Bucktooth standards as specified at<URL:gopher://gopher.floodgap.com:70/0/buck/dbrowse%3ffaquse%202>, so far as each can be implemented consistent with secure design principles - Standard Python
2.2.1or above as implemented on POSIX-compliant systems π - WAP/WML as defined by the WAP Forum
π BUGS π
Found a bug? not the vibe, but okay, let's fix it together π«Ά
Reports of bugs should be sent via e-mail to the PyGopherd issue tracker at <URL:https://github.com/michael-lazar/pygopherd/issues>.
The Web site also lists all current bugs, where you can check their status or contribute to fixing them. be the change you want to see in the gopherspace bestie π
π COPYRIGHT π
PyGopherd is Copyright (C) 2002-2019 John Goerzen, 2021 Michael Lazar.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place
Suite 330
Boston, MA 02111-1307
USA
π AUTHOR π
PyGopherd, its libraries, documentation, and all included files (except where noted) was written by John Goerzen <jgoerzen@complete.org>, and copyright is held as stated in the Copyright section. π
Portions of this manual (specifically relating to certian UMN gopherd features and characteristics that PyGopherd emulates) are modified versions of the original gopherd(1) manpage accompanying the UMN gopher distribution. That document is distributed under the same terms as this, and bears the following copyright notices:
Copyright (C) 1991-2000 University of Minnesota
Copyright (C) 2000-2002 John Goerzen and other developers
PyGopherd may be downloaded, and information found, from its homepage:
<URL:https://github.com/michael-lazar/pygopherd>
π SEE ALSO π
python (1)
and that's the whole page bestie!! π written by John Goerzen, dated 05 April 2025, and this is PYGOPHERD(8) out of the PyGopherd Manpage β go forth and serve gopher, you absolute icon π¦β¨π
π¦ where this page comes from
- debian trixie: pygopherd 3.0.1-2
- ubuntu resolute: pygopherd 3.0.1-2
- ubuntu stonking: pygopherd 3.0.1-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms