Skip to content

treethought/tofui

Repository files navigation

tofui

tofui (Terminally On Farcaster User Interface) is a TUI for farcaster.

It supports running locally using your own Neynar application, or as a hosted SSH app using wish.

tofui demo

Running Locally

Running locally requires your own Neynar application. After creating one, run the following to create your config file

tofui init

Starting tofui the first time will then give you the option to sign in

Install

Install using go

go install github.com/treethought/tofui@latest

Or clone the repo and run

make build

Or download a binary from the releases page

Then start the TUI via tofui

Keybindings

Navigation

Key Action
Tab Toggle focus between sidebar and main panel
Shift-Tab Toggle sidebar visibility
K / Up Move up in list
J / Down Move down in list
Escape Go to previous view
Enter Select current item
F
Jump to your feed
Ctrl-K Open channel quick switcher
? Open help
c View channel of current item
p View profile of current item

Actions

Key Action
ctrl-d Submit cast/reply in publish view
P Open publish form
C Open reply form when viewing cast
o Open current cast in browser (local mode only)
l Like current cast

Hosted version (WIP and often unavailable)

Use a hosted instance of tofui over ssh. (Note: this is WIP and currently unavailable)

ssh -p 42069 tofui.xyz

SSH Sessions, Authentication and Details

Each SSH session is authenticated via it's SSH public key. The session then receives it's own Bubble Tea which provides the interface.

For authorization, the app directs you to create a signer via Neynar's SIWN. This signer is created and managed by Neynar, and is used to provide tofui access to your farcaster account via it's API.

This is done when both running locally and over SSH, and the signer is specific to whichever app credentials were used. This would be tofui over SSH, or your own app when running locally.