2
0
mirror of https://github.com/xvxx/phetch synced 2024-11-05 00:00:58 +00:00
Go to file
2020-05-23 12:38:15 -07:00
.cargo Have the linker strip the binary (cross-compile friendly) 2020-01-11 12:38:05 -08:00
.github/workflows not anymore 2020-05-17 10:10:00 -07:00
benches add some criterion benchmarks 2020-01-27 23:08:16 -08:00
doc aur and homebrew instructions 2020-05-03 09:14:32 -07:00
img add terminalizer config 2020-02-21 13:03:55 -08:00
src experimental media player support w/ media feature 2020-05-23 12:38:15 -07:00
.gitignore add criterion 2020-01-27 22:39:02 -08:00
build.rs char 2020-02-01 16:01:35 -08:00
Cargo.lock (cargo-release) start next development iteration 1.0.3-dev 2020-05-14 17:08:15 -07:00
Cargo.toml experimental media player support w/ media feature 2020-05-23 12:38:15 -07:00
CHANGELOG.md prep for release 2020-05-14 17:05:06 -07:00
Cross.toml wrong file 2020-02-25 12:56:13 -08:00
LICENSE MIT 2019-12-17 16:49:03 -08:00
Makefile Have the linker strip the binary (cross-compile friendly) 2020-01-11 12:38:05 -08:00
README.md (cargo-release) version 1.0.2 2020-05-14 17:08:06 -07:00


phetch is a terminal client designed to help you quickly navigate the gophersphere.


demo of phetch in action

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. Useful for debugging!

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

  • ctrl-c in load() not yet implemented

bugs

  • ctrl-c while telneting kills phetch

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