English | Portugues
A modern, cross-platform media companion for Windows, macOS, and Linux.
Built with Go + Wails v3. Designed for speed.
DownKingo is a full-featured media companion built for performance, design, and user experience. It combines the robustness of Go on the backend with the flexibility of React 19 on the frontend, powered by Wails v3 for native desktop integration.
- Zero Config — FFmpeg and yt-dlp are downloaded automatically on first launch.
- CDN-First — Roadmap and metadata loaded via CDN for instant performance.
- SQLite — Robust persistence for download history and queue.
- 5 Languages — Full i18n support: English, Portuguese, Spanish, French, and German.
- Ecosystem — Native GitHub integration for authentication, updates, and community feedback.
- Universal Download — YouTube, Instagram, TikTok, Twitter, and 1000+ sites via yt-dlp.
- Smart Conversion — Convert video, audio, and images between formats using FFmpeg.
- Clipboard Monitor — Automatically detects copied links with adaptive backoff.
- Concurrent Queue — Multiple simultaneous downloads with worker pool (configurable concurrency).
- Transcriber — Audio/video transcription powered by Whisper (local, offline).
- Dark/Light Theme — Modern fluid interface with accent color customization.
- Internationalization — Native support for 5 languages (en-US, pt-BR, es-ES, fr-FR, de-DE).
- Interactive Roadmap — Vote on features and track development within the app via GitHub integration.
- Auto-Update — Silent and secure background updates via GitHub Releases.
- Deep Links — Open the app via
kingo://protocol from browsers and other apps.
| Platform | Download |
|---|---|
| Windows | |
| Linux | |
| macOS | Coming Soon |
- Go 1.25+
- Bun (fast JS runtime)
- Task (task runner) —
go install github.com/go-task/task/v3/cmd/task@latest - Wails v3 CLI —
go install github.com/wailsapp/wails/v3/cmd/wails3@latest
# Clone the repository
git clone https://github.com/down-kingo/downkingo.git
cd downkingo
# Install frontend dependencies
cd frontend && bun install && cd ..
# Run in development mode
task dev
# Or build for production
task build:production| Command | Description |
|---|---|
task dev |
Run in development mode (hot reload) |
task build |
Build the Go application |
task build:production |
Full production build (frontend + Go) |
task generate |
Generate frontend bindings |
task frontend:test |
Run frontend tests (Vitest) |
task frontend:build |
Build frontend for production |
downkingo/
├── main.go # Wails v3 application bootstrap
├── app.go # App facade — all methods exposed to frontend
├── Taskfile.yml # Task runner (replaces wails CLI)
├── VERSION # Semantic version (3.0.0)
├── internal/ # Backend logic (Go)
│ ├── app/ # Application paths and lifecycle
│ ├── auth/ # GitHub OAuth2 Device Flow
│ ├── clipboard/ # Clipboard monitor with adaptive backoff
│ ├── config/ # JSON config with migration and env overrides
│ ├── constants/ # Shared constants
│ ├── downloader/ # Worker pool queue manager
│ ├── errors/ # Typed AppError with sentinels
│ ├── events/ # Centralized event name constants
│ ├── handlers/ # Business logic layer (Video, Media, Settings, System, Converter, Transcriber)
│ ├── images/ # Image download client
│ ├── launcher/ # Dependency auto-installer (yt-dlp, FFmpeg)
│ ├── logger/ # Zerolog with file rotation
│ ├── ratelimit/ # Token bucket rate limiter
│ ├── roadmap/ # GitHub Projects API + CDN cache
│ ├── storage/ # SQLite via modernc (pure Go, no CGO)
│ ├── telemetry/ # Anonymous usage analytics
│ ├── updater/ # Auto-update via GitHub Releases
│ ├── validate/ # Input sanitization
│ ├── whisper/ # Whisper integration for transcription
│ └── youtube/ # yt-dlp wrapper with progress parsing
├── frontend/ # UI (React 19 + TypeScript + Tailwind)
│ ├── bindings/ # Auto-generated Wails v3 type-safe bindings
│ ├── src/
│ │ ├── pages/ # Home, Dashboard, Setup, Roadmap, Transcriber
│ │ ├── components/ # Reusable UI components
│ │ ├── stores/ # Zustand state management
│ │ ├── i18n/ # Internationalization (5 locales)
│ │ └── lib/ # Wails runtime wrapper
│ └── package.json
├── build/ # Build resources, icons, NSIS config
├── docs/ # Architecture docs and ADRs
└── .github/ # CI/CD workflows, issue templates
| Layer | Technology |
|---|---|
| Runtime | Wails v3 |
| Backend | Go 1.25, zerolog, modernc/sqlite |
| Frontend | React 19, TypeScript, Vite |
| Styling | Tailwind CSS |
| State | Zustand |
| i18n | react-i18next (pt-BR, en-US, es-ES, fr-FR, de-DE) |
| Testing | Go stdlib + Vitest + React Testing Library |
| Media | yt-dlp, FFmpeg, aria2c, Whisper |
| Distribution | NSIS (Windows), AppImage (Linux) |
- v2 Architecture (Wails v2 + React)
- SQLite Persistence
- Smart Clipboard Monitor
- Internationalization (5 languages)
- Auto-Update System
- Media Converters (Video, Audio, Image)
- Interactive Roadmap with GitHub voting
- GitHub Authentication (Device Flow)
- Deep Link Support (
kingo://) - v3 Architecture (Wails v3 migration)
- Transcriber (Whisper integration)
- Playlist Downloads
- Browser Extension
- Plugin Support
- Architecture — System design and component overview
- Events Contract — Go <-> React event bus specification
- FAQ — Frequently asked questions
- Troubleshooting — Common issues and solutions
- Release Process — How releases are created
- Third-Party Licenses — Open source dependencies
- Architecture Decisions — ADRs for key technical choices
Contributions are welcome! Please read our Contributing Guide before submitting a Pull Request.
Distributed under the MIT License. See LICENSE for more information.