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

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

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-platform โ€“ Tux (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.

About

๐Ÿฆœ Toutui is a TUI Audiobookshelf client for Linux and macOS. Listen to your audiobooks and podcasts from your terminal.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Contributors 4

  •  
  •  
  •  
  •  

Languages