Skip to content

Repository files navigation

RetroStash

RetroStash is an Android application designed for retro gaming enthusiasts and archivists. It transforms your handheld into a Personal Digital Preservation System, allowing you to browse, acquire, and safeguard digital artifacts with professional-grade integrity.

What's New (v2.3 "Careful Caretaker")

  • Careful Caretaker Philosophy: RetroStash now acts as a guardian. It detects issues and proposes repairs rather than making destructive changes automatically.
  • ArtifactLocation System: Decoupled file paths from artifacts. Track your collection across NAS, SD Cards, and Local Storage with a single unified view.
  • Preservation Lock: Secure your most important archives with ARCHIVE_LOCKED status, preventing any accidental deletion, replacement, or modification.
  • Proposal-Based Repair: If corruption is detected, RetroStash generates a Repair Proposal with confidence scores and specific strategies (Replace, Restore, Relink, Merge).
  • Safety Staging & Backups: All repairs are first verified in a .staging area and backed up with a JSON metadata manifest before the original file is touched.
  • Maintenance Hub: A new dashboard visualizing Library Health (physical condition) vs. Preservation Confidence (provenance and trust).
  • Smart Maintenance Worker: A multi-level background worker (Health -> Duplicates -> Repairs) that respects device state (Charging, WiFi, Idle).
  • SDK 37 Upgrade: Modernized build configuration for the latest AndroidX support while maintaining compatibility with Android 8.0+.

Features

  • Artifact Intelligence: Understands what your files are, not just where they are. Uses fingerprints and metadata to manage your archive logically.
  • Integrity Verification: Automatic checksum monitoring and verification history for every component in your library.
  • Advanced Discovery: Search Archive.org using a category-aware engine and specialized Lucene query builders.
  • Handheld Optimized: Native support for portrait phones and landscape consoles (like the RG556/Odin 2) with 2-column grid layouts.
  • Robust Import Pipeline: Handles Zips, 7z, and Rar archives with automatic extraction or safe-move fallbacks.
  • Metadata & Provenance: Generates gameList.xml and maintains internal provenance records for long-term archival trust.

Getting Started

Prerequisites

  • Android device running Android 8.0 (API level 26) or higher.

Configuration

  1. Launch the app and go to Settings.
  2. Select your Library Root (SD Card or Local).
  3. (Optional) Configure Storage Types (NAS/SD) to help the Deduplication Engine select the best "Master" copies.

Technical Details

  • Language: Kotlin 2.0+
  • UI Framework: Jetpack Compose (Adaptive Layouts)
  • Database: Room (with v3 Location-Decoupled Schema)
  • Architecture: MVI / Clean Architecture with Preservation-First Design
  • Target SDK: 35 (Compile SDK 37)

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

a tools to download files from archive.org

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages