amfora/README.md

192 lines
7.3 KiB
Markdown
Raw Normal View History

2020-06-18 20:54:48 +00:00
# Amfora
2020-06-18 23:10:45 +00:00
<center> <!-- I know, that's not how you usually do it :) -->
2020-06-18 23:13:40 +00:00
<img src="logo.png" alt="amphora logo" width="30%">
2020-06-24 17:39:49 +00:00
<h6>Image modified from: amphora by Alvaro Cabrera from the Noun Project</h6>
2020-06-18 23:10:45 +00:00
</center>
2020-06-18 21:23:54 +00:00
[![go reportcard](https://goreportcard.com/badge/github.com/makeworld-the-better-one/amfora)](https://goreportcard.com/report/github.com/makeworld-the-better-one/amfora)
[![license GPLv3](https://img.shields.io/github/license/makeworld-the-better-one/amfora)](https://www.gnu.org/licenses/gpl-3.0.en.html)
2020-06-18 23:10:45 +00:00
<center> <!-- I know, that's not how you usually do it :) -->
2020-06-18 23:13:40 +00:00
<a href="https://raw.githubusercontent.com/makeworld-the-better-one/amfora/master/demo-large.gif">
2020-06-18 23:10:45 +00:00
<img src="demo-large.gif" alt="Demo GIF" width="80%">
2020-06-18 23:13:40 +00:00
</a>
2020-06-18 23:10:45 +00:00
</center>
###### Recording of v1.0.0
2020-06-18 21:23:54 +00:00
Amfora aims to be the best looking [Gemini](https://gemini.circumlunar.space/) client with the most features... all in the terminal. It does not support Gopher or other non-Web protocols - check out [Bombadillo](http://bombadillo.colorfield.space/) 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](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701) instead, and make sure it [works with UTF-8](https://akr.am/blog/posts/using-utf-8-in-the-windows-terminal). Note that some of the application colors might not display correctly on Windows, but all functionality will still work.
2020-06-18 20:54:48 +00:00
2020-12-15 19:35:43 +00:00
It fully passes Sean Conman's client torture test, as well as the Egsam one.
2020-06-18 20:54:48 +00:00
2020-06-18 23:25:08 +00:00
## Installation
### Binary
2020-12-15 19:35:43 +00:00
Download a binary from the [releases](https://github.com/makeworld-the-better-one/amfora/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/`.
2020-06-27 20:41:13 +00:00
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:
```bash
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
```
2020-06-18 23:25:08 +00:00
2020-12-15 19:35:43 +00:00
Make sure to click "Watch" in the top right, then "Custom" > "Releases" to get notified about new releases!
### Arch Linux
2020-10-30 14:47:24 +00:00
Arch Linux users can install Amfora using pacman.
```
2020-10-30 14:47:24 +00:00
sudo pacman -S amfora
```
### Void Linux
Void Linux users can install Amfora using xbps.
```
sudo xbps-install amfora
```
2020-08-04 15:14:32 +00:00
### Homebrew
2020-12-15 19:35:43 +00:00
If you use [Homebrew](https://brew.sh/), you can install Amfora through the my personal tap.
2020-08-04 15:14:32 +00:00
```
2020-09-15 17:54:32 +00:00
brew tap makeworld-the-better-one/tap
brew install amfora
2020-08-04 15:14:32 +00:00
```
You can update it with:
```
brew upgrade amfora
```
### KISS Linux
2021-01-07 13:42:22 +00:00
[KISS](https://k1ss.org) 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
2020-12-01 15:52:06 +00:00
2020-12-15 19:35:43 +00:00
This section is for advanced users who want to install the latest (possibly unstable) version of Amfora.
2020-12-01 15:52:06 +00:00
<details>
<summary>Click to expand</summary>
2020-09-20 21:33:45 +00:00
**Requirements:**
- Go 1.13 or later
- GNU Make
2020-09-20 21:33:45 +00:00
Please note the Makefile does not intend to support Windows, and so there may be issues.
2020-09-02 17:02:40 +00:00
```shell
2020-09-02 15:05:14 +00:00
git clone https://github.com/makeworld-the-better-one/amfora
cd amfora
2020-09-02 18:06:38 +00:00
# git checkout v1.2.3 # Optionally pin to a specific version instead of the latest commit
2020-09-20 21:33:45 +00:00
make # Might be gmake on macOS
sudo make install # If you want to install the binary for all users
```
2020-09-02 15:05:14 +00:00
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
```
2020-09-20 21:33:45 +00:00
MacOS users can also use [Homebrew](https://brew.sh/) 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
```
2020-12-01 15:52:06 +00:00
</details>
2020-06-18 20:54:48 +00:00
## Features / Roadmap
2020-06-20 21:17:34 +00:00
Features in *italics* are in the master branch, but not in the latest release.
2020-06-18 20:54:48 +00:00
- [x] URL browsing with TOFU and error handling
- [x] Tabbed browsing
- [x] Support ANSI color codes on pages, even for Windows
- [x] Styled page content (headings, links)
- [x] Basic forward/backward history, for each tab
- [x] Input (Status Code 10 & 11)
2020-06-24 17:39:49 +00:00
- [x] Multiple charset support (over 55)
- [x] Built-in search (uses GUS by default)
- [x] Bookmarks
- [x] Download pages and arbitrary data
2020-07-29 00:18:38 +00:00
- [x] Theming
2020-11-19 05:34:02 +00:00
- Check out the [user contributed themes](https://github.com/makeworld-the-better-one/amfora/tree/master/contrib/themes)!
2020-09-01 23:55:06 +00:00
- [x] Emoji favicons
2020-06-18 20:54:48 +00:00
- See `gemini://mozz.us/files/rfc_gemini_favicon.gmi` for details
- Disabled by default, enable in config
2020-09-01 23:55:06 +00:00
- [x] Proxying
2020-09-01 18:55:52 +00:00
- Schemes like Gopher or HTTP can be proxied through a Gemini server
2020-11-05 02:31:08 +00:00
- [x] Client certificate support
- [ ] Full client certificate UX within the client
- Create transient and permanent certs within the client, per domain
- Manage and browse them
- Similar to [Kristall](https://github.com/MasterQ32/kristall)
- https://lists.orbitalfox.eu/archives/gemini/2020/001400.html
2020-12-20 22:26:39 +00:00
- [x] Subscriptions
2020-12-07 20:18:47 +00:00
- Subscribing to RSS, Atom, and [JSON Feeds](https://jsonfeed.org/) are all supported
- So is subscribing to a page, to know when it changes
2021-02-17 20:31:06 +00:00
- [x] Open non-text files in another application*
- [x] Ability to stream content instead of downloading it first
2020-07-01 17:39:13 +00:00
- [ ] Stream support
- [ ] Table of contents for pages
- [ ] Search in pages with <kbd>Ctrl-F</kbd>
2020-06-18 20:54:48 +00:00
- [ ] Support Markdown rendering
2020-12-01 15:52:06 +00:00
- [ ] Persistent history
2020-06-18 20:54:48 +00:00
2020-12-01 15:52:06 +00:00
## Usage & Configuration
Please see [the wiki](https://github.com/makeworld-the-better-one/amfora/wiki) for an introduction on how to use Amfora and configure it.
2020-11-05 03:18:43 +00:00
2020-08-29 20:17:14 +00:00
## Known Bugs
2020-08-31 16:09:54 +00:00
- Pasting on Windows is truncated, the full paste content won't be added. ([#43](https://github.com/makeworld-the-better-one/amfora/issues/43))
2020-08-29 20:17:14 +00:00
You can also check out [all the issues with the bug label](https://github.com/makeworld-the-better-one/amfora/issues?q=is%3Aopen+is%3Aissue+label%3Abug).
2020-06-18 20:54:48 +00:00
## Libraries
Amfora ❤️ open source!
- My [cview fork](https://gitlab.com/makeworld-the-better-one/cview/) for the TUI - pull request [here](https://gitlab.com/tslocum/cview/-/merge_requests/12)
2020-06-18 20:54:48 +00:00
- It's a fork of [tview](https://github.com/rivo/tview) with PRs merged and active support
- It uses [tcell](https://github.com/gdamore/tcell) for low level terminal operations
- [Viper](https://github.com/spf13/viper) for configuration and TOFU storing
- [go-gemini](https://github.com/makeworld-the-better-one/go-gemini), my forked and updated Gemini client/server library
- My [progressbar fork](https://github.com/makeworld-the-better-one/progressbar) - pull request [here](https://github.com/schollz/progressbar/pull/69)
2020-07-11 00:05:34 +00:00
- [go-humanize](https://github.com/dustin/go-humanize)
- My [gofeed fork](https://github.com/makeworld-the-better-one/gofeed) - pull request [here](https://github.com/mmcdole/gofeed/pull/164)
2020-06-18 20:54:48 +00:00
## License
This project is licensed under the GPL v3.0. See the [LICENSE](./LICENSE) file for details.