Skip to content

🦜 Toutui is a TUI Audiobookshelf client for Linux and macOS. Listen to your audiobooks and podcasts from your terminal.

License

Notifications You must be signed in to change notification settings

AlbanDAVID/Toutui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3a1c39a · Apr 25, 2025
Apr 22, 2025
Mar 24, 2025
Apr 23, 2025
Feb 28, 2025
Mar 24, 2025
Mar 4, 2025
Apr 21, 2025
Apr 23, 2025
Apr 23, 2025
Feb 22, 2025
Apr 22, 2025
Mar 11, 2025
Apr 21, 2025
Apr 12, 2025
Apr 25, 2025

GitHub release

🦜 Toutui: A TUI Audiobookshelf client for Linux and macOS

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

🚀 Be toutui and enjoy audiobookshelf from your terminal!

🎬 Demo

✨ Features

Cross-platformTux (Linux) Linux and Apple (macOS) macOS
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. Explore themes here.

📰 Media

Korben Featured on Korben, a well-known French tech blog covering open source and technology.

🛠️ Roadmap

Short-term Goals

  • Since this is a beta version, the main focus is on tracking and fixing bugs.
  • Currently working on the next release: [v0.3.4-beta]

Mid-term Goals

  • Put the app on yay
  • CI/CD Implementation
  • Add future features described bellow.

🔮 Future features

Here are some features that could be added in future releases:

  • Ability to add new podcasts from the app
  • Add stats
  • Offline mode

⚠️ Caution: Beta Version

This beta app is still in heavy development and contains bugs.
❗Please check here for known bugs especially 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

🤝 Contributing

Do not hesitate to contribute to this project by submitting your code, ideas, or feedback. Please make sure to read the contributing guidelines first.

🎨 UI

Explore and share themes here.
The font and emojis may vary depending on the terminal you are using.
To ensure the best experience, it's recommended to use Kitty or Alacritty terminal.

🚨 Installation Instructions

Easy installation

Warning

  • This is a beta app, please read this.
  • If you follow all the instructions but installation fails:
    • Check first the wiki.
    • Otherwise, open an issue.
    • You can also install the app manually from source.

Important

Apple (macOS) macOS users: before install, make sure to have Homebrew and openssl installed.
Install Homebrew:
bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)
Install openssl:
brew install openssl

Proceed with the installation by simply copying and pasting the following code block into your terminal:

GitHub release

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

Tip

  • Once the installation is complete, type toutui in your terminal to launch the app.
  • Explore themes here.
  • Best experience with Kitty or Alacritty terminal.

Important

If you encounter issues, check the wiki.

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 for Linux, or /usr/local/bin for macOS:

  • toutui — The binary file (you can execute it from anywhere).

Tip

You can choose a custom location: ./hello_toutui.sh install /example/custom/location

In ~/.config/toutui for Linux or ~/Library/Preferences for macOS:
Note: This is the default path if XDG_CONFIG_HOME is empty.

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

Git

Warning

This is a beta app, please read this.

Requirements

  • Rust
  • Netcat
  • VLC
  • SQLite3
  • openssl
  • Optional:
  • Kitty terminal emulator (for a better experience or if you want to use cvlc in the terminal).

⚠️ If you had to install a package that is not listed above, please open an installation issue.

Install

GitHub release

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

Tip

  • Best experience with Kitty or Alacritty terminal.

Important

If you encounter issues, check the wiki.

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.