In French, being "tout ouรฏe" (toutui) means being all ears.
๐ Be toutui and enjoy audiobookshelf from your terminal!
โ
Cross-platform โ Linux and
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.
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.
- 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.
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.
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
Important
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:
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.
The script will detect if a new release is available and install it if any.
./hello_toutui.sh update
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.
Warning
This is a beta app, please read this.
Rust
Netcat
VLC
SQLite3
openssl
- Optional:
Kitty terminal emulator
(for a better experience or if you want to use cvlc in the terminal).
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.
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.