You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
chris west dce0729e7a deal with unused return values 4 years ago
.cargo Have the linker strip the binary (cross-compile friendly) 4 years ago
.github/workflows quiet down the action output 4 years ago
doc update manual 4 years ago
img fix border 4 years ago
src deal with unused return values 4 years ago
.gitignore debug log 4 years ago
CHANGELOG.md wrapped for 70s 4 years ago
Cargo.lock 0.9.0 is the next version 4 years ago
Cargo.toml `--no-default-features` to disable tls, tor 4 years ago
LICENSE MIT 4 years ago
Makefile Have the linker strip the binary (cross-compile friendly) 4 years ago
README.md todo 4 years ago
build.rs don't crash the build if git isn't available 4 years ago

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

On macOS you can install with Homebrew:

brew install xvxx/code/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:

git clone https://github.com/xvxx/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

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

screenies

DOS Archive Floodgap
DOS Archive Floodgap

todo

  • don't create new strings for every Line
  • catch SIGWINCH
  • disable ctrl-c outside of raw mode (telnet)
  • xdg-open
  • nicer error msg when there's no xclip/pbcopy

bugs

  • unknown keypress: [ during status messages
  • new status doesn't replace old (download complete -> copy url)

v1.0

  • GIF screencast

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