CrabVoice — a cross-platform desktop and mobile app for real-time voice-over translation of online videos. Watch YouTube, VK and Vimeo in your native language with synchronized audio dubbing; many more sites are detected and still need testing.
Built with Tauri v2 (Rust + TypeScript), CrabVoice bypasses CORS and CSP restrictions to deliver native-quality audio translation directly inside video pages — no browser extension needed.
- Cross-Platform — Windows, Linux (deb, rpm, AppImage, portable), Android (APK)
- Real-time Voice Translation — automatic audio dubbing via Yandex Translation API
- Video Platforms — verified on YouTube, VK and Vimeo; TikTok, Twitch and many more are detected but need testing (see Supported Platforms)
- Audio Sync — playback, pause, seek, and speed sync between original and translated audio
- SponsorBlock — auto-skip ads and sponsor segments (subscribers tier)
- Proxy Support — HTTP/SOCKS5 proxy with built-in ping checker
- Yandex OAuth — optional authorization for better translation quality
- Floating Control Panel — draggable Shadow DOM panel with volume controls, status indicators
- CSP & SPA Resistant — works on sites with strict Content Security Policies
Download the latest release for your platform:
| Platform | File |
|---|---|
| Windows | CrabVoice_x.x.x_x64-setup.exe / .msi |
| Linux (Debian/Ubuntu) | CrabVoice_x.x.x_amd64.deb |
| Linux (Fedora/RHEL) | CrabVoice-x.x.x-1.x86_64.rpm |
| Linux (portable) | CrabVoice-linux-portable |
| Linux (AppImage) | CrabVoice_x.x.x_amd64.AppImage |
| Android | CrabVoice-universal-release.apk |
- Install and launch CrabVoice
- Paste a video URL (YouTube, VK, Vimeo, etc.)
- The app navigates to the video and automatically starts translation
- Use the floating panel to control volume, pause translation, or refresh
CrabVoice uses vot.js for video detection. Full list of potentially supported sites: voice-over-translation wiki.
Verified: YouTube, VK, Vimeo Detected (requires testing): TikTok, Twitch, Twitter/X, Reddit, Rutube, Dailymotion, Bilibili, Kick, and 40+ more
- TikTok — under investigation, Yandex API may require direct video URLs (#11)
- Videos over 4 hours — not supported by the translation API
- Some regions may require proxy for API access
pnpm install
pnpm tauri dev # Dev mode
pnpm tauri build # Production build
pnpm tauri build -- --features subscribers # With SponsorBlockRequirements: Node.js 20+, Rust stable, pnpm, protobuf-compiler
CrabVoice runs video pages inside the Tauri WebView and injects a local control script so it can detect videos, request voice-over translation, and keep translated audio synchronized with the original player. This is why the Tauri CSP is intentionally disabled for the app WebView: the feature depends on script injection into third-party video pages instead of a normal static app shell.
The Yandex video translation integration uses a reverse-engineered request-signing flow compatible with the public vot.js / voice-over-translation ecosystem. The HMAC key used for request signatures is public compatibility data, not a repository secret. OAuth client credentials are supplied through GitHub Actions secrets during release builds and are not tracked in git.
- vot.js — video data extraction and platform detection
- voice-over-translation — the browser extension that inspired this project
- SponsorBlock — ad segment data (CC BY-NC-SA 4.0)
The video translation feature uses a reverse-engineered third-party API for research purposes. This functionality is provided as-is, without any guarantees, and is not affiliated with or endorsed by the API provider.