Skip to content

hacan359/tonkatsu_box

Repository files navigation

Tonkatsu Box

Tonkatsu Box

Your personal collection manager for games, movies, TV shows, anime, visual novels, and manga

Windows Linux Android RuStore

Tests Coverage License: MIT Flutter 3.44+ Discord


Warning

This app is in active development. Updates may include database migrations that change data format. Please create a backup before updating (Settings → Backup → Create Backup). Alternatively, you can manually copy the app data folder:

  • Windows: %APPDATA%\Roaming\Tonkatsu Box\Tonkatsu Box
  • Linux: ~/.local/share/tonkatsu_box (or $XDG_DATA_HOME/tonkatsu_box)
  • Android: use the built-in backup feature (Settings → Backup)

Tonkatsu Box is a free, open-source app to organize your media collections. Search millions of titles from IGDB, TMDB, VNDB, AniList, MangaBaka, OpenLibrary, and Fantlab. Track your progress, rate everything, create visual boards and mood grids, and import your library from Steam, Trakt.tv, RetroAchievements, MyAnimeList, or AniList.

Main screen

Screenshots

Collections Collection Grid
Collections Collection Grid
Bulk Selection Item Details
Bulk selection Item Details
Game Search Add to Collection
Game Search Add to collection
Settings Search Sources
Settings Search Sources
Tier List Mood Grid
Tier List Mood grid

Features

Collections Organize by platform, genre, or any way you like. Grid, list, and table views
Wishlist Dedicated top-level list for what you want to play, watch, or read next
Search IGDB (games), TMDB (movies/TV), AniList (anime & manga), MangaBaka (manga), VNDB (visual novels), OpenLibrary & Fantlab (books)
Progress Tracking Status, ratings 1-10, episode tracking for TV shows and anime
Discord Rich Presence Show what you're playing/watching/reading in Discord (desktop)
Visual Boards Drag-and-drop canvas with posters, notes, and connections
Tier Lists & Mood Grids Rank items into S/A/B/C tiers, or arrange them on a visual N×M board with labels — export either as PNG
Import Steam library, Trakt.tv history, RetroAchievements progress, MyAnimeList XML, AniList by username
Kodi Sync Pull watched status and ratings for your movies from a Kodi media server over JSON-RPC
Export & Share .xcoll / .xcollx files with full offline support
Gamepad Navigate with Xbox controller (desktop and Android handhelds)
Languages English & Russian

Download

Platform Link
Windows Download .zip
Linux Download .tar.gz
Android Download .apk or RuStore

Linux support is experimental.

On Android you have three options: grab the APK from Releases, install from RuStore, or set up Obtainium for auto-updates (below). RuStore handles updates for you through its own store.

Auto-updates on Android (Obtainium)

Obtainium checks GitHub Releases and installs new APKs for you, so you don't have to download updates by hand.

  1. Install Obtainium.
  2. Tap Add App and paste this into App source URL:
    https://github.com/hacan359/tonkatsu_box
    
  3. Tap Add.
  4. The first time it updates, Android asks you to allow installs from Obtainium. Allow it once.
  5. In the app settings, pick how often Obtainium checks for releases and turn on auto-update, or just refresh manually whenever you want.

When a new release ships, Obtainium downloads the APK and shows the system install dialog to confirm. Silent background installs are not possible on Android without root.

Quick Start

  1. Download and install from the links above
  2. Launch the app — Welcome Wizard guides you through setup
  3. Start adding items from Search, or import ready-made collections

The app works offline after setup. API keys are built-in.

Full guide on Wiki

Ready-made Collections

Tonkatsu Collections — 25,000+ games across 23 platforms, top movies, TV shows & anime. Download .xcollx → Import → Done.

Import Your Data

Already tracking elsewhere? Bring your data:

Source What's imported
Steam Steam Owned games, playtime, last played date
Trakt.tv Trakt.tv Watch history, ratings, watchlist, episode progress
RetroAchievements RetroAchievements Retro game library, achievement progress, awards
MyAnimeList MyAnimeList Anime and manga lists with scores, status and progress from an XML export
AniList AniList Anime and manga directly by a public username — no API key required
📦 .xcollx files Collections shared by others

Import guides on Wiki

Device-to-Device Sync

Move your whole collection from one device to another over your home network. No cloud, no account: the two devices talk to each other directly.

How it works:

  1. Open Settings → Database → Device-to-device sync on both devices. While the screen is open, each device announces itself on the local network and finds the other one.
  2. On the device that should receive the data, tap the other device in the list.
  3. Confirm on both sides: the receiving device shows what it is about to download (device name, date, collection and item counts), and the sending device asks you to allow the transfer.
  4. The full database is copied over and replaces everything on the receiving device. Restart the app when asked.

This is a full replace, not a merge. Changes made on the receiving device that the sender doesn't have are gone after the transfer.

Before replacing anything, the app keeps the previous database as a backup. Settings → Database → Backup → Restore swaps the current database with that backup, and restoring again swaps them back.

Caution

This feature can destroy data. Read this before using it.

  • Receiving a snapshot overwrites your entire local database. Anything you added on this device and nowhere else is lost.
  • There is only one backup slot. Receiving a second snapshot overwrites the backup made before the first one — after that, the original data is gone for good.
  • The transfer is not encrypted and there is no pairing between devices. Use it only on a network you trust (your home Wi-Fi), never on public or shared networks.
  • If the app is killed or the device loses power in the middle of a transfer or restore, the database can end up corrupted. Keep a regular backup (Settings → Backup) before syncing.

Custom Data Folder

By default the database lives in the app's private folder. Settings → Database → Storage location lets you move it to any folder you pick — for example an SD card or a folder synced by a cloud client.

When you pick an empty folder, the app copies your current data there. When you pick a folder that already holds Tonkatsu Box data, the app switches to that data instead. Either way a restart is required. If the custom folder is missing on startup (unplugged drive, dead network share), the app falls back to the default location instead of failing — Settings shows a warning when that happens.

Caution

  • Pointing two devices or a cloud client at the same live folder is not supported and can corrupt the database. Sync clients copy files while they are being written; SQLite does not survive that.
  • When the custom folder is unavailable, the app silently runs on the default (possibly empty) data. Your collection is not lost — plug the drive back in and restart — but anything you add meanwhile lands in the default folder, not the custom one.
  • On Android this feature needs the "All files access" permission, which the app requests only when you actually pick a folder.

Data Sources

Type Source API Key
IGDB Games IGDB Built-in
TMDB Movies & TV TMDB Built-in
VNDB Visual Novels VNDB Not required
AniList Anime & Manga AniList Not required
MangaBaka Manga MangaBaka Not required
OpenLibrary Books OpenLibrary Not required
Fantlab Books Fantlab Not required
SteamGridDB Artwork SteamGridDB Built-in
ScreenScraper Retro media gallery ScreenScraper Required (user account)
RetroAchievements Achievements RetroAchievements Required

API Keys Setup

Platform Support

Feature Windows Linux Android
Collections & search
Progress tracking
Visual boards
Tier lists
Import (Steam/Trakt/RA)
Kodi sync
VGMaps browser
Gamepad
Discord Rich Presence

Documentation

Building from Source

git clone https://github.com/hacan359/tonkatsu_box.git
cd tonkatsu_box
flutter pub get
flutter run -d windows  # or linux / android

Requires Flutter 3.44+. See CONTRIBUTING.md for details.

Community

Contributing

Contributions welcome! See CONTRIBUTING.md for build instructions, code style, and PR guidelines.

Credits

Data: IGDB · TMDB · VNDB · AniList · MangaBaka · OpenLibrary · Fantlab · MyAnimeList · RetroAchievements · SteamGridDB · ScreenScraper

This product uses the TMDB API but is not endorsed or certified by TMDB.

License

MIT

About

Free open-source app to organize collections of retro games, movies, TV shows & anime. Track progress, rate favorites, create visual boards, share with friends. Flutter · Windows · Android · Linux

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages