This page contains legacy documentation for Bombadillo 1.0. Please visit bombadillo.colorfield.space for documentation of more recent/current versions of Bombadillo.
General Information
Bombadillo is a [gopher] client for the [terminal]. The application functions as a "full screen" terminal user interface. Keys are mapped similarly to [Vim] in order to provide a sense of familiarity and ease of control. Source code is written in golang and is freely available with the general intent being: use it however you like in a non-profit fashion. Linux, BSD, and OSX are fully supported for both ARM and x86_64.
Background
The name Bombadillo comes fromt he legendarium of [J.R.R. Tolkien], specifically The Lord of the Rings. [Tom Bombadil], who was a jolly fellow, is a mysterious figure. A seemingly simple character that speaks in rhymed meter and lives in the woods, Tom is master of his domain and is in his way quite powerful. The goal with Bombadillo, the gopher client, was to take this simple protocol (gopher) and make an easy to use, but powerful, client for the terminal.
The main developer of Bombadillo had made two other gopher clients previously: [Stubb] and [Burrow]. Stubb is also for the terminal; but did not function as a pager (full screen scrolling), and had a more confusing and less configurable usage pattern. Burrow is a graphical gopher client with an appearance much like a web browser (it even displays images), but it is difficult to get working correctly on a number of systems (it works as intended on debian based linux).
Bombadillo attempts to solve the shortcomings of those clients by being available as binaries for multiple operating systems and processor architectures. While it does not have the image viewing capabilities of Burrow, it is quick and easy to control and just feels right for the gopher protocol. The dream of the internet in the 90s as a place of freedom, expression, and community is alive and well via gopher. See the [links] section for other great clients and related projects.
Quick Start
Once installed on a system and included in the system path, a user can start the application by typing `bombadillo` into their terminal and pressing enter, or if they wish they can include a URL to visit: `bombadillo gopher://colorfield.space`.
At the top of the screen you will see the current URL. Below that you will see the content of your requested URL. If you did not pass a URL to Bombadillo when you ran the program you will be navigated to your home page. By default the home page is set to gopher based documentation for Bombadillo.
If you are on a gophermap you will see link numbers and types to the left of the main content. To visit a link press the spacebar and then enter the link number you would like to visit followed by the enter key. You can visit a different URL the same way: press the spacebar, type in the URL, and press enter.
To go forward or backward in history you can, without first pressing the spacebar, press `b` for back or `f` for forward.
That should get you started using Bombadillo at a basic level. There are many more options and features. Please read the [Documentation] section to find out more.
License
Bombadillo is released under the [GNU GPL Version 3] license. The basic gist: you are free to use this software, modify it, and share it; so long as any modifications or code based on it is released under the same license with the same terms (the source code must be freely available and modifiable by others). There is a little more to it than that, but that is the basic idea: free and open source software that will remain free and open source software.
Documentation
Gopher Support
Gopher is the sole protocol supported by Bombadillo at this time. Gopher types are implemented in a 4 tier fashion:
- Gophermaps are supported with all classic/standardized features
- Text documents are displayed in the client as scrollable documents
- Search is provided by a prompt, and usually returns a gophermap
- All other types (images, binaries, etc) are implemented as downloads
Navigation and Hot Keys
Navigation on a page is done via hot keys. Moving around a page, going forward and backward in history, toggling between windows, quitting the application, and entering command mode are all hot key based. Hot keys perform simple concrete actions. For more complex behavior, or behavior involving text entry, see the [commands] section.
Key | Action |
---|---|
q | Quit Bombadillo |
b | Go back a place in browsing history |
f | Go forward a place in browsing history |
j | Scroll down |
k | Scroll up |
G | Go to end |
g | Go to beginning |
d | Page down |
u | Page up |
B | Toggle bookmarks sidebar into or out of view |
: | Enter command mode. Once in command mode you may enter your command (see the [commands table]) |
spc | Alternate entry into command mode |
tab | Toggle window selection between bookmark bar and main content window (only usable if bookmark bar is open). Lets a user scroll each window as needed. |
Control Commands
As detailed in the above section on [hot keys], a user can initiate command entry by pressing the spacebar or :
Once command entry is initiated a user can enter a command to navigate to a link or url, adjust/view settings, add/remove bookmarks, download files, etc.
Action | Command/Syntax | Alias | Notes |
---|---|---|---|
Quit Bombadillo | quit | q | Same as q hot key |
Go home | home | h | Set by homeurl option. Defaults to Bombadillo help document |
Get help | help | ? | |
Search | search | Will promopt for search terms. Engine defaults to Veronica2. Engine can be set by searchengine option | |
Go to URL | [url] | Enter a url to go there, defaults to gopher protocol/port 70 | |
Go to link | [link#] | Any number entered will be treated as a link. If the link number exists on the current page, it will be followed | |
Add bookmark | add [url or link#] [title] | a | Instead of url or link # a user can use . to add the current page |
Delete bookmark | delete [bookmark#] | d | |
Go to bookmark | bookmark [bookmark#] | b | |
Write to file | write [url or link#] [filename] | w | Use . for current page. Downloads as filename at savelocation set in options, defaults to ~/Downloads/ |
Set option | set [option name] [value] | s | |
Check option | check [option name] | c | Will print the value of a configuration option to the screen |
Configuration
Configurations allow a user to customize the client as they see fit. A configuration file (ini format) is saved to the users home directory. This file can technically be edited directly, but it is recommended to use the set command to update configuration options. To verify current settings, use the check command.
Option Name | Value Type | Default Value | What it does |
---|---|---|---|
homeurl | Gopher url | gopher://colorfield.space:70/1/bombadillo-info | Sets the homepage, which loads when Bombadillo opens |
savelocation | A non-relative filepath | /[home path]/Downloads/ | Sets the save location for downloads |
searchengine | A type 7 gopher url | gopher.floodgap.com:70/7/v2/vs | Sets what search engine to use when a user uses the search command |
openhttp | true / false | false | Toggles whether or not to try opening www links in a users web browser |
Miscellaneous
Terminal Window Resizing
If you resize your terminal window the text display will likely become distorted and wrapped weirdly. Pressing any key when the screen is in this state will redraw the screen and realign the text. Do not that all hot keys will also still have their normal behavior, so avoid pressing `q` if you do not want to quit the application.
Runtime options
When running Bombadillo at the terminal prompt, a user may optionally pass a URL to have the client load that URL rather than the user's homepage.
Getting Bombadillo
Bombadillo is coded in [Go] and can be built from source. No outside libraries are used, just the Go standard library. The source code is designed with modules so requires Go 1.11+. The source code is available at https://tildegit.org/sloum/bombadillo.
OS | Architecture | Download Link |
---|---|---|
Linux | x86 64-bit | [bombadillo_linux_amd64.zip] |
Linux | x86 32-bit | [bombadillo_linux_32.zip] |
Linux | Arm | [bombadillo_linux_arm.zip] |
OSX | x86 64-bit | [bombadillo_osx_64.zip] |
Other platforms can be built for from source (various BSD systems, Plan 9, etc). Windows can technically be built, but is not verified as functional at present.
Links To Places Near and Far
If you are new to gopher, or the larger terminal based internet, this section is included to guide you to some points of interest. Full disclosure, a number of the below items are built by or administered by the developer(s) of Bombadillo (stubb, burrow, colorfield.space)
Gopher Clients
There are lots of gopher clients out there. Try a few and see which is a good fit for your workflow. Here are a few to get you started:
- Stubb Another terminal based client from the creator of Bombadillo. It does not work as a pager, but instead works by printing lines to the screen similar to the cat command.
- VF-1 A great client that works similarly to, and was the inspiration for, Stubb. Try both flavors!
- Burrow A graphical client that is more similar to the web browsers most users are likely accustomed to. It only works properly on linux (it will run on OSX, but will not look as nice and some features will not work).
- Lynx A classic web browser for the terminal that still supports gopher and is available for most systems.
Public Access *nix Servers
Public access *nix systems are often great places for community in the text/terminal based internet. Many provide gopher hosting for free and can be a solid way to get your feet wet with your own gopher hole.
- Circumlunar Space On the smaller side, but with a few different federated servers. CS offers gopher hosting, irc, chat, bulletin board, and a great user community.
- SDF A behemoth that has stood the test of time (many decades). SDF has a very large userbase, which has pros and cons. Gopher hosting is offered, along with games, chat, bulletin board, e-mail, and more.
- Rawtext.club Gopher hosting, web hosting, experimental tooling and creative userbase, internal blogging in the shell (shlog), e-mail, chat.
- Colorfield Space[gopher] Experimental shell hosted on a Raspberry Pi Zero. Correspondence gaming, chat, bulletin board, gopher hosting.
Gopher Holes To Visit
Links to various gopher holes have been included in order to give the user some places to visit with Bombadillo, or any other gopher client. Do not that regular web browsers will not usually load the following links, you will need to copy the address and enter it into a gopher client.
- Cosmic Voyage is a place for users to read and write science fiction stories. They also offer shell accounts to facilitate said sharing.
- Gopherpedia is a gopher version of wikipedia.
- Bongusta is a phlog (gopher's version of blogging) aggregator. Find lots of great places from here.
- Pubnix History Project collects information of public accerss *nix systems. Find a new home on the internet or research the old days.
- Gopher Black is the home of Tomasino, a very active gopher and *nix user. Lots of great links and posts to be read here.