No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ozan Malci 6db9548d22 Implement response size limit, improve terminal size checks, and enhance ToC navigation
- Added a maximum response size limit of 50 MiB in `RfcClient` to prevent resource exhaustion.
- Refactored terminal size checks in the `App` struct to use frame area instead of terminal size directly.
- Improved `TocPanel` to maintain a set of title line numbers for efficient lookup and added bounds checking for navigation.
- Updated event handling to ensure proper shutdown signal handling.
- Enhanced logging path determination for Linux systems to fall back to local data directory if necessary.
- Cleaned up search match collection logic and ensured proper handling of empty states in the ToC panel.
2026-09-05 20:22:38 +03:00
.cargo Add 'depall' command to .cargo/config.toml 2025-11-07 10:53:24 +03:00
.github/workflows Add CI configuration for GitHub releases and dist setup 2025-10-10 17:00:28 +03:00
src Implement response size limit, improve terminal size checks, and enhance ToC navigation 2026-09-05 20:22:38 +03:00
.gitignore chore: update .gitignore to include .ooda 2026-09-05 19:30:51 +03:00
Cargo.lock Implement response size limit, improve terminal size checks, and enhance ToC navigation 2026-09-05 20:22:38 +03:00
Cargo.toml Implement response size limit, improve terminal size checks, and enhance ToC navigation 2026-09-05 20:22:38 +03:00
CHANGELOG.md Implement response size limit, improve terminal size checks, and enhance ToC navigation 2026-09-05 20:22:38 +03:00
dist-workspace.toml fix: update x86_64-apple-darwin runner configuration to macos-15-intel in dist-workspace.toml 2025-12-13 14:58:24 +03:00
LICENSE add license 2025-05-14 18:07:48 +03:00
README.md docs: fix typo 2026-04-08 14:53:40 +03:00
rust-toolchain.toml Use stable toolchain for building, nightly rustfmt for formatting 2025-08-30 19:07:06 +03:00
rustfmt.toml chore: update deps and replace deprecated constant 2026-06-17 20:12:52 +03:00

RFC Reader

License: MIT Rust Stars Last Commit Code Size dependency status Built With Ratatui

A terminal-based interface for reading IETF RFCs (Request for Comments), enabling you to fetch, cache, and browse them with ease.

Features

  • View documents directly in the terminal
  • Automatic caching of the documents for offline reading
  • Text search functionality within document
  • Table of contents navigation

Note

Table of contents section might not always be accurate, as there's no standard way to extract it from RFCs. It works best with RFCs that have a well-defined TOC.

  • Keyboard controls

Screenshots

rfc-reader-normal.png

rfc-reader-toc.png

rfc-reader-search.png

Usage

rfc_reader [OPTIONS] [RFC_NUMBER]

Examples

# Read a specific RFC
rfc_reader 2616

# Read a specific RFC in offline mode (only works if previously cached)
rfc_reader --offline 2616

# Clear the RFC cache
rfc_reader --clear-cache

Options

  • --offline, -o: Run in offline mode (only load cached RFCs)
  • --clear-cache: Clear the RFC cache

Refer to rfc_reader --help for more options.

Controls

Refer to the wiki for keybindings.

Cache Location

RFCs are cached locally to improve performance and enable offline reading.

Linux:

/home/{YOUR_USERNAME}/.config/rfc_reader

MacOS:

/Users/{YOUR_USERNAME}/Library/Application Support/rfc_reader

Windows:

C:\Users\{YOUR_USERNAME}\AppData\Roaming\rfc_reader\config

Contributing

I don't know very well about contribution/PR stuff. Contact me or create an issue if for any issues or suggestions.

License

This project is licensed under the MIT License. See the LICENSE file for details.