In French, being "tout ouïe" (toutui) means being all ears.
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.
Featured on Korben, a well-known French tech blog covering open source and technology.
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.
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).
For any issues, check first the wiki and issues. Otherwise, open a new one.
Do not hesitate to contribute to this project by submitting your code, ideas, or feedback. Please make sure to read the contributing guidelines first.
This project follow this branching workflow.
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.
Warning
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
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"'
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"'
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"'
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.
Warning
This is a beta app, please read this.
Rust
Netcat
VLC
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
When a new release is available, follow these steps:
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.