{"id":25940507,"url":"https://github.com/albandavid/toutui","last_synced_at":"2025-03-04T05:16:57.827Z","repository":{"id":278966726,"uuid":"918706386","full_name":"AlbanDAVID/Toutui","owner":"AlbanDAVID","description":"🦜 Toutui is a TUI Audiobookshelf Client for Linux.","archived":false,"fork":false,"pushed_at":"2025-02-28T11:49:04.000Z","size":3612,"stargazers_count":32,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T03:55:52.279Z","etag":null,"topics":["audiobooks","audiobookshelf","linux-app","podcast","ratatui","rust","tui"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlbanDAVID.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-18T16:40:49.000Z","updated_at":"2025-03-02T01:33:09.000Z","dependencies_parsed_at":"2025-02-22T21:36:31.429Z","dependency_job_id":null,"html_url":"https://github.com/AlbanDAVID/Toutui","commit_stats":null,"previous_names":["albandavid/toutui"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanDAVID%2FToutui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanDAVID%2FToutui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanDAVID%2FToutui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbanDAVID%2FToutui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlbanDAVID","download_url":"https://codeload.github.com/AlbanDAVID/Toutui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241787484,"owners_count":20020101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audiobooks","audiobookshelf","linux-app","podcast","ratatui","rust","tui"],"created_at":"2025-03-04T05:16:57.277Z","updated_at":"2025-03-04T05:16:57.821Z","avatar_url":"https://github.com/AlbanDAVID.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🦜 Toutui: A TUI Audiobookshelf Client for Linux  \n\u003cem\u003eIn French, being \"tout ouïe\" (toutui) means being all ears.\u003c/em\u003e\n\n🚀 **Be toutui and enjoy audiobookshelf from your terminal!**  \n\n![🎬 Demo](assets/demo_1.gif)  \n\n## ✨ Features  \n✅ **Lightweight \u0026 Fast** – A minimalist, terminal-based UI (TUI) written in Rust 🦀  \n✅ **Supports Books \u0026 Podcasts** – Enjoy both audiobooks and podcasts  \n✅ **Sync Progress \u0026 Stats** – Keep your listening progress in sync  \n✅ **Streaming Support** – Play directly without downloading  \n✅ **Customizable Color Theme** – A config file will allow you to customize the color theme  \n✅ **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`)\n\n\n## 🔮 Future Features  \n🚧 **Soon: Check the TODO list for upcoming improvements.**  \n\n## ⚠️ Caution: Beta Version  \nThis beta app is still **hardly in development and contain bugs**.  \n❗Please check [here](https://github.com/AlbanDAVID/Toutui/blob/main/known_bugs.md) for known bugs especially **MAJOR BUGS** before using the app, so you can use it with full awareness of any known issues.  \nIf you encounter any issues that are **not yet listed** in the Issues section or into [known bugs](https://github.com/AlbanDAVID/Toutui/blob/main/known_bugs.md), please **open a new issue** to report them.  \n\n🔐 Although it's a beta version, you can use this app with **minimal risk** to your Audiobookshelf library.  \nAt 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).\n\n## 📝 Notes\n### 💬 **Discussion**\nFor general feedback/questions than can't be in issues, use [discussions](https://github.com/AlbanDAVID/Toutui/discussions).\n\n### 🍏 **macOS**\nThe 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:  \n- `cvlc` option is not available.\n\n### 🎨 **UI**\nThe **font** and **emojis** may vary depending on the terminal you are using.\nTo ensure the best experience, it's recommended to use terminals that support **emoji rendering** properly (e.g., Kitty, Alacritty).\n\n### 🎧 **Using `cvlc`**\nWhen using **`cvlc`** (command-line VLC), make sure to use the `shutdown` command when you want to quit the listening session.\nThis helps ensure that your books are successfully synced and prevents any potential issues.\n\n## 🚨 Installation Instructions\n\n**⚠️ If you follow all the instructions but installation fails, please open an installation issue.**  \n\n### Automatic install\n❗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](https://github.com/AlbanDAVID/Toutui?tab=readme-ov-file#git).  \n❗This is a beta app, please read [this](https://github.com/AlbanDAVID/Toutui?tab=readme-ov-file#%EF%B8%8F-caution-beta-version).    \n❗macOS user: read [this](https://github.com/AlbanDAVID/Toutui/blob/main/README.md#-macos).  \n\n#### **Install**\n```bash\ngit clone https://github.com/AlbanDAVID/Toutui\ncd Toutui/\nchmod +x hello_toutui.sh\n./hello_toutui.sh install\n```\nOnce the installation is complete, type `toutui` in your terminal to launch the app.\n#### **Update**\nThe script will detect if a new release is available and install it if any.\n```bash\n./hello_toutui.sh update\n```\n\n#### **Notes**  \n\n##### Files installed:\nin `/usr/bin`\n- `toutui` — The binary file (you can execute it from anywhere).\n\nin `~/.config/toutui`\n- `.env` — Contains the secret key.\n- `config.toml` — Configuration file.\n- `toutui.log` — Log file.\n- `db.sqlite3` — SQLite database file.\n\n### For Arch Users\n🚧 Soon\n\n### Git\n\n❗This is a beta app, please read [this](https://github.com/AlbanDAVID/Toutui?tab=readme-ov-file#%EF%B8%8F-caution-beta-version).  \n❗macOS user: read [this](https://github.com/AlbanDAVID/Toutui/blob/main/README.md#-macos).  \n\n#### **Requirements**\n- `Rust`\n- `VLC`\n- `SQLite3`\n- `libsqlite3-dev` (for some OS, Debian for example)\n- `libssl-dev`\n- `Your terminal must support emojis`\n- Optional, only if you use cvlc:\n- `Netcat`\n- `Kitty terminal emulator`\n\n*⚠️ If you had to install a package that is not listed above, please open an installation issue.*\n\n#### **Install**\n```bash\ngit clone https://github.com/AlbanDAVID/Toutui\ncd Toutui/\nmkdir -p ~/.config/toutui\ncp config.example.toml ~/.config/toutui/config.toml\n```\n\nToken encryption in the database (\u003cu\u003e**NOTE**\u003c/u\u003e: replace `secret`)\n```bash\necho TOUTUI_SECRET_KEY=secret \u003e\u003e ~/.config/toutui/.env\n```\n\n```bash\ncargo run --release\n```\n\nTo install in a custom location, provide the path like this:\n```console\n./hello_toutui.sh install /usr/bin\n```\n\n#### **Update**\n\nWhen a new release is available, follow these steps:\n\nThe script will detect if a new release is available and install it if any.\n```bash\nchmod +x hello_toutui.sh\n./hello_toutui.sh update\n```\nOR \n```bash\ngit pull https://github.com/AlbanDAVID/Toutui\ncargo run --release\n```\n\n#### **Notes**  \n##### Exec the binary:\n```bash\ncd target/release\n./Toutui\n```\n\n##### Files installed:\nAfter installation, you will have the following files in `~/.config/toutui`\n- `.env` — Contains the secret key.\n- `config.toml` — Configuration file.\n- `toutui.log` — Log file.\n- `db.sqlite3` — SQLite database file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbandavid%2Ftoutui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbandavid%2Ftoutui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbandavid%2Ftoutui/lists"}