mirror of
https://github.com/xvxx/phetch
synced 2024-11-05 00:00:58 +00:00
.github/workflows | ||
doc | ||
img | ||
src | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
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)
usage
phetch [options] Launch phetch in interactive mode
phetch [options] [url] Open Gopher URL in interactive mode
Options:
-t, --tls Try to open all pages w/ TLS
-r, --raw Print raw Gopher response only
-p, --print Print rendered Gopher response only
-l, --local Connect to 127.0.0.1:7070
-h, --help Show this screen
-v, --version Show phetch version
Once you've launched phetch, use `ctrl-h` to view the on-line help.
installation
Binaries for linux, mac, and raspberry pi are available at https://github.com/dvkt/phetch/releases:
Just unzip/untar the phetch
program into your $PATH and get going!
You can also build and install from source:
git clone https://github.com/dvkt/phetch
cd phetch
env PREFIX=/usr/local make install
updates
To check for new versions of phetch
, use the on-line help system in
the app (ctrl-h
) or visit:
gopher://phkt.io/1/phetch/latest
development
cargo run -- <gopher-url>
Pro-tip: Run a local gopher server on 127.0.0.1:7070
and start
phetch with -l
or --local
to quickly connect to it.
To build with TLS support on Linux, you need openssl
and
pkg-config
:
sudo apt install -y pkg-config libssl-dev
To build without TLS support, build with the no-tls
feature:
cargo build --features disable-tls
You can check whether TLS is enabled by visiting the About page:
cargo run --features disable-tls -- gopher://phetch/about
screenies
todo
- fork+exec telnet: gopher://bitreich.org/1/lawn/bbs
- ~/.config/phetch/phetch.conf
bugs
- "stream did not contain valid UTF-8" sdf.org/maps/
- ctrl-z (suspend) doesn't work
- unknown keypress: \n needs escaping
- unknown keypress: [ during status messages
- gopher://1436.ninja/1/twit.cgi ("iWritten and performed by Nathaniel" weirdness) (kitty only)
- gopherpedia 'recent entries' weirdness (also kitty only)
- selectors that don't start with /
- gopher://alexschroeder.ch/2020-01-02_This_Gopher_Hole/menu
- gopher://gopher.conman.org/0About:Server
v1.0
- Changelog generation (for gopher and github)
- GIF screencast
- man page (small one)
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