How awesomesk1ll/casc-browser works
CASC Browser is a desktop explorer for Blizzard game assets. The user selects a game and region, then App creates CASCStorage, which discovers build/CDN configuration, loads VFS indexes and builds a browsable tree. FileBrowser supports navigation, search and recursive downloads; selecting a supported file opens previews, including image, text, audio/video and MDX model rendering. Frontend CDN requests use Tauri’s native HTTP commands, which also decode BLTE data for downloads and write results to disk. The README documents the connection and asset-resolution stages; unsampled service code limits detail on their internal calls.
Main entry points: App.tsx App orchestration · FileBrowser.tsx Browse and search · casc.ts CASC connection · FilePreviewModal.tsx File preview
Components 16
Desktop interface
- Game and region
src/components/ProductSelector.tsx - App orchestration
src/App.tsx - Connection status
src/components/StatusBar.tsx - Browse and search
src/components/FileBrowser.tsx - Download workflow
src/components/FileBrowser.tsx - File preview
src/components/FilePreviewModal.tsx - Media and model rendering
src/components/FilePreviewModal.tsx
CASC asset access
- CASC connection
src/services/casc.ts - Build config discovery
src/services/casc.ts - VFS tree assembly
src/services/casc.ts - Key and archive resolution
src/services/casc.ts
Native services
- Native HTTP and BLTE
src-tauri/src/lib.rs - Native file writing
src-tauri/src/lib.rs
External resources
- Blizzard patch and CDN
Other components
- User
- Local filesystem
Connections 20
- User → Game and region: chooses game
README.md - Game and region → App orchestration: requests connection
src/App.tsx - App orchestration → CASC connection: starts connection
src/App.tsx - App orchestration → Connection status: passes status
src/App.tsx - App orchestration → Browse and search: passes tree
src/App.tsx - CASC connection → Build config discovery: loads configs
README.md - Build config discovery → Blizzard patch and CDN: fetches versions
README.md - Build config discovery → VFS tree assembly: loads VFS
README.md - VFS tree assembly → Browse and search: provides tree
README.md - Key and archive resolution → Blizzard patch and CDN: resolves asset data
README.md - CASC connection → Native HTTP and BLTE: invokes fetch
src/services/casc.ts - Native HTTP and BLTE → Blizzard patch and CDN: requests CDN data
README.md - Browse and search → Download workflow: offers downloads
src/components/FileBrowser.tsx - Download workflow → Key and archive resolution: resolves file location
src/components/FileBrowser.tsx - Download workflow → Native file writing: invokes download
src/components/FileBrowser.tsx - Native file writing → Blizzard patch and CDN: fetches and decodes
src-tauri/src/lib.rs - Native file writing → Local filesystem: writes files
src-tauri/src/lib.rs - Browse and search → File preview: opens selected file
src/components/FileBrowser.tsx - File preview → CASC connection: finds textures
src/components/FilePreviewModal.tsx - File preview → Media and model rendering: decodes and renders
src/components/FilePreviewModal.tsx