How sywyar/pixivdownloader works
PixivDownloader is a local Pixiv work discovery, download, and library-management application, with a web workbench, desktop GUI, and companion userscripts. The main workflow is to submit works or discover them through batch, user, search, series, or Pixiv-page inputs; process queued downloads; save media and metadata locally; and browse the resulting galleries. Other documented capabilities include scheduled downloads, novel translation and narration, duplicate detection, notifications, and plugin extensions. The README documents these branches, but excerpts do not establish all their internal call wiring, so uncertain links are omitted.
Main entry points: download Download API · PixivDatabase.java Local database · ArtworkHashService.java Duplicate detection · ScheduleService.java Scheduled downloads
Components 23
Discovery and input
- Web download workbench
pixivdownload-plugin-download-workbench/src/main/resources/static/pixiv-batch-alt/alt-engine-workers.js - URL batch script
Pixiv URL 批量导入单作品下载器(URL Batch).user.js - User batch script
Pixiv User 批量下载器(User Batch).user.js - Page scrape script
Pixiv 页面批量下载器(Page Scrape).user.js - Pixiv toolbox script
Pixiv 体验增强工具箱(Toolbox).user.js - Single-work scripts
Pixiv 单作品图片下载器(Local Download).user.js
Download processing
- Download API
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/core/download - Pixiv access
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/core/pixiv - Media conversion
pixivdownload-plugin-download-workbench/src/main/java/top/sywyar/pixivdownload/download/UgoiraService.java - Download history
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/core/download/DownloadedArtworkService.java
Local library
- Work metadata
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/core/metadata/CoreWorkQueryService.java - Local database
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/core/db/PixivDatabase.java - Work galleries
pixivdownload-core-api/src/main/java/top/sywyar/pixivdownload/core/work/service/WorkQueryService.java - Duplicate detection
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/core/hash/ArtworkHashService.java
Automation and extensions
- Scheduled downloads
pixivdownload-plugin-download-workbench/src/main/java/top/sywyar/pixivdownload/schedule/ScheduleService.java - Novel capabilities
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/core/metadata/novel - Plugin lifecycle
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/plugin/lifecycle/PluginLifecycleService.java - Notifications
pixivdownload-plugin-notification/src/main/java/top/sywyar/pixivdownload/notificationbase/NotificationInboxService.java
User experience
- Desktop GUI
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/gui/GuiLauncher.java - Application backend
pixivdownload-app/src/main/java/top/sywyar/pixivdownload/PixivDownloadApplication.java
Other components
- Pixiv user
- Pixiv
- Media files
Connections 29
- Pixiv user → Web download workbench: submits works
- Pixiv user → URL batch script: imports URLs
- Pixiv user → User batch script: selects user
- Pixiv user → Page scrape script: scrapes pages
- Pixiv user → Pixiv toolbox script: uses tools
- Pixiv user → Single-work scripts: downloads work
- Web download workbench → Download API: sends downloads
- URL batch script → Pixiv: reads works
- User batch script → Pixiv: reads works
- Page scrape script → Pixiv: scrapes pages
- Single-work scripts → Pixiv: fetches media
- Download API → Pixiv access: requests Pixiv
- Pixiv access → Pixiv: fetches works
- Download API → Media conversion: converts media
- Media conversion → Media files: writes outputs
- Download API → Media files: saves media
- Download API → Download history: records downloads
- Download history → Local database: updates records
- Work metadata → Local database: queries metadata
- Work galleries → Work metadata: queries works
- Duplicate detection → Local database: indexes hashes
- Duplicate detection → Media files: checks images
- Scheduled downloads → Local database: stores schedules
- Scheduled downloads → Download API: runs downloads
- Novel capabilities → Local database: stores novel data
- Pixiv user → Desktop GUI: uses application
- Desktop GUI → Application backend: launches backend
- Plugin lifecycle → Application backend: extends runtime
- Notifications → Local database: stores inbox