From 7f3705fba6e22ac481d9bdad7ece8ea72a8277df Mon Sep 17 00:00:00 2001 From: sloum Date: Thu, 16 Jul 2020 22:05:37 -0700 Subject: [PATCH] Adds more help documentation --- help.go | 8 +++++- help/gemini.help | 25 ++++++++++++++++- help/local.help | 51 ++++++++++++++++++++++++++++++++++ help/protocols.help | 67 +++++++++++++++++++++++++++++++++++++++++++++ help/resources.help | 54 ++++++++++++++++++++++++++++++++++++ 5 files changed, 203 insertions(+), 2 deletions(-) diff --git a/help.go b/help.go index 1b065ad..59aaa2c 100644 --- a/help.go +++ b/help.go @@ -37,9 +37,11 @@ func helpAddress(section string) (string, error) { addr = "saving.help" case "license": addr = "license.help" + case "local", "file": + addr = "local.help" case "finger": addr = "finger.help" - case "gemini", "text/gemini": + case "gemini", "text/gemini", "tls", "tofu": addr = "gemini.help" case "gopher": addr = "gopher.help" @@ -51,6 +53,10 @@ func helpAddress(section string) (string, error) { addr = "navigation.help" case "command", "commands", "functions": addr = "commands.help" + case "protocol", "protocols": + addr = "protocols.help" + case "resources", "links": + addr = "resources.go" default: return "", fmt.Errorf("No help section for %q exists", section) } diff --git a/help/gemini.help b/help/gemini.help index d4d24bc..903930a 100644 --- a/help/gemini.help +++ b/help/gemini.help @@ -31,6 +31,29 @@ Bombadillo does not support: +-- TLS / TOFU -- + + +Bombadillo connects to all gemini servers via TLS. During the TLS connection handshake the server provides a certificate. If this is the first time you have visited this particular host then Bombadillo will save the certificate hash and its expiration automatically and connect you to the site. The next time you visit a document at that same host the certificate offered by the server will be compared to the one on file. If the one on file has expired then the new one will be accepted automatically. If the certificates differ and the one on file has not expired then you will receive an error message from Bombadillo letting you know that "no matching cert was found". Bombadillo will not connect to the site. This is for your protection and is intentional. It makes you make a choice: trust this new certificate or not. Most users will likely decide to trust the new certificate. To have Bombadillo trust the new certificate you must purge the old one. + +To purge a certificate for the host example.com run the following Bombadillo command: + +`purge example.com` + +Now when you visit the site again it will accept the new certificate and file it away as the one to compare against. + +For more info on the purge command, see `help commands` + +Other reasons you may receive an error related to certificates: + +- The server offers a certificate that is expired +- The server offers a certificate that is not yet valid +- The server offers a certificate with a hostname different than the one you are requesting + +If any of the above occur you will be notified. A purge will not solve this problem. Bombadillo, for your safety, will not connect to a site that does not offer a valid TLS certificate. This is by design and will most certainly annoy you when it happens. For that we appologize. + + + -- More information about gemini -- @@ -42,7 +65,7 @@ ________________________________ This concludes the help section brought up by the following keywords: -gemini, text/gemini +gemini, text/gemini, tls, tofu diff --git a/help/local.help b/help/local.help index e69de29..9640818 100644 --- a/help/local.help +++ b/help/local.help @@ -0,0 +1,51 @@ + +Local protocol +--------------------------- + +The local protocol works very similarly to the 'file` protocol implemented in many modern web browsers. It allows you to view and navigate your files and filesystem. + + + +-- Syntax / Usage -- + + +When using the local protocol you should prefix the path you want with 'local://', so to view '/usr/local/bin' you would enter the following address into Bombadillo: + +`local:///user/local/bin` + +You may notice there is a third slash after 'local:', this represents the root directory and must be included in full paths. + +Bombadillo's local protocol will also expand tildes for your home directory ('local://~'). + +Other than those things, navigation works like any other protocol, enter the link ID to navigate around folders or view files. When navigating to a folder the output will appear similar to running 'ls -la' in your shell. It will show hidden files and will output file permissions along with the file names. It does not, however, show file sizes. + + +________________________________ + +This concludes the help section brought up by the following keywords: + +local, file + + + +Other sections of the help document: + +`help help` +`help general` +`help navigation` +`help bookmarks` +`help saving` +`help commands` +`help keys` +`help search` +`help settings` +`help protocols` + `help gemini` + `help gopher` + `help http` + `help finger` + `help telnet` +`help resources` +`help license` + + diff --git a/help/protocols.help b/help/protocols.help index e69de29..0c87499 100644 --- a/help/protocols.help +++ b/help/protocols.help @@ -0,0 +1,67 @@ + +Protocols +--------------------------- + +Bombadillo supports the following protocols: + +- gopher +- gemini +- finger +- local + +With the help of outside software the following additional protocols are supported: + +- telnet +- http +- https + +Any terminal based telnet application can be used and can be set in your settings. + +http(s) is supported by leveraging the rendering abilities of the following terminal based web browsers: + +- lynx +- w3m +- elinks + +Having any of the three available on your path and setting 'webmode' to the appropriate browser will allow you to view http(s) content inside of Bombadillo. To set your webmode, follow this example: + +`set webmode lynx` + +None (will not follow http(s) links at all) and gui are also viable settings. gui will attempt to open http(s) links in your default graphical web browser. + +For more information on any given protocol please see their individual protocol help page(s) (see below). + + +________________________________ + +This concludes the help section brought up by the following keywords: + +protocol, protocols + + +Other sections of the help document: + +`help help` +`help general` +`help navigation` +`help bookmarks` +`help saving` +`help commands` +`help keys` +`help savin` +`help search` +`help settings` +`help protocols` + `help gemini` + `help gopher` + `help http` + `help finger` + `help telnet` + `help local` +`help resources` +`help license` + + + + + diff --git a/help/resources.help b/help/resources.help index e69de29..c69c172 100644 --- a/help/resources.help +++ b/help/resources.help @@ -0,0 +1,54 @@ + +Resources +--------------------------- + +Additional help resources are available and can be found at the following locations: + +gopher://bombadillo.colorfield.space +https://bombadillo.colorfield.space + +Or in your shell: + +`man bombadillo` + + +You can view the source code for Bombadillo as well: + +https://tildegit.org/sloum/bombadillo + +The README document in the source code repository linked above has detailed build and install instructions as well. + + +________________________________ + +This concludes the help section brought up by the following keywords: + +resources, links + + +Other sections of the help document: + +`help help` +`help general` +`help navigation` +`help bookmarks` +`help saving` +`help commands` +`help keys` +`help saving` +`help search` +`help settings` +`help protocols` + `help gemini` + `help gopher` + `help http` + `help finger` + `help telnet` + `help local` +`help license` + + + + + +