All Projects → xvxx → Phetch

xvxx / Phetch

Licence: mit
🐭 quick lil gopher client for your terminal

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Phetch

S Tui
Terminal-based CPU stress and monitoring utility
Stars: ✭ 2,825 (+2515.74%)
Mutual labels:  terminal, console, tui
Termenv
Advanced ANSI style & color support for your terminal applications
Stars: ✭ 555 (+413.89%)
Mutual labels:  terminal, console, tui
Finalcut
A text-based widget toolkit
Stars: ✭ 244 (+125.93%)
Mutual labels:  terminal, console, tui
Smenu
smenu started as a lightweight and flexible terminal menu generator, but quickly evolved into a powerful and versatile CLI selection tool for interactive or scripting use.
Stars: ✭ 1,906 (+1664.81%)
Mutual labels:  terminal, console, tui
Zui
⬢ Zsh User Interface library – CGI+DHTML-like rapid application development with Zsh
Stars: ✭ 95 (-12.04%)
Mutual labels:  terminal, console, tui
Mandown
man-page inspired Markdown viewer
Stars: ✭ 173 (+60.19%)
Mutual labels:  terminal, console, tui
Pulsemixer
CLI and curses mixer for PulseAudio
Stars: ✭ 441 (+308.33%)
Mutual labels:  terminal, console, tui
Stig
TUI and CLI for the BitTorrent client Transmission
Stars: ✭ 360 (+233.33%)
Mutual labels:  terminal, console, tui
Ueberzug
ueberzug is a command line util which allows to display images in combination with X11
Stars: ✭ 711 (+558.33%)
Mutual labels:  terminal, console, tui
Htop
htop is an interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
Stars: ✭ 5,626 (+5109.26%)
Mutual labels:  terminal, console, tui
Kubebox
⎈❏ Terminal and Web console for Kubernetes
Stars: ✭ 1,855 (+1617.59%)
Mutual labels:  terminal, console, tui
Dte
A small, configurable console text editor (moved to https://gitlab.com/craigbarnes/dte)
Stars: ✭ 98 (-9.26%)
Mutual labels:  terminal, console, tui
Lazyhub
lazyhub - Terminal UI Client for GitHub using gocui.
Stars: ✭ 133 (+23.15%)
Mutual labels:  terminal, console, tui
Jquery.terminal
jQuery Terminal Emulator - JavaScript library for creating web-based terminals with custom commands
Stars: ✭ 2,623 (+2328.7%)
Mutual labels:  terminal, console, tui
Nnn
n³ The unorthodox terminal file manager
Stars: ✭ 13,138 (+12064.81%)
Mutual labels:  terminal, console, tui
Clui
Command Line User Interface (Console UI inspired by TurboVision)
Stars: ✭ 561 (+419.44%)
Mutual labels:  terminal, console, tui
C Sharp Console Gui Framework
A GUI framework for C# console applications
Stars: ✭ 838 (+675.93%)
Mutual labels:  terminal, console, tui
Crossterm
Cross platform terminal library rust
Stars: ✭ 1,023 (+847.22%)
Mutual labels:  terminal, console, tui
Gritty
web terminal emulator
Stars: ✭ 63 (-41.67%)
Mutual labels:  terminal, console
Asciichart
Nice-looking lightweight console ASCII line charts ╭┈╯ for NodeJS, browsers and terminal, no dependencies
Stars: ✭ 1,107 (+925%)
Mutual labels:  terminal, console


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


demo of phetch in action

features

  • <1MB executable for Linux, Mac, and NetBSD
  • 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

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

    -w, --wrap COLUMN      Wrap long lines in "text" views at COLUMN.
    -m, --media PROGRAM    Use to open media files. Default: mpv
    -M, --no-media         Just download media files, don't download

    -r, --raw              Print raw Gopher response only
    -p, --print            Print rendered Gopher response only
    -l, --local            Connect to 127.0.0.1:7070
    -e, --encoding         Render text documents in CP437 or UTF8.

    -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

On NetBSD, phetch is included in the main pkgsrc repo:

pkgin install 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 0.0.0.0: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

media player support

phetch includes support for opening video files (; item type) and sound files (s item type) in mpv or an application of your choice using the -m command line flag. To test it out, visit a compatible Gopher server (maybe one using Gophor?). Or check out the "gopher types" help page by pressing ctrl-h then 3 in phetch.

todo

  • [ ] ctrl-c in load() not yet implemented

bugs

  • [ ] telnet IO seems broken after raw_input change (1146f42)

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].