.cargo | ||
.github/workflows | ||
benches | ||
doc | ||
img | ||
src | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
LICENSE | ||
Makefile | ||
README.md |
phetch
is a terminal client designed to help you quickly navigate
the gophersphere.
features
- <1MB executable for Linux and Mac
- Technicolor design (based on GILD)
- No-nonsense keyboard navigation
- Supports Gopher searches, text and menu pages, and downloads
- Save your favorite Gopher sites with bookmarks
- Opt-in history tracking
- Secure Gopher support (TLS)
- Tor support
usage
phetch [options] Launch phetch in interactive mode
phetch [options] url Open Gopher URL in interactive mode
Options:
-s, --tls Try to open Gopher URLs securely w/ TLS
-o, --tor Use local Tor proxy to open all pages
-S, -O Disable TLS or Tor
-r, --raw Print raw Gopher response only
-p, --print Print rendered Gopher response only
-l, --local Connect to 127.0.0.1:7070
-c, --config FILE Use instead of ~/.config/phetch/phetch.conf
-C, --no-config Don't use any config file
-h, --help Show this screen
-v, --version Show phetch version
Command line options always override options set in phetch.conf.
Once you've launched phetch, use `ctrl-h` to view the on-line help.
installation
If you already have a Gopher client, download phetch
here:
gopher://phkt.io/1/phetch/latest
On macOS you can install with Homebrew:
brew install xvxx/code/phetch
On Arch Linux, install phetch with your favorite AUR helper:
yay phetch
Binaries for Linux, Raspberry Pi, and Mac are available at https://github.com/xvxx/phetch/releases:
Just unzip/untar the phetch
program into your $PATH and get going!
You can also build and install from source if you have cargo
,
make
, and the other dependencies described in the next section:
git clone https://github.com/xvxx/phetch
cd phetch
env PREFIX=/usr/local make install
development
To build with TLS support on Linux, you need openssl
and
pkg-config
:
sudo apt install -y pkg-config libssl-dev
Regular development uses cargo
:
cargo run -- <gopher-url>
Pro-tip: Run a local gopher server (like phd) on
127.0.0.1:7070
and start phetch with -l
or --local
to quickly
connect to it.
phetch builds with TLS and Tor support by default. To disable these
features, or to enable only one of them, use the
--no-default-features
flag:
cargo build --no-default-features
You can check whether TLS is enabled by visiting the About page:
cargo run --no-default-features -- gopher://phetch/about
To enable just TLS support, or just Tor support, use --features
:
cargo run --no-default-features --features tor -- gopher://phetch/about
todo
- catch SIGWINCH
bugs
- ctrl-c while telneting kills phetch
- ctrl-c in load() not yet implemented
- ctrl-c in download fails to return to listening state because of termion bug: https://gitlab.redox-os.org/redox-os/termion/issues/168
- gopher://tilde.black/1/users/genin/
future features
- track binary size per release
- text views are menus when URLs are present (one per line max)
- Find Text in Text views
- fuzzy find incremental search
- persistent history
- bookmarks: toggle instead of just prepending to the file
- bookmarks: save the title of the current page