How rhilip/iyuu-gui works
IYUU GUI is a desktop frontend for configuring tracker sites and BitTorrent clients, then running IYUU-backed reseed missions. The main path is login and site/client setup, mission launch, querying IYUU for matching hashes, constructing tracker download links, and adding torrents to clients; mission state and logs support progress and retry/rate-limit behavior. Backup/restore and notification settings are additional product capabilities. The sampled excerpts establish the core calls; some view and store wiring is documented only by the source index, so uncertain links are omitted.
Main entry points: reseed.ts Mission runner · index.ts Page routing · store-accessor.ts Store accessors · factory.ts Tracker link factory
Components 27
Desktop UI
- Page routing
src/router/index.ts - Login view
src/views/Login.vue - Mission view
src/views/Mission.vue - Reseed controls
src/components/Mission/Reseed.vue
Configuration
- Site settings
src/views/Setting/Site.vue - Site forms
src/components/Setting/Site - Client settings
src/views/Setting/BtClient.vue - Client forms
src/components/Setting/BtClient - Backup UI
src/views/Setting/Backup.vue - Backup restore
src/plugins/backup.ts
Reseed workflow
- Mission runner
src/plugins/mission/reseed.ts - Tracker link factory
src/plugins/sites/factory.ts - Default tracker links
src/plugins/sites/default.ts - Tracker adapters
src/plugins/sites - Client factory
src/plugins/btclient/factory.ts - Client adapters
src/plugins/btclient
External integrations
- IYUU API client
src/plugins/iyuu.ts - Tracker sites
- IYUU service
- BitTorrent clients
- WeChat notification
src/plugins/iyuu.ts
Application state
- Vuex store
src/store/index.ts - Store accessors
src/store/store-accessor.ts - Account and sites
src/store/modules/IYUU.ts - Mission state
src/store/modules/Mission.ts - Status counters
src/store/modules/Status.ts
Other components
- Operator
Connections 32
- Operator → Page routing: navigates
src/router/index.ts - Page routing → Login view: routes to
src/router/index.ts - Page routing → Mission view: routes to
src/router/index.ts - Page routing → Site settings: routes to
src/router/index.ts - Page routing → Client settings: routes to
src/router/index.ts - Page routing → Backup UI: routes to
src/router/index.ts - Mission view → Reseed controls: renders
src/views/Mission.vue - Site settings → Site forms: uses forms
- Client settings → Client forms: uses forms
src/views/Setting/BtClient.vue - Backup UI → Backup restore: invokes
src/views/Setting/Backup.vue - Login view → IYUU API client: authenticates
src/views/Login.vue - Site forms → Tracker link factory: selects adapter
src/components/Setting/Site/SiteAdd.vue - Client forms → Client factory: selects client
src/components/Setting/BtClient/ClientAdd.vue - Reseed controls → Mission runner: starts mission
src/views/Mission.vue - Mission runner → Client factory: creates client
src/plugins/mission/reseed.ts - Mission runner → IYUU API client: queries hashes
src/plugins/mission/reseed.ts - Mission runner → Tracker link factory: builds torrent link
src/plugins/mission/reseed.ts - Tracker link factory → Default tracker links: dispatches default
src/plugins/sites/factory.ts - Tracker link factory → Tracker adapters: dispatches adapters
src/plugins/sites/factory.ts - Client factory → Client adapters: creates adapter
src/plugins/btclient/factory.ts - Client adapters → BitTorrent clients: calls client API
- Default tracker links → Tracker sites: builds download URL
src/plugins/sites/default.ts - IYUU API client → IYUU service: sends API requests
src/plugins/iyuu.ts - IYUU API client → Account and sites: updates sites/token
src/plugins/iyuu.ts - Mission runner → Mission state: writes logs/state
src/plugins/mission/reseed.ts - Mission runner → Status counters: updates counters
src/plugins/mission/reseed.ts - Vuex store → Store accessors: initializes modules
src/store/index.ts - Store accessors → Account and sites: registers
src/store/store-accessor.ts - Store accessors → Mission state: registers
src/store/store-accessor.ts - Store accessors → Status counters: registers
src/store/store-accessor.ts - Mission runner → WeChat notification: sends optional notice
src/plugins/mission/reseed.ts - WeChat notification → IYUU service: posts message
src/plugins/iyuu.ts