Skip to content

down-kingo/downkingo

Repository files navigation

English | Portugues

DownKingo Logo

DownKingo

A modern, cross-platform media companion for Windows, macOS, and Linux.

Built with Go + Wails v3. Designed for speed.

Latest Release Build Status License

Go Wails React Tailwind

Website


About

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.

Why DownKingo?

  • 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.

Features

Core

  • 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).

Experience

  • 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.

Installation

Platform Download
Windows Windows
Linux Linux
macOS Coming Soon

Development

Prerequisites

  • Go 1.25+
  • Bun (fast JS runtime)
  • Task (task runner) — go install github.com/go-task/task/v3/cmd/task@latest
  • Wails v3 CLIgo install github.com/wailsapp/wails/v3/cmd/wails3@latest

Quick Start

# 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

Available Tasks

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

Project Structure

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

Tech Stack

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)

Roadmap

  • 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

Documentation


Contributing

Contributions are welcome! Please read our Contributing Guide before submitting a Pull Request.


License

Distributed under the MIT License. See LICENSE for more information.

About

Universal media downloader and toolbox. fast, private, and open-source.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors