Overview of some salient issues when publishing via Gophernicus, mention VF-1 client. - gopher-tutorials - The gopher tutorials project. HTML git clone git://bitreich.org/gopher-tutorials/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/gopher-tutorials/ DIR Log DIR Files DIR Refs DIR Tags --- DIR commit 75389aa48308eb655d152456986e43c4b3ad94a2 DIR parent 389858fe316692d3f34db820c55a547157356d8f HTML Author: solderpunk <solderpunk@sdf.org> Date: Sat, 31 Mar 2018 12:06:24 +0000 Overview of some salient issues when publishing via Gophernicus, mention VF-1 client. Signed-off-by: Christoph Lohmann <20h@r-36.net> Diffstat: M clients.txt | 18 ++++++++++++++++++ A publish-gophernicus.txt | 54 +++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 0 deletions(-) --- DIR diff --git a/clients.txt b/clients.txt @@ -49,3 +49,21 @@ RuGopher is an open-source graphical gopher client written in Ruby. You can fetch the sources at the following GIT repository : https://github.com/Val6789/RuGopher.git + +VF-1 +==== + +VF-1 is an open source text-based gopher client written in Python 3, +which uses external programs to handle different item types. It also +sports some advanced navigation features, such as link extraction from +type 0 items, jumping to next/previous item in a menu without +returning to the menu, marking items with a single character (cf vim +marks) and queuing up items to visit in a FIFO list called a "tour". + +Souce is at: + + https://github.com/solderpunk/VF-1 + +VF-1 is also on PyPi so it can be installed with: + + pip3 install VF-1 DIR diff --git a/publish-gophernicus.txt b/publish-gophernicus.txt @@ -0,0 +1,54 @@ +Gophernicus is quite fussy about permissions, to minimise the risk of +accidentally serving files not intended for public consumptions. Only +world accessible content will be served, so chmod files o+r and +directories o+rw. This is a common cause of confusion and frustration +for beginners. + +Gophernicus supports so-called "personal gopherspaces". If a user +"bob" has a directory named "public_gopher" in their home directory, +then the file /home/bob/public_gopher/foo/bar/baz.ext will be +accessible via the selector ~bob/foo/bar/baz.ext (if permissions +allow). The name of the "public_gopher" directory can be changed via +the -u option. This is a convenient feature for those who want to +host multiple users, although it can of course be emulated with +symlinks for other server software. + +Automatically generated directory listings list files in alphabetical +order. This is less than ideal for phloggers who usually want the +most recent entry to appear at the top. The conventional workaround +for this seems to be to prefix filenames with some kind of timestamp +that sorts nicely alphabetically. YYYYMMDD timestamps obviously work +nicely, but a three-character alphanumeric code also sees some use, +see e.g. gopher://grex.org:70/0/~tfurrows/phlog_filename.txt. + +Automatically generated menus can be overridden by creating a file +named "gophermap" in any directory. Menu items are specified with +lines of the type: + +Xname<TAB>selector<TAB>host<TAB>port + +where X is the gopher item type. The host and port may be omitted, +in which case they will be set to the same host and port that the +server is running on (the server's idea of its own hostname can be +forced with the -h option). The selector may also be omitted, in +which case it will be set equal to the name. Lines not beginning +with a valid item type or with one of Gophernicus' own non-standard +control characters are treated as information lines (type i). + +It is important to note that selectors which do not begin with a / +will be interpreted as *relative* links, e.g. a selector of "bar" +specified in "foo/gophermap" will point to "foo/bar". Selectors +beginning with / are treated as absolute links. Some other gopher +servers with seemingly compatible gophermap syntax (e.g. PyGopherd) +treat all selectors as absolute and this can cause headaches when +attempting to port gophermaps from one server to another. + +Dynamically generated menus are possible by making the "gophermap" +file a world-executable script which produces output on stdout of +exactly the same format as a static gophermap. + +As a lightweight alternative to gophermaps, a file named "gophertag" +may be placed in any directory containing a "user friendly" name for +that directory to be used in automatically generated listings (e.g. +you could placed a gophertag file containing the text +"Miscellaneous photographs" in the directory "misc_photos").