Jan Schreiber - Blog - Software - Bookmarks - About



ncgopher is a gopher and gemini client for the modern internet. It uses ncurses and is written in Rust.


Gopher was developed in 1991 at the University of Minnesota, and named after the school's mascot. Gopher is a menu-driven interface that allows a user to browse for text information served off of various gopher servers.


Gemini is a new application-level internet protocol for the distribution of arbitrary files, with some special consideration for serving a lightweight hypertext format which facilitates linking between files.

Obligatory screenshot of light mode.

A gemini site viewed in dark mode.



ncgopher has no fancy installation process right now. Make sure to install rust on your system, but the latest release can be installed through cargo:

cargo install ncgopher

To install the latest development version:

git clone https://github.com/jansc/ncgopher.git
cd ncgopher
cargo build
cargo run


You can download ncgopher on github.com/jansc/ncgopher.


If the application crashes, I'd be interested in a backtrace. Start the application with RUST_BACKTRACE=1 cargo run. There is also a debug view that can be activated with the ~-key.

The software is still in alpha, and it is also my first application written in Rust. Expect lots of bugs and badly written Rust code.


ncgopher is licensed under the BSD 2-clause license.

Copyright (c) 2020, Jan Schreiber. Parts of the status bar implementation are Copyright (c) 2019, Henrik Friedrichsen