Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akiomik/nostui
A TUI client for Nostr
https://github.com/akiomik/nostui
nostr ratatui social-media-app tui
Last synced: 27 days ago
JSON representation
A TUI client for Nostr
- Host: GitHub
- URL: https://github.com/akiomik/nostui
- Owner: akiomik
- License: mit
- Created: 2023-12-30T00:53:04.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-07-30T02:09:40.000Z (5 months ago)
- Last Synced: 2024-07-31T06:39:02.354Z (5 months ago)
- Topics: nostr, ratatui, social-media-app, tui
- Language: Rust
- Homepage:
- Size: 2.34 MB
- Stars: 28
- Watchers: 3
- Forks: 4
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr-japan - nostui - Nostr用TUIクライアント by [akiomik](https://github.com/akiomik) (CLI Clients)
- awesome-nostr - nostui - A TUI client for Nostr (Clients / Relay lists)
README
# nostui
[![crates.io](https://img.shields.io/crates/v/nostui.svg)](https://crates.io/crates/nostui)
[![CI](https://github.com/akiomik/nostui/workflows/CI/badge.svg)](https://github.com/akiomik/nostui/actions)A TUI client for [Nostr](https://nostr.com)
![screenshot](screenshot.gif)
## Current Features
- Timeline
- Post, Reply, React, Repost## Getting Started
Dowonload binaries from the [release](https://github.com/akiomik/nostui/releases/latest) page.
Or, install manually via `crates.io`:
```shell
cargo install nostui
```On NetBSD, a package is available from the official repositories. To install it, simply run:
```shell
pkgin install nostui
```## Setup
> [!NOTE]
> Other extensions supported are `.json5`, `.yaml`, `.toml` and `.ini`.1. Create a `config.json` to the following path:
- Linux: `~/.config/nostui/config.json`
- Windows: `~\AppData\Roaming\0m1\nostui\config.json`
- macOS: `~/Library/Application Support/io.0m1.nostui/config.json`2. Add your privatekey to the `config.json`:
```json5
{
"privatekey": "nsec1...",
"relays": ["wss://nos.lol"] // optional
}
```## Usage
### Commands
```shell
nostui [OPTIONS]Options:
-t, --tick-rate Tick rate, i.e. number of ticks per second [default: 16]
-f, --frame-rate Frame rate, i.e. number of frames per second [default: 16]
-h, --help Print help
-V, --version Print version
```### Default Keybindings
| Keybinding | Description |
| --------------------- | -------------------------- |
| `k` `up` | Scroll up |
| `j` `down` | Scroll down |
| `q` `Ctrl-c` `Ctrl-d` | Quit |
| `home` `g` | Scroll to top |
| `end` `Shift-g` | Scroll to bottom |
| `Ctrl-z` | Suspend |
| `esc` | Unselect |
| `n` | New text note |
| `Ctrl-p` | Submit text note |
| `r` | Reply to the selected note |
| `f` | Send reaction |
| `t` | Repost |