A fancy terminal browser for the Gemini protocol.
Go to file
2020-06-18 16:56:57 -04:00
cache 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
client 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
config 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
display 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
logger 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
renderer 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
structs 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
webbrowser 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
.gitignore 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
amfora.go 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
default-config.toml 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
go.mod 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
go.sum 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
LICENSE Create LICENSE 2020-06-18 16:56:57 -04:00
logo.png 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
NOTES.md 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
README.md 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00

Amfora

Amfora logo

Modified from: amphora by Alvaro Cabrera from the Noun Project

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.

It fully passes Sean Conman's client torture test, with exception of the alternate encodings section, as only UTF-8 and ASCII are supported. It mostly passes the Egsam test.

Usage

Just call amfora or amfora <url> <other-url> on the terminal. On Windows it might be amfora.exe instead.

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.

Features / Roadmap

  • 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)
  • Built-in search using GUS
  • Bookmarks
  • Search in pages with Ctrl-F
  • Download pages and arbitrary data
  • Full mouse support
  • Emoji favicons
    • See gemini://mozz.us/files/rfc_gemini_favicon.gmi for details
  • Table of contents for pages
  • Collapsing of gemini site sections (as determined by headers)
  • Full client certificate UX within the client
  • Subscribe to RSS and Atom feeds and display them
  • Support Markdown rendering

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.

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
    • It's a fork of tview with PRs merged and active support
    • It uses tcell for low level terminal operations
  • 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.