`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](https://github.com/dvkt/gild))
- no-nonsense keyboard navigation
- supports gopher searches, text and menu pages, and downloads
- save your favorite gopherholes with bookmarks
- opt-in history
- secure gopher support (TLS)
## usage
phetch launch and show start page
phetch open gopher url
phetch -t, --tls try to open all pages w/ tls
phetch -r, --raw print raw gopher response
phetch -p, --print print rendered gopher response
phetch -l, --local connect to 127.0.0.1:7070
phetch -h, --help show this screen
phetch -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:
- [phetch-v0.1.11-linux-x86_64.tgz][0]
- [phetch-v0.1.11-linux-armv7.tgz (RPi)][1]
- [phetch-v0.1.11-macos.zip][2]
just unzip/untar the `phetch` program into your $PATH and get going!
## 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 --
*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
![DOS Archive](./img/dos.png)
![Menu View](./img/menu-view.png)
![Text View](./img/text-view.png)
## 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
[0]: https://github.com/dvkt/phetch/releases/download/v0.1.11/phetch-v0.1.11-linux-x86_64.tgz
[1]: https://github.com/dvkt/phetch/releases/download/v0.1.11/phetch-v0.1.11-linux-armv7.tgz
[2]: https://github.com/dvkt/phetch/releases/download/v0.1.11/phetch-v0.1.11-macos.zip