A desktop application designed for downloading, installing, and updating indie games from the itch.io marketplace.

itch is an open-source desktop app designed specifically for games hosted on itch.io. It provides a dedicated desktop environment for managing a game library, allowing users to download and run titles without relying solely on a web browser. This application serves as a bridge between the itch.io web platform and the local file system, simplifying the process of organizing indie titles.
The application is available for multiple desktop platforms, including Windows, macOS, and Linux. It functions as a management layer that handles the installation and updating of games, providing notifications when developers release new versions of their software. By centralizing these tasks, it removes the need for users to manually track version numbers or download zip files through a browser for every update.
The software uses a multi-process architecture built with Electron, TypeScript, and React. It relies on a Go-based daemon called butler to handle the heavy lifting of game downloads and installations, while a separate Go executable called itch-setup manages the initial app installation and self-update checks. Communication between the user interface and the backend daemon occurs via a JSON-RPC 2.0 protocol called butlerd. The app also utilizes a system called broth to manage the versioning and distribution of these binary components, ensuring that the correct versions of butler and itch-setup are deployed based on the operating system and architecture.
This tool is positioned as a companion to the itch.io website, focusing on the local management and execution of indie games.
Build 2D, 3D, and multiplayer games for mobile, desktop, and web using a no-code event system.
Convert real world geographic data into detailed Minecraft Java and Bedrock Edition worlds using OpenStreetMap.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.