Skip to content

AlbanDAVID/Toutui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฆœ Toutui: A TUI Audiobookshelf Client for Linux

In French, being "tout ouรฏe" (toutui) means being all ears.

๐Ÿš€ Be toutui and enjoy audiobookshelf from your terminal!

๐ŸŽฌ Demo

โœจ Features

โœ… Lightweight & Fast โ€“ A minimalist, terminal-based UI (TUI) written in Rust ๐Ÿฆ€
โœ… Supports Books & Podcasts โ€“ Enjoy both audiobooks and podcasts
โœ… Sync Progress & Stats โ€“ Keep your listening progress in sync
โœ… Streaming Support โ€“ Play directly without downloading
โœ… Customizable Color Theme โ€“ A config file will allow you to customize the color theme
โœ… VLC Command Line Option โ€“ By default, the VLC GUI will be launched, but you can choose, into the config file, to use VLC in the command line (cvlc)

๐Ÿ”ฎ Future Features

๐Ÿšง Soon: Check the TODO list for upcoming improvements.

โš ๏ธ Caution: Beta Version

This beta app is still in development and may contain bugs.
โ—Please check here for any MAJOR BUGS before using the app, so you can use it with full awareness of any known issues.โ—
If you encounter any issues that are not yet listed in the Issues section or into known bugs, please open a new issue to report them.

๐Ÿ” Although it's a beta version, you can use this app with minimal risk to your Audiobookshelf library.
At worst, you may experience sync issues, but there is no risk of data loss, deletion, or irreversible changes (API is just used to retrieve books and sync them).

๐Ÿ“ Notes

๐Ÿ’ฌ Discussion

For general feedback/questions than can't be in issues, use discussions.

๐ŸŽจ UI

The font and emojis may vary depending on the terminal you are using. To ensure the best experience, it's recommended to use terminals that support emoji rendering properly (e.g., Kitty, Alacritty).

๐ŸŽง Using cvlc

When using cvlc (command-line VLC), make sure to use the shutdown command when you want to quit the listening session. This helps ensure that your books are successfully synced and prevents any potential issues.

๐Ÿšจ Installation Instructions

โš ๏ธ If you follow all the instructions but installation fails, please open an installation issue.

Automatic install

โ—It's quite challenging to create a script that is exhaustive for all distributions and OS. If you encounter difficulties, leave an installation issue.

Install

git clone https://github.com/AlbanDAVID/Toutui
cd Toutui/
chmod +x hello_toutui.sh
./hello_toutui.sh install

Once the installation is complete, type toutui in your terminal to launch the app.

Update

The script will detect if a new release is available and install it if any.

./hello_toutui.sh update

Notes

Files installed:

in /usr/bin

  • toutui โ€” The binary file (you can execute it from anywhere).

in ~/.config/toutui

  • .env โ€” Contains the secret key.
  • config.toml โ€” Configuration file.
  • toutui.log โ€” Log file.
  • db.sqlite3 โ€” SQLite database file.

For Arch Users

๐Ÿšง Soon

Git

Requirements

  • Rust
  • VLC
  • SQLite3
  • libsqlite3-dev (for some OS, Debian for example)
  • libssl-dev
  • Your terminal must support emojis
  • Optional, only if you use cvlc:
  • Netcat
  • Kitty terminal emulator

โš ๏ธ If you had to install a package that is not listed above, please open an installation issue.

Install

git clone https://github.com/AlbanDAVID/Toutui
cd Toutui/
mkdir -p ~/.config/toutui
cp config.example.toml ~/.config/toutui/config.toml

Token encryption in the database (NOTE: replace secret)

echo TOUTUI_SECRET_KEY=secret >> ~/.config/toutui/.env
cargo run --release

Update

When a new release is available, follow these steps:

The script will detect if a new release is available and install it if any.

chmod +x hello_toutui.sh
./hello_toutui.sh update

OR

git pull https://github.com/AlbanDAVID/Toutui
cargo run --release

Notes

Exec the binary:
cd target/release
./Toutui
Files installed:

After installation, you will have the following files in ~/.config/toutui

  • .env โ€” Contains the secret key.
  • config.toml โ€” Configuration file.
  • toutui.log โ€” Log file.
  • db.sqlite3 โ€” SQLite database file.