A Twitch frontend written in Rust using SvelteKit and Tauri.
![]()
zfg1 playing OOT. Chat on Copium for Prime 4.
|
![]()
paganmars playing Monster Hunter Wilds. An excelent use of screen space with PiP.
|
This is not meant to be a replacement for the official Twitch app/site, some features (account login, send chat messages, etc) are not implemented and not in the scope of this project.
- Watch streams in any of the available resolutions.
- View chat with 7tv and BetterTTV emotes support.
- WIP ad blocking.
- Get basic information such as viewer count, stream title, current game, hours streaming.
- Replace
https
withrt
in a stream URL to open the app and save the user.
Only installers are available for now and all (
exe
,deb
,rpm
) are provided in the same zip file.
Github Actions builds are available here.
Tested on Windows, other desktops should work but haven't been tested.
- Frontend
src
: SvelteKit, tailwindcss. - Backend
src-tauri
: Tauri.
Data is stored in the following locations:
- Windows:
%AppData%/Roaming/com.rt.app
- Linux:
~/.config/com.rt.app
Logs are stored in the following locations:
- Linux:
$XDG_DATA_HOME/com.rt.app/logs
or$HOME/.local/share/com.rt.app/logs
- Windows:
%LocalAppData%/com.rt.app/logs
- Add global Twitch emotes.
- Add persistent settings (save stream resolution, volume, etc).
- Try rt on other desktops.
- Move to structs for gql query and responses.
- Somehow make proxy work with
invoke
/another method that doesn't require a local server, might require parsing the m3u8 in the frontend. - Use Tauri's channels to notify more events, like when the stream has been switched to a backup one and more.
- Try to reduce as much as possible the amount of requests made to Twitch.
- Fix
join_chat
errors when hard refreshing the page while in a chat.