This brief post is written to support my new "Mini Thing
PHP8+ Gopher & Proxy Server" for the HTTP protocol,
which has dual functionality and consists of just a single
file (19 kb without comments in code).
It serves simultaneously as a server for local Gopher holes,
implemented exclusively for the web, and as a Gopher proxy
with a flexible configuration system. The script integrates
support for binary files with correct headers for
downloading, native gophermap file support within the HTTP
environment, as well as numerous security settings with
automatic detection of what can and cannot be downloaded.
There are many possible configuration combinations for the
"Mini Thing PHP Gopher & Proxy Server." In my opinion,
the quality of binary file handling for downloads is better
than any other existing Gopher proxy. To work with my server,
you do not need any SQL or JavaScript. You simply copy the
script with example files into any folder on your server and
start working! Moreover, the "Mini Thing PHP Gopher &
Proxy Server" has proven its viability even on some free
limited hosting services in a proxy mode. Typically, developers
write their clients and servers in Go, Rust, or C, or create
exotic solutions. But none of these are integrated with
HTTP, which is the most widespread protocol on the planet.
Recently, I rewatched the 1982 movie "The Thing," and an
exciting idea came to me. Why should we be prisoners of the
single
Gopher:// form when creating gophermap files is much
faster and more convenient than creating HTML pages? Why,
with so many HTTP servers, not create a Gopher parasite
living inside them? Essentially, Gopher is just a gophermap
file that allows the creation of beautiful text-based pages
with ANSI art support in just a few minutes, compatible with
any screen mode. So, I decided to bring the advantages of
the Gopher protocol into HTTP. Ultimately, I built a bridge
between these two seemingly incompatible worlds. On one
side, users can access the classic
Gopher:// from any
browser! On the other side, owners of legacy computers can
use text browsers to interact with "Mini Thing PHP Gopher
& Proxy" sites. In any case, internet speed does not matter.
Administrators and experimenters get a simple, accessible
static server where any PHP scripts with text output can be
connected! See the guestbook example. Thus, this is not
just a client or server - it's a parasitic ecosystem project
of
Gopher:// inside the body of
HTTP:// servers. If you like,
it's a "Swiss Army knife": a server, client, proxy, and file
manager in viewing mode! The only downside is that you
cannot access the server via the native
Gopher:// client.
However, I believe the benefits of my solution outweigh
such inconveniences. I have implemented this script in two
versions: a local version without PROXY support and
a networked version with PROXY support. They differ
significantly, but the end user should not see this.
Ultimately, whichever solution you choose, you will have
your own Gopher Hole in just one minute directly on
an HTTP server! You can download this server here on
gopher://shibboleths.org in the PHP scripts section,
subsection 13.
--- Mystic BBS v1.12 A48 (Linux/64)
* Origin: Shipwrecks & Shibboleths [San Francisco, CA - USA] (700:100/72)