1
0
Fork
You've already forked fbless3
0
fb2 reader - fbless clone, normal worked on python3
  • Python 100%
2025年11月30日 04:02:51 +03:00
fbless3 remove images spaces on top opened file 2025年11月30日 03:56:53 +03:00
LICENSE fbless3 2025年08月01日 12:39:54 +03:00
README.md change readme 2025年11月30日 04:02:51 +03:00

fbless3 - Modern Python 3 FB2 Console Reader

A modernized Python 3 rewrite of the original fbless FB2 console reader.

About

fbless3 is a terminal-based reader for FB2 (FictionBook2) e-book files. This is a complete rewrite of the original fbless in modern Python 3, featuring improved Unicode support, better terminal integration, and enhanced usability.

Features

  • 📖 Read FB2 files in your terminal
  • 🗜️ Support for compressed files (zip, gzip, bzip2)
  • 📏 Dynamic text wrapping (uses full terminal width)
  • 🔍 Search functionality with regex support
  • 📚 Automatic bookmarks (remembers reading position)
  • Auto-scroll mode
  • 🔧 Configurable via JSON config file
  • 🖥️ Responsive to terminal resize

Install/Uninstall and Requirements

Install:

# Just copy the file and make it executable
cp fbless3 ~/.local/bin/fbless3
chmod +x ~/.local/bin/fbless3
# Make sure ~/.local/bin is in your PATH
export PATH="$HOME/.local/bin:$PATH"

Uninstall:

rm ~/.local/bin/fbless3

Requirements:

  • Python 3.6 or newer
  • Python curses library (usually pre-installed on Linux/Mac)

Usage

Read a book: fbless3 book.fb2

Read compressed book: fbless3 book.fb2.zip

Start with autoscroll: fbless3 -a book.fb2

Go to 50% of book: fbless3 -g 50 book.fb2

View Bookmarks fbless3 -l

Show help: fbless3 -h

Controls

Key Action
/ k Scroll up one line
/ j Scroll down one line
PgUp Scroll up one page
Space / PgDn Scroll down one page
Home / g Go to beginning
End Go to end
5 / G Go to percentage
/ Search (regex supported)
n Next search result
a Toggle autoscroll
s Toggle status bar
+ / - Adjust scroll speed
e Open in editor
q Quit

Configuration

Configuration file: ~/.config/fbless3/config.json

Configuration Options

  • left_indent/right_indent: Text margins
  • bold: Use bold text
  • save_file: Bookmark file location
  • max_bookmarks: number of records

Example: (do not forget set ","! This is JSON)

{
 "left_indent": 2,
 "right_indent": 2,
 "bold": false,
 "max_bookmarks": 100
}

Differences from Original fbless

  • Modern Python 3 - Type hints, dataclasses, pathlib
  • Better Unicode support - Full UTF-8 throughout
  • Dynamic text wrapping - Uses full terminal width
  • Improved error handling - Better user feedback
  • Responsive design - Handles terminal resize
  • Enhanced bookmarks - JSON-based bookmark storage

Credits

This project is a modernized rewrite of the original fbless by Artem Shinkarov:

  • Original author: Con Radchenko
  • Original maintainer: Ivan Burbakov

fbless3 rewrite by Neuromagus - maintaining the spirit of the original while modernizing for Python 3.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

This is a derivative work of the original fbless, which is also GPL licensed.