2019-12-28 20:37:24 +00:00
|
|
|
<!--
|
2019-12-29 03:25:09 +00:00
|
|
|
/ / /
|
|
|
|
___ (___ ___ (___ ___ (___
|
2019-12-28 20:37:24 +00:00
|
|
|
| )| )|___)| | | )
|
2019-12-29 03:25:09 +00:00
|
|
|
|__/ | / |__ |__ |__ | /
|
|
|
|
|
|
2020-01-06 09:14:29 +00:00
|
|
|
--> <p align="center"> <img src="./img/logo.png"> <br>
|
2020-01-08 21:19:31 +00:00
|
|
|
<a href="https://git.io/JveQo">
|
2020-01-11 20:53:08 +00:00
|
|
|
<img src="https://img.shields.io/github/v/release/xvxx/phetch?include_prereleases">
|
2020-01-05 00:49:13 +00:00
|
|
|
</a>
|
|
|
|
</p>
|
2019-12-18 00:48:30 +00:00
|
|
|
|
2019-12-31 18:03:42 +00:00
|
|
|
`phetch` is a terminal client designed to help you quickly navigate
|
2019-12-29 08:16:27 +00:00
|
|
|
the gophersphere.
|
2019-11-22 07:45:02 +00:00
|
|
|
|
2019-12-24 04:27:18 +00:00
|
|
|
## features
|
2019-11-22 07:45:02 +00:00
|
|
|
|
2020-01-11 20:39:58 +00:00
|
|
|
- <1MB executable for Linux and Mac
|
2020-01-11 20:53:08 +00:00
|
|
|
- Technicolor design (based on [GILD](https://github.com/xvxx/gild))
|
2020-01-08 21:44:29 +00:00
|
|
|
- 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)
|
2020-01-11 02:48:10 +00:00
|
|
|
- Tor support
|
2019-11-22 07:45:02 +00:00
|
|
|
|
2019-12-17 07:57:18 +00:00
|
|
|
## usage
|
|
|
|
|
2020-01-12 00:52:12 +00:00
|
|
|
phetch [options] Launch phetch in interactive mode
|
|
|
|
phetch [options] url Open Gopher URL in interactive mode
|
2020-01-07 17:51:38 +00:00
|
|
|
|
|
|
|
Options:
|
|
|
|
|
2020-01-12 00:52:12 +00:00
|
|
|
-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
|
2020-01-11 22:47:05 +00:00
|
|
|
|
2020-01-12 00:52:12 +00:00
|
|
|
-r, --raw Print raw Gopher response only
|
|
|
|
-p, --print Print rendered Gopher response only
|
|
|
|
-l, --local Connect to 127.0.0.1:7070
|
2020-01-11 02:48:10 +00:00
|
|
|
|
2020-01-12 00:52:12 +00:00
|
|
|
-c, --config FILE Use instead of ~/.config/phetch/phetch.conf
|
|
|
|
-C, --no-config Don't use any config file
|
2020-01-11 23:10:07 +00:00
|
|
|
|
2020-01-12 00:52:12 +00:00
|
|
|
-h, --help Show this screen
|
|
|
|
-v, --version Show phetch version
|
2020-01-11 02:48:10 +00:00
|
|
|
|
2020-01-11 23:14:38 +00:00
|
|
|
Command line options always override options set in phetch.conf.
|
2020-01-11 22:47:05 +00:00
|
|
|
|
2020-01-11 02:48:10 +00:00
|
|
|
Once you've launched phetch, use `ctrl-h` to view the on-line help.
|
2020-01-07 17:51:38 +00:00
|
|
|
|
2019-12-18 00:48:30 +00:00
|
|
|
## installation
|
|
|
|
|
2020-01-17 06:33:55 +00:00
|
|
|
If you already have a Gopher client, download `phetch` here:
|
|
|
|
|
|
|
|
gopher://phkt.io/1/phetch/latest
|
|
|
|
|
2020-01-09 03:26:24 +00:00
|
|
|
On macOS you can install with [Homebrew](https://brew.sh/):
|
|
|
|
|
2020-01-11 20:53:08 +00:00
|
|
|
brew install xvxx/code/phetch
|
2020-01-09 03:26:24 +00:00
|
|
|
|
2020-01-11 02:48:10 +00:00
|
|
|
Binaries for Linux, Raspberry Pi, and Mac are available at
|
2020-01-11 20:53:08 +00:00
|
|
|
https://github.com/xvxx/phetch/releases:
|
2019-12-24 04:56:54 +00:00
|
|
|
|
2020-01-12 00:38:29 +00:00
|
|
|
- [phetch-v0.1.13-linux-x86_64.tgz][0]
|
|
|
|
- [phetch-v0.1.13-linux-armv7.tgz (Raspberry Pi)][1]
|
|
|
|
- [phetch-v0.1.13-macos.zip][2]
|
2019-12-19 04:52:21 +00:00
|
|
|
|
2020-01-08 21:44:29 +00:00
|
|
|
Just unzip/untar the `phetch` program into your $PATH and get going!
|
2019-12-18 00:48:30 +00:00
|
|
|
|
2020-01-17 06:33:55 +00:00
|
|
|
You can also build and install from source if you have `cargo`,
|
|
|
|
`make`, and the other dependencies described in the next section:
|
2020-01-08 21:41:53 +00:00
|
|
|
|
2020-01-11 20:53:08 +00:00
|
|
|
git clone https://github.com/xvxx/phetch
|
2020-01-08 21:41:53 +00:00
|
|
|
cd phetch
|
|
|
|
env PREFIX=/usr/local make install
|
|
|
|
|
2020-01-17 06:33:55 +00:00
|
|
|
## development
|
2020-01-04 22:36:00 +00:00
|
|
|
|
2020-01-17 06:33:55 +00:00
|
|
|
To build with TLS support on **Linux**, you need `openssl` and
|
|
|
|
`pkg-config`:
|
2020-01-04 22:36:00 +00:00
|
|
|
|
2020-01-17 06:33:55 +00:00
|
|
|
sudo apt install -y pkg-config libssl-dev
|
2020-01-04 22:36:00 +00:00
|
|
|
|
2020-01-17 06:33:55 +00:00
|
|
|
Regular development uses `cargo`:
|
2019-11-22 07:45:02 +00:00
|
|
|
|
2019-12-17 20:23:07 +00:00
|
|
|
cargo run -- <gopher-url>
|
|
|
|
|
2020-01-08 21:46:39 +00:00
|
|
|
*Pro-tip:* Run a local gopher server on `127.0.0.1:7070` and start
|
2020-01-04 22:36:00 +00:00
|
|
|
phetch with `-l` or `--local` to quickly connect to it.
|
|
|
|
|
2020-01-14 18:13:19 +00:00
|
|
|
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:
|
2020-01-06 18:26:58 +00:00
|
|
|
|
2020-01-14 18:13:19 +00:00
|
|
|
cargo build --no-default-features
|
2020-01-06 18:28:14 +00:00
|
|
|
|
2020-01-08 21:44:29 +00:00
|
|
|
You can check whether TLS is enabled by visiting the About page:
|
2020-01-06 18:28:14 +00:00
|
|
|
|
2020-01-14 18:13:19 +00:00
|
|
|
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
|
2020-01-06 18:26:58 +00:00
|
|
|
|
2019-12-24 04:20:53 +00:00
|
|
|
## screenies
|
2019-12-20 04:34:03 +00:00
|
|
|
|
2020-01-09 00:56:37 +00:00
|
|
|
|![DOS Archive](./img/dos.png)|![Floodgap](./img/menu-view.png)|
|
|
|
|
|:-:|:-:|
|
|
|
|
| DOS Archive | Floodgap |
|
2019-12-24 01:24:36 +00:00
|
|
|
|
2020-01-16 03:50:34 +00:00
|
|
|
## todo
|
|
|
|
|
|
|
|
- [ ] don't create new strings for every Line
|
|
|
|
- [ ] catch SIGWINCH
|
|
|
|
- [ ] disable ctrl-c outside of raw mode (telnet)
|
|
|
|
|
2019-12-20 04:34:03 +00:00
|
|
|
## bugs
|
2019-12-18 21:40:09 +00:00
|
|
|
|
2020-01-07 00:01:49 +00:00
|
|
|
- [ ] unknown keypress: [ during status messages
|
2020-01-11 03:27:03 +00:00
|
|
|
- [ ] new status doesn't replace old (download complete -> copy url)
|
2019-12-20 18:22:35 +00:00
|
|
|
|
2019-12-31 17:58:34 +00:00
|
|
|
## v1.0
|
2019-12-20 18:22:35 +00:00
|
|
|
|
2019-12-31 18:03:42 +00:00
|
|
|
- [ ] GIF screencast
|
2019-12-31 17:58:34 +00:00
|
|
|
|
2019-12-31 18:03:42 +00:00
|
|
|
## future features
|
2019-12-31 17:58:34 +00:00
|
|
|
|
|
|
|
- [ ] track binary size per release
|
2020-01-03 08:32:42 +00:00
|
|
|
- [ ] text views are menus when URLs are present (one per line max)
|
|
|
|
- [ ] Find Text in Text views
|
2019-12-31 17:58:34 +00:00
|
|
|
- [ ] fuzzy find incremental search
|
|
|
|
- [ ] persistent history
|
|
|
|
- [ ] bookmarks: toggle instead of just prepending to the file
|
|
|
|
- [ ] bookmarks: save the title of the current page
|
2019-12-29 08:16:27 +00:00
|
|
|
|
2020-01-12 00:38:29 +00:00
|
|
|
[0]: https://github.com/xvxx/phetch/releases/download/v0.1.13/phetch-v0.1.13-linux-x86_64.tgz
|
|
|
|
[1]: https://github.com/xvxx/phetch/releases/download/v0.1.13/phetch-v0.1.13-linux-armv7.tgz
|
|
|
|
[2]: https://github.com/xvxx/phetch/releases/download/v0.1.13/phetch-v0.1.13-macos.zip
|