How bookpauk/inpx-web works
inpx-web is a web and OPDS server for searching and retrieving books from an .inpx-indexed library. The main workflow is browser search over WebSocket, server-side catalog lookup, then retrieval of a book from disk or a ZIP archive. The README also documents OPDS access, access-password protection, remote-library mode, filtering during search-database creation, and automatic database refresh. Some internal wiring is based on documented roles and filenames; unsampled calls are omitted where ownership is uncertain.
Main entry points: WebWorker.js Library worker · index.js HTTP server · WebSocketController.js Socket controller · DbCreator.js Database creator
Components 21
Web interface
- Browser UI
client/components/App.vue - Search views
client/components/Search/Search.vue - WebSocket API
client/components/Api/Api.vue - Socket connection
client/components/Api/webSocketConnection.js
Server runtime
- HTTP server
server/index.js - Access control
server/core/WebAccess.js - Socket controller
server/controllers/WebSocketController.js - Configuration
server/config/index.js
Catalog indexing
- Library worker
server/core/WebWorker.js - Database search
server/core/DbSearcher.js - Search database
- Database creator
server/core/DbCreator.js - INPX parser
server/core/InpxParser.js - Catalog filter
server/core/InpxParser.js
Library access
- ZIP reader
server/core/ZipReader.js - Remote library
server/core/RemoteLib.js
Catalog interfaces
- OPDS routes
server/core/opds/index.js - Static files
server/static.js
Other components
- Library reader
- INPX index
- Book archives
Connections 21
- Library reader → Browser UI: browses
- Browser UI → Search views: opens
- Search views → WebSocket API: requests
- WebSocket API → Socket connection: uses
- Socket connection → Socket controller: sends requests
- HTTP server → Socket controller: registers
- HTTP server → OPDS routes: mounts routes
- HTTP server → Static files: serves files
- Socket controller → Access control: checks access
- Socket controller → Library worker: dispatches actions
- Library worker → Database search: searches
- Database search → Search database: queries
- Library worker → Database creator: creates database
- Database creator → INPX parser: parses index
- INPX parser → INPX index: reads
- Database creator → Catalog filter: applies filter
- Library worker → ZIP reader: extracts books
- ZIP reader → Book archives: reads archives
- Library worker → Remote library: uses when configured
- Remote library → INPX index: downloads index
- HTTP server → Configuration: loads settings