SlopTube documentation#
SlopTube is a lightweight YouTube client for Android written entirely in C++ (no Java or Kotlin). It talks to YouTube through InnerTube, the private API the official apps use, signs in with a real Google account, and draws a YouTube-like interface with Dear ImGui on OpenGL ES.
| Document | Contents |
|---|---|
| Building | Toolchain, presets, packaging the APK and its icon, installing on a device, CI |
| Releasing | Cutting a release, the release signing key, signing locally |
| Website | The GitHub Pages site: what it is built from, building it locally |
| Architecture | Source layout, threading model, frame loop, ownership rules |
| InnerTube API | Endpoints, client profiles, parsed renderers, account actions |
| Authentication | Google device sign-in, token refresh, multiple accounts |
| Media pipeline | Stream selection, hardware decoding, audio clock, quality, fullscreen |
| User interface | Canvas, views, screens, sheets, touch handling |
| Animations | Motion primitives and where each animation lives |
| Text rendering | Fonts, Arabic shaping, bidirectional text |
| Localisation | Adding and translating user-facing strings |
| Command-line tool | sloptube-cli, the host-side driver for the core library |
| Contributing | Code style, formatting, conventions |