A desktop library manager for DLsite works.
dlsite-manager helps you keep a large DLsite collection searchable, downloaded, and organized. It syncs purchases from one or more DLsite accounts, merges them with local folders, tracks download state, and gives each work a consistent place for metadata, tags, ownership, local paths, and actions.
This is an unofficial project and is not affiliated with DLsite.
- Builds one unified library from DLsite purchases, multiple accounts, and local-only folders.
- Searches and filters by title, work ID, maker, credits, account source, local/not-owned source, age class, work type, and custom tags.
- Shows product details such as thumbnail, maker, credits, ownership, dates, local path, download state, and DLsite product link.
- Downloads archive-based works with progress, cancellation, resume, and a dedicated Downloads queue.
- Handles normal archives, serial-required products, and legacy split archives.
- Keeps downloaded works in a managed library folder and resumable partial files in a staging folder.
- Records app activity and detailed failures in file-backed audit logs for troubleshooting.
Get the latest build from the GitHub releases page.
The current published binary is a macOS Apple Silicon DMG. Other platforms can be built from source until additional packaging is added.
The Library page is the main workspace. Use it to browse synced purchases and local-only works, search or filter the collection, open product details, copy useful fields, add custom tags, open DLsite product pages, download works, or open downloaded folders.
Open a work to inspect its metadata, ownership, download state, custom tags, local path, credits, dates, and DLsite product link without leaving the Library context.
The Downloads page shows currently queued and running downloads. Download jobs expose status, progress, cancellation, and current phase information such as resolving files, downloading, checking files, decompressing, and finalizing.
Add one or more DLsite accounts and sync them into the same unified library. Products owned by multiple accounts are shown once with account ownership preserved.
Existing folders can be scanned into the library as local-only / not-owned works. This lets the app manage downloaded or imported works even when they were not synced from the configured accounts.
Choose where managed works are stored, where resumable downloads are staged, and confirm app/version information when reporting problems.
The Activity page shows recent jobs and audit log entries. Audit logs are written to the app log directory so support reports can include concrete operation history without relying only on screenshots or memory.
- Open Accounts and add a DLsite account.
- Run Sync to cache purchased works.
- Use Library to search, filter, tag, inspect, download, or open works.
- Use Downloads to watch active downloads and cancel running jobs.
- Use Settings to choose the final library folder and download staging folder.
- Use Activity when you need recent job history or audit logs for troubleshooting.
The app stores library metadata in SQLite under the application data directory. Downloaded works are stored in the configured library folder, while partial downloads and fetched archives use the configured staging folder so interrupted downloads can resume.
Saved account credentials are kept in the app credential store, separate from the SQLite database. Do not share passwords, cookies, or serial numbers in bug reports.
Audit logs are written to the app log directory. When reporting a bug, include the app version, affected work ID, steps to reproduce, and relevant audit log entries.
Download support currently targets archive downloads:
- normal single-archive products
- serial-required products
- legacy split archives
- downloaded folder opening and deletion
- re-download with confirmation
- local folder import / manual downloaded-state marking
Browser-reader-only workflows, including manga download behavior, still need separate research.
Prerequisites:
- Rust stable
- Node.js and pnpm
- Tauri 2 system prerequisites for your platform
Common commands:
pnpm install
pnpm check
cargo test --workspace
pnpm tauri dev
pnpm tauri buildLive DLsite API/download tests are env-gated. Use the .env.example files in the relevant crates when validating those surfaces:
crates/dm-api/.env.examplecrates/dm-download/.env.examplecrates/dm-archive/.env.example
The app keeps DLsite/domain behavior in reusable Rust crates and leaves the Tauri layer as a thin adapter. The current implementation targets DLsite Play v3 APIs.
crates/dm-api- DLsite Play v3 API, authentication, metadata, download-plan discovery, authenticated byte streamscrates/dm-download- resumable file downloads and progress reportingcrates/dm-archive- archive classification and extractioncrates/dm-storage- SQLite persistence and SQLx migrationscrates/dm-library- application services that combine API, storage, credentials, downloads, and local-library behaviorcrates/dm-jobs- background job snapshots, progress, and cancellationcrates/dm-audit- file-backed audit log recordscrates/dm-credentials- app credential storagesrc-tauri- Tauri commands, events, and desktop integrationsrc/routes- Svelte UI
MIT





