SFEED_GOPHER(1)

πŸ“¦
version 2.4 Β· 3 versions
, in alpine 3.24, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’– SFEED_GOPHER β€” the manual, but make it cute πŸ’–

okay bestie, welcome to sfeed_gopher, section 1 of the General Commands Manual. this is the lil tool that takes your feed data and turns it into Gopher files ✨ pull up a chair, we're doing this together 🫢


🌸 NAME 🌸

sfeed_gopher β€” format feed data to Gopher files πŸ’…


✨ SYNOPSIS ✨

sfeed_gopher [file ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea, bestie: sfeed_gopher formats feed data (that's TSV, from sfeed(1)) from stdin, or for each file, and writes it out to stdout in the raw Gopher output format. iconic behaviour honestly πŸ’–

  • if you pass one or more file arguments, then the basename of the file is used as the feed name in the output. sfeed_gopher creates an index file named "index" and, for each feed, it creates a file with the same name as the basename of the feed file. one file per feed, no crumbs left behind 🧚
  • if you pass no file arguments β€” so the data comes in from stdin β€” then the data just goes to stdout and no files are written. zero. none. nada. πŸ™ˆ

items whose timestamp falls within the last day compared to the system time at the moment of formatting get counted and marked as new. that value can be overridden with environment variables (more on that below, keep reading bestie πŸ‘€). new items get marked with the prefix "N" at the start of the line. and if an index file is in play, then feeds with new items are marked as new too, with that same "N" prefix at the start of the line. cute, consistent, slay πŸ’…


πŸŽ€ ENVIRONMENT πŸŽ€

  • SFEED_GOPHER_PATH β€” use this as the prefix for each path in the index file. the default is "/". ✨
  • SFEED_GOPHER_HOST β€” use this as the Gopher Host field. the default is "127.0.0.1". lowkey the local bestie 🏠
  • SFEED_GOPHER_PORT β€” use this as the Gopher Port field. the default is "70". classic πŸ’«
  • SFEED_NEW_AGE β€” overwrite the maximum age in seconds for marking feeds as new. by default it's 86400, which equals one day. no cap ⏰

πŸ’€ EXIT STATUS πŸ’€

sfeed_gopher exits 0 on success, and >0 if an error occurs. simple as. if it's not 0, something went wrong bestie 😭


πŸ”₯ EXAMPLES πŸ”₯

here's the moment you've been waiting for, the main character energy example:

SFEED_GOPHER_HOST="codemadness.org" SFEED_GOPHER_PATH="/feeds/" \
        sfeed_gopher ~/.sfeed/feeds/*

look at her go. obsessed. πŸ‘‘


🌈 SEE ALSO 🌈


⭐ STANDARDS ⭐

The Internet Gopher Protocol, RFC 1436, March 1993. vintage but make it timeless πŸ¦‹


πŸ‘‘ AUTHORS πŸ‘‘

Hiltjo Posthuma <hiltjo@codemadness.org> β€” thank you for your service, legend 🫢


πŸ“ CAVEATS πŸ“

ngl, this one matters: the commonly-used 'h' and 'i' types are used in this program. those types are an extension to Gopher β€” so, like, technically not vanilla Gopher. just so you know, bestie πŸ’…

and that's the whole page, fr fr πŸ’– this was the SFEED_GOPHER(1) manual from the Debian crew, dated September 21, 2025. go forth and gopher, queen πŸŽ€βœ¨

πŸ“¦ where this page comes from