Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kibook/bucky
Bucktooth HTTP proxy
https://github.com/kibook/bucky
gopher
Last synced: 3 days ago
JSON representation
Bucktooth HTTP proxy
- Host: GitHub
- URL: https://github.com/kibook/bucky
- Owner: kibook
- Created: 2016-12-05T17:45:39.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-11-25T14:07:30.000Z (almost 5 years ago)
- Last Synced: 2024-08-02T05:06:41.594Z (3 months ago)
- Topics: gopher
- Language: C
- Homepage: https://khzae.net/1/bucky
- Size: 44.9 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
Bucky is a CGI-based Gopher <-> HTTP proxy utility, primarily for
the Bucktooth Gopher server. It runs on top of an existing HTTP
server to provide access to your Bucktooth Gopherhole via HTTP.Bucky may use buckd's -isproxy feature rather than opening sockets
and connecting to buckd like a gopher client, however it may also
connect over sockets, and thus is compatible with other Gopher
servers as well.It takes a QUERY_STRING in the form of "#/SELECTOR", where # is
the Gopher item type of the resource. For resources like menus or
search results, it builds an HTML version.Running as a normal CGI script, requests may look like:
http://mysite.com/bucky.cgi?0/mytextfile.txt
which would request /mytextfile.txt from the Gopher server,
displaying it in plain text. If your HTTP server can "rewrite"
requests (such as Apache's mod_rewrite), Bucky can be told to
masquerade links appropriately such that Gopher-URI-like requests are
handled by the Gopher server and Bucky transparently. For example:http://mysite.com/0/mytextfile.txt
could be accompished under Apache mod_rewrite with rules like:
RewriteRule "^/$" "/bucky.cgi"
RewriteRule "^/(.)/(.*)$" "/bucky.cgi?$1/$2"and USE_REWRITE + REWRITE_ROOT will tell Bucky how to build
appropriate URLs for all links. (see comments under USE_REWRITE
and REWRITE_ROOT in config.h)