๐ฆ Toutui: A TUI Audiobookshelf client for Linux and macOS
December 12, 2025 ยท View on GitHub
โ ๏ธ I'm not able to properly maintain this project anymore. That's why I archived this repo. Thus, please don't wait for any new releases and issue fixing. Of course, you can still install the app and use it. Although it's a beta version, it might still work well for you. Thanks!
๐ฆ Toutui: A TUI Audiobookshelf client for Linux and macOS
In French, being "tout ouรฏe" (toutui) means being all ears.
โจ Features
Cross-platform:
Linux and
macOS
Lightweight & Fast: A minimalist terminal user interface (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 and try various themes here.
๐ฐ Media
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.
- Improve the design of the integrated player.
- Currently working on the next release: [v1.0.0-stable].
Mid-term Goals
- CI/CD Implementation
- Add future features described bellow.
๐ฎ Future features
Here are some features that could be added in future releases:
- Playlist/Collections view
- 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
๐ Issues
For any issues, check first the wiki and issues. Otherwise, open a new one.
๐ค 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.
๐ Branching workflow
This project follow this branching workflow.
๐จ 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
Warning
Arch Linux
Installation and initial configuration
yay -S toutui
mkdir -p ~/.config/toutui
cp /usr/share/toutui/config.example.toml ~/.config/toutui/config.toml
# Token encryption in the database (NOTE: replace 'secret'):
echo 'TOUTUI_SECRET_KEY=secret' >> ~/.config/toutui/.env
Update
yay -S toutui
Uninstall
yay -R toutui-bin
โก Easy installation
Run the following in your terminal, then follow the on-screen instructions:
bash -c 'expected_sha256="b5c41bcd3c480fd2ca6ec0031ccecf2cf7cf4ae01f591cad64a320fa7d72331d" export expected_sha256 tmpfile=$(mktemp) && curl -LsSf https://github.com/AlbanDAVID/Toutui/raw/stable/hello_toutui.sh -o "$tmpfile" && bash "$tmpfile" install && rm -f "$tmpfile"'
Update
Important
toutui --update is not working. You can do this instead:
bash -c 'expected_sha256="b5c41bcd3c480fd2ca6ec0031ccecf2cf7cf4ae01f591cad64a320fa7d72331d" export expected_sha256 tmpfile=$(mktemp) && curl -LsSf https://github.com/AlbanDAVID/Toutui/raw/stable/hello_toutui.sh -o "$tmpfile" && bash "$tmpfile" update && rm -f "$tmpfile"'
Quit the app and run the following in your terminal
bash -c 'expected_sha256="b5c41bcd3c480fd2ca6ec0031ccecf2cf7cf4ae01f591cad64a320fa7d72331d" export expected_sha256 tmpfile=$(mktemp) && curl -LsSf https://github.com/AlbanDAVID/Toutui/raw/stable/hello_toutui.sh -o "$tmpfile" && bash "$tmpfile" update && rm -f "$tmpfile"'
Uninstall
Important
toutui --uninstall is not working. You can do this instead:
bash -c 'expected_sha256="b5c41bcd3c480fd2ca6ec0031ccecf2cf7cf4ae01f591cad64a320fa7d72331d" export expected_sha256 tmpfile=$(mktemp) && curl -LsSf https://github.com/AlbanDAVID/Toutui/raw/stable/hello_toutui.sh -o "$tmpfile" && bash "$tmpfile" uninstall && rm -f "$tmpfile"'
Quit the app and run the following in your terminal
bash -c 'expected_sha256="b5c41bcd3c480fd2ca6ec0031ccecf2cf7cf4ae01f591cad64a320fa7d72331d" export expected_sha256 tmpfile=$(mktemp) && curl -LsSf https://github.com/AlbanDAVID/Toutui/raw/stable/hello_toutui.sh -o "$tmpfile" && bash "$tmpfile" uninstall && rm -f "$tmpfile"'
Notes
Files installed:
In /usr/local/bin (option 1, from install script) or ~/.cargo/bin (option 2, from install script) or /usr/bin (yay) :
toutui- The binary file.
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.
In ~/.local/share/applications (option 1, from install script) or /usr/share/applications (yay) for Linux:
toutui.desktop- Config file to launch Toutui from a launcher app.
In /usr/share/toutui (yay):
config.example.toml- Configuration file.
Install from source
Warning
This is a beta app, please read this.
Requirements
RustNetcatVLC
Note: main might be unstable. Prefer git clone --branch stable --single-branch https://github.com/AlbanDAVID/Toutui if you want to have the last stable 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
Update
When a new release is available, follow these steps:
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.