{"id":13766931,"url":"https://github.com/treethought/tofui","last_synced_at":"2025-04-19T15:06:58.855Z","repository":{"id":242799014,"uuid":"694003633","full_name":"treethought/tofui","owner":"treethought","description":"terminally on farcaster user interface","archived":false,"fork":false,"pushed_at":"2024-06-16T16:18:01.000Z","size":2328,"stargazers_count":26,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T11:13:37.929Z","etag":null,"topics":["farcaster","farcaster-client","tui"],"latest_commit_sha":null,"homepage":"https://tofui.xyz","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/treethought.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-20T06:25:46.000Z","updated_at":"2024-10-24T13:53:53.000Z","dependencies_parsed_at":"2024-06-19T03:03:44.473Z","dependency_job_id":"e06cc129-b39d-42c0-a33c-186c2ad0afd0","html_url":"https://github.com/treethought/tofui","commit_stats":null,"previous_names":["treethought/castr","treethought/tofui"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Ftofui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Ftofui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Ftofui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treethought%2Ftofui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/treethought","download_url":"https://codeload.github.com/treethought/tofui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235245442,"owners_count":18959222,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["farcaster","farcaster-client","tui"],"created_at":"2024-08-03T16:01:02.661Z","updated_at":"2025-01-24T23:45:05.281Z","avatar_url":"https://github.com/treethought.png","language":"Go","funding_links":[],"categories":["Clients"],"sub_categories":["Specialized"],"readme":"# tofui\n\ntofui (Terminally On Farcaster User Interface) is a TUI for\n[farcaster](https://www.farcaster.xyz/).\n\nIt supports running locally using your own [Neynar](https://neynar.com/)\napplication, or as a hosted SSH app using\n[wish](https://github.com/charmbracelet/wish).\n\n![tofui demo](./media/demo.gif)\n\n## Running Locally\n\n\nRunning locally requires your own Neynar application. After creating one, run the following to create your config file\n\n```\ntofui init\n```\n\nStarting tofui the first time will then give you the option to sign in\n\n### Install\n\nInstall using go\n\n```\ngo install github.com/treethought/tofui@latest\n```\n\nOr clone the repo and run\n\n```\nmake build\n```\n\nOr download a binary from the\n[releases](https://github.com/treethought/tofui/releases) page\n\nThen start the TUI via `tofui`\n\n## Keybindings\n\n#### Navigation\n\n| Key       | Action                                      |\n| --------- | ------------------------------------------- |\n| Tab       | Toggle focus between sidebar and main panel |\n| Shift-Tab | Toggle sidebar visibility                   |\n| K / Up    | Move up in list                             |\n| J / Down  | Move down in list                           |\n| Escape    | Go to previous view                         |\n| Enter     | Select current item                         |\n| F\u003cbr\u003e     | Jump to your feed                           |\n| Ctrl-K    | Open channel quick switcher\u003cbr\u003e             |\n| ?         | Open help                                   |\n| c         | View channel of current item                |\n| p         | View profile of current item                |\n\n#### Actions\n\n| Key    | Action                                         |\n| ------ | ---------------------------------------------- |\n| ctrl-d | Submit cast/reply in publish view              |\n| P      | Open publish form                              |\n| C      | Open reply form when viewing cast              |\n| o      | Open current cast in browser (local mode only) |\n| l      | Like current cast                              |\n\n## Hosted version (WIP and often unavailable)\n\nUse a hosted instance of tofui over ssh. (Note: this is WIP and currently unavailable)\n\n```\nssh -p 42069 tofui.xyz\n```\n\n### SSH Sessions, Authentication and Details\n\nEach SSH session is authenticated via it's SSH public key. The session then\nreceives it's own [Bubble Tea](https://github.com/charmbracelet/bubbletea) which\nprovides the interface.\n\nFor authorization, the app directs you to create a signer via Neynar's\n[SIWN](https://docs.neynar.com/docs/how-to-let-users-connect-farcaster-accounts-with-write-access-for-free-using-sign-in-with-neynar-siwn).\nThis signer is created and managed by Neynar, and is used to provide tofui\naccess to your farcaster account via it's API.\n\nThis is done when both running locally and over SSH, and the signer is specific\nto whichever app credentials were used. This would be tofui over SSH, or your\nown app when running locally.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreethought%2Ftofui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftreethought%2Ftofui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreethought%2Ftofui/lists"}