In French, being "tout ouรฏe" (toutui) means being all ears.
๐ Be toutui and enjoy audiobookshelf from your terminal!
โ
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
)
Short-term Goals
- Since this is a beta version, the main focus is on tracking and fixing bugs.
- Implementation of an integrated media player
- Currently working on the next release: v0.3.0-beta
Mid-term Goals
- CI/CD Implementation
- Add future features described bellow.
Here are some features that could be added in future releases:
- Ability to add new podcasts from the app
- Add stats
- Offline mode
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).
Do not hesitate to contribute to this project by submitting your code, ideas, or feedback. Please make sure to read the contributing guidelines first.
The app is developed and tested on Linux distributions, so it may be difficult to use on macOS. However, we are working to make it compatible with macOS. Known issues:
cvlc
option is not available.
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).
- Type
help
to see commands - When using
cvlc
(command-line VLC), make sure to use theshutdown
command when you want to quit the listening session. This helps ensure that your books are successfully synced and prevents any potential issues.
โIt's quite challenging to create a script that is exhaustive for all distributions and OS. If you encounter difficulties, leave an installation issue and install the app manually.
โThis is a beta app, please read this.
โmacOS user: read this.
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.
The script will detect if a new release is available and install it if any.
./hello_toutui.sh update
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.
๐ง Soon
โThis is a beta app, please read this.
โmacOS user: read this.
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
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
To install in a custom location, provide the path like this:
./hello_toutui.sh install /usr/bin
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
cd target/release
./Toutui
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.