Skip to content

SlasshyOverhere/SlasshyVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

324 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SlasshyVault

SlasshyVault is a cloud-first desktop media library app built with Tauri, Rust, React, and TypeScript.

It indexes video content from Google Drive, enriches it with TMDB metadata, and plays it through MPV with progress tracking, resume support, and archive-aware playback.

Tauri React Version

What SlasshyVault Does

  • Indexes your Google Drive video library into a local SQLite database
  • Fetches posters, thumbnails, episode metadata, and overviews from TMDB
  • Plays media through MPV with resume, history, and progress saving
  • Detects cloud changes in the background and keeps the library updated
  • Supports archive-aware playback for supported cases, including playable .rar archives
  • Shows clear frontend warnings when archive media is not directly playable

Key Features

  • Cloud-first library management
  • TV show and episode grouping
  • Watch history and resume playback
  • System tray support
  • Windows notifications when the app is minimized or in the background
  • In-app toast notifications while the app is open and focused
  • Manual metadata correction with Fix Match
  • Archive playback status and compatibility messaging

Archive Support

SlasshyVault can detect and assess archived media before playback.

  • .zip: supported where the archive entry can be played or prepared by the backend
  • .rar: supported for playable archive cases
  • .tar: currently not playable

If SlasshyVault detects a .tar file, it informs the user in the UI and explains why it cannot be indexed for playback right now.

Playback

Playback is powered by MPV.

SlasshyVault bundles a pre-built MPV binary for hassle-free installation — you don't need to install MPV separately. The bundled binary is downloaded from the official MPV project on first launch.

  • Use either the built-in MPV build or this specific version (20251217) for hassle-free playback.

Acknowledgments: MPV is released under GPLv2. All rights and credits for MPV belong to the mpv project and its contributors. SlasshyVault is not affiliated with or endorsed by the MPV team.

  • Native playback for common video formats
  • Resume from previous progress
  • Watch history tracking
  • Better MPV display titles for archived TV episodes, including SxxExx

Tech Stack

Layer Technology
Frontend React 18, TypeScript, Tailwind CSS, Radix UI, Framer Motion
Backend Rust, Tauri
Database SQLite
Playback MPV
Metadata TMDB
Cloud Google Drive API

Prerequisites

Before running SlasshyVault locally, install:

  1. Node.js 18+
  2. Rust stable
  3. MPV

Windows:

  • Install MPV from mpv.io or a trusted Windows build
  • Make sure mpv.exe is available in your system PATH, or configure it in app settings

Local Development

git clone https://github.com/SlasshyOverhere/SlasshyVault.git
cd SlasshyVault/slasshyvault
npm install
npm run tauri dev

Production Build

npm run tauri build

Installers are generated under src-tauri/target/release/bundle/.

First-Time Setup

  1. Launch SlasshyVault
  2. Complete onboarding
  3. Connect Google Drive
  4. Add your TMDB API key if you want metadata and artwork
  5. Run a library update

Backend / Self-Hosting

If you want to use your own backend:

  1. Deploy the backend
  2. Set VITE_AUTH_SERVER_URL in .env
  3. Set backend-related environment variables for Tauri builds as needed
  4. Build the app with those values

Supported Video Formats

Common supported formats include:

.mkv .mp4 .avi .mov .webm .m4v .wmv .flv .ts .m2ts

Project Structure

slasshyvault/
├── src/                 React frontend
├── src-tauri/           Rust + Tauri backend
├── package.json
└── README.md

Recent Highlights

  • Improved notification behavior and reduced repeated notifications
  • Added .rar archive support for supported playback cases
  • Added frontend archive compatibility messaging
  • Added .tar detection with clear unsupported reason
  • Fixed MPV archive playback titles so TV episodes show better metadata

Contributing

Pull requests are welcome.

  1. Fork the repo
  2. Create a branch
  3. Make your changes
  4. Open a pull request

Disclaimer

This project is entirely vibe-coded as a hobby project.


Testing

Frontend Tests

npm test

Backend Tests

cd src-tauri
cargo test

Lint

npm run lint

Type Check

npx tsc --noEmit

License

MIT License

About

A modern media library manager with Google Drive integration, TMDB metadata, and MPV playback. Built with Tauri, Rust, and React.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors