bookmarks | ||
cache | ||
client | ||
config | ||
display | ||
logger | ||
renderer | ||
structs | ||
webbrowser | ||
.gitignore | ||
amfora.desktop | ||
amfora.go | ||
CHANGELOG.md | ||
default-config.toml | ||
demo-large.gif | ||
go.mod | ||
go.sum | ||
LICENSE | ||
logo.png | ||
NOTES.md | ||
README.md |
Amfora
Image modified from: amphora by Alvaro Cabrera from the Noun Project
Recording of v1.0.0
Amfora aims to be the best looking Gemini client with the most features... all in the terminal. It does not support Gopher or other non-Web protocols - check out Bombadillo for that.
It also aims to be completely cross platform, with full Windows support. If you're on Windows, I would not recommend using the default terminal software. Maybe use Cmder instead. Note that some of the application colors will not display correctly on most Windows terminals, but all functionality will still work.
It fully passes Sean Conman's client torture test, including the new Unicode tests. It mostly passes the Egsam test.
Installation
Download a binary from the releases page. On Unix-based systems you might have to make the file executable with chmod +x <filename>
. You should also move the binary to /usr/local/bin
.
On Windows, make sure you click "Advanced > Run anyway" after double-clicking, or something like that.
Unix systems can install the desktop entry file to get Amfora to appear when they search for applications:
curl -sSL https://raw.githubusercontent.com/makeworld-the-better-one/amfora/master/amfora.desktop -o ~/.local/share/applications/amfora.desktop
update-desktop-database ~/.local/share/applications
Usage
Just call amfora
or amfora <url>
on the terminal. On Windows it might be amfora.exe
instead.
To determine the version, you can run amfora --version
or amfora -v
.
The project keeps many standard terminal keybindings and is intuitive. Press ? inside the application to pull up the help menu with a list of all the keybindings, and Esc to leave it. If you have used Bombadillo you will find it similar.
It is designed with large or fullscreen terminals in mind. For optimal usage, make your terminal fullscreen. It was also designed with a dark background terminal in mind, but please file an issue if the colour choices look bad on your terminal setup. It was tested with left-to-right languages, and will likely not work as well with right-to-left languages like Arabic.
Features / Roadmap
Features in italics are in the master branch, but not in the latest release.
- URL browsing with TOFU and error handling
- Tabbed browsing
- Support ANSI color codes on pages, even for Windows
- Styled page content (headings, links)
- Basic forward/backward history, for each tab
- Input (Status Code 10 & 11)
- Multiple charset support (over 55)
- Built-in search (uses GUS by default)
- Bookmarks
- Search in pages with Ctrl-F
- Download pages and arbitrary data
- Emoji favicons
- See
gemini://mozz.us/files/rfc_gemini_favicon.gmi
for details
- See
- Full mouse support
- Table of contents for pages
- Full client certificate UX within the client
- I will be waiting for some spec changes/recommendations to happen before implementing this
- Create transient and permanent certs within the client, per domain
- Manage and browse them
- https://lists.orbitalfox.eu/archives/gemini/2020/001400.html
- Subscribe to RSS and Atom feeds and display them
- Support Markdown rendering
- History browser
Configuration
The config file is written in the intuitive TOML file format. See default-config.toml for details. By default this file is available at ~/.config/amfora/config.toml
, or $XDG_CONFIG_HOME/amfora/config.toml
, if that variable is set.
On Windows, the file is in %APPDATA%\amfora\config.toml
, which usually expands to C:\Users\<username>\AppData\Roaming\amfora\config.toml
.
Libraries
Amfora ❤️ open source!
- cview for the TUI
- Viper for configuration and TOFU storing
- go-gemini, my forked and updated Gemini client/server library
License
This project is licensed under the GPL v3.0. See the LICENSE file for details.