PYGOPHERD(8)

πŸ“¦
version 3.0.1 Β· 3 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– 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:

  1. set up your configuration file
  2. make your folder directory
  3. 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 the mime.types file 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:

  • detach
  • pidfile
  • port
  • usechroot
  • setuid
  • setgid
  • root

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 PYG format for extensible Python gopher objects as created for PyGopherd ✨
  • Hypertext Transfer Protocol HTTP/1.0 as specified in RFC1945
  • Hypertext Markup Language (HTML) 3.2 and 4.0 Transitional as specified in RFC1866 and RFC2854
  • 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.1 or 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 πŸ’–


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