A fancy terminal browser for the Gemini protocol.
Go to file
makeworld 703e853834 ⬆️ Update cview fork
Only one commit update, just read (un)locks the mutex for TextDimensions instead of write
2021-03-10 19:11:10 -05:00
.github Test Go 1.16 and drop 1.13 support 2021-03-04 20:59:48 -05:00
bookmarks 🚨 Happy linter 2021-02-27 00:21:57 -05:00
cache 🔥 Removed favicon support - fixes #199 2021-02-22 17:41:48 -05:00
client 🐛 Downloading re-uses request 2020-12-17 11:29:03 -05:00
config 💬 Change default search to geminispace.info 2021-03-08 14:23:49 -05:00
contrib Add greyscale theme (#204) 2021-02-25 18:30:00 -05:00
display 💄 Help page scrollbar uses theme config 2021-03-02 22:13:56 -05:00
logger 🎉 Initial commit, full featured 2020-06-18 16:54:48 -04:00
renderer 🐛 Escape plaintext documents 2021-03-01 16:07:50 -05:00
rr 🚨 Lint fixes 2020-12-17 11:37:48 -05:00
structs 🚨 Lint fix 2021-02-27 23:55:26 -05:00
subscriptions cview update (#107) 2021-02-17 14:17:13 -05:00
sysopen Mediatypes support (#134) 2020-12-14 14:28:07 -05:00
webbrowser Implement a more robust algorithm for opening web links on unices (#93) 2020-10-01 17:06:50 -04:00
.gitignore 📝 Wiki script, link to wiki on new tab 2020-12-20 00:31:14 -05:00
.golangci.yml 🚨 Lint fixes 2020-12-17 11:37:48 -05:00
.goreleaser.yml 🔧 Disable automatic homebrew 2020-09-06 13:56:49 -04:00
amfora.desktop 🐛 Removing TryExec helps get Amfora to show up 2020-06-24 19:11:56 -04:00
amfora.go Use XBEL for bookmarks - #68 2021-02-27 00:13:11 -05:00
CHANGELOG.md 💬 Change default search to geminispace.info 2021-03-08 14:23:49 -05:00
default-config.toml 💬 Change default search to geminispace.info 2021-03-08 14:23:49 -05:00
demo-large.gif 📝 Update README with Gif 2020-06-18 19:10:45 -04:00
go.mod ⬆️ Update cview fork 2021-03-10 19:11:10 -05:00
go.sum ⬆️ Update cview fork 2021-03-10 19:11:10 -05: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
Makefile 🔀 Merge branch 'master' into feeds 2020-10-10 20:11:00 -04:00
NOTES.md 🚨 Lint fix 2021-02-27 23:55:26 -05:00
README.md 💬 Change default search to geminispace.info 2021-03-08 14:23:49 -05:00
THANKS.md Add more about: pages (#187) 2021-02-12 21:26:07 -05:00

Amfora

amphora logo
Image modified from: amphora by Alvaro Cabrera from the Noun Project

go reportcard license GPLv3

Demo GIF
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. Use Windows Terminal instead, and make sure it works with UTF-8. Note that some of the application colors might not display correctly on Windows, but all functionality will still work.

It fully passes Sean Conman's client torture test, as well as the Egsam one.

Installation

Binary

Download a binary from the releases page. On Unix-based systems you will have to make the file executable with chmod +x <filename>. You can rename the file to just amfora for easy access, and move it 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

Make sure to click "Watch" in the top right, then "Custom" > "Releases" to get notified about new releases!

Arch Linux

Arch Linux users can install Amfora using pacman.

sudo pacman -S amfora

Void Linux

Void Linux users can install Amfora using xbps.

sudo xbps-install amfora

Homebrew

If you use Homebrew, you can install Amfora through the my personal tap.

brew tap makeworld-the-better-one/tap
brew install amfora

You can update it with:

brew upgrade amfora

KISS Linux

KISS Linux users can install Amfora from jedahan's repository.

Add jedahan's kiss repository:

git clone https://github.com/jedahan/kiss-repo.git repo-jedahan
export KISS_PATH="$KISS_PATH:$PWD/repo-jedahan"

Build and install Amfora:

kiss build amfora
kiss install amfora

From Source

This section is for advanced users who want to install the latest (possibly unstable) version of Amfora.

Click to expand

Requirements:

  • Go 1.14 or later
  • GNU Make

Please note the Makefile does not intend to support Windows, and so there may be issues.

git clone https://github.com/makeworld-the-better-one/amfora
cd amfora
# git checkout v1.2.3 # Optionally pin to a specific version instead of the latest commit
make # Might be gmake on macOS
sudo make install # If you want to install the binary for all users

Because you installed with the Makefile, running amfora -v will tell you exactly what commit the binary was built from.

Arch Linux users can also install the latest commit of Amfora from the AUR. It has the package name amfora-git, and is maintained by @lovetocode999

yay -S amfora-git

MacOS users can also use Homebrew to install the latest commit of Amfora:

brew tap makeworld-the-better-one/tap
brew install --HEAD amfora

You can update it with:

brew upgrade --fetch-HEAD amfora

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 geminispace.info by default)
  • Bookmarks
  • Download pages and arbitrary data
  • Theming
  • Proxying
    • Schemes like Gopher or HTTP can be proxied through a Gemini server
  • Client certificate support
  • Subscriptions
    • Subscribing to RSS, Atom, and JSON Feeds are all supported
    • So is subscribing to a page, to know when it changes
  • Open non-text files in another application
    • Ability to stream content instead of downloading it first
  • Stream support
  • Table of contents for pages
  • Search in pages with Ctrl-F
  • Persistent history

Usage & Configuration

Please see the wiki for an introduction on how to use Amfora and configure it.

Libraries

Amfora ❤️ open source!

License

This project is licensed under the GPL v3.0. See the LICENSE file for details.