How sjasonp/historylibhelper works
HistoryLib Helper is a local-only browser-history exporter, with both a Wails desktop interface and a CLI. The main workflow discovers browser profiles, reads their history from a consistent private SQLite snapshot, combines and sorts records, then writes a HistoryLib .hlz archive with time indexes and optional password protection. The CLI also accepts manually selected database paths. The reader implementation was not sampled, so snapshot and database-reading details rely on the README; internal wiring beyond the sampled calls is not inferred.
Main entry points: service.go Export service · app.go App methods · main.go Export CLI · export.go HLZ archive writer
Components 18
User interfaces
- Desktop interface
frontend/src/App.tsx - Wails bindings
frontend/wailsjs/go/main/App.js - App methods
app.go - Export CLI
cmd/hlz-export/main.go - Save-file dialog
app.go
Browser sources
- Profile discovery
internal/browser/discovery.go - Manual profile
internal/browser/discovery.go - History reader
internal/browser/reader.go - Browser history DB
- Private DB snapshot
internal/browser/reader.go
Export processing
- Export service
internal/service/service.go - History records
internal/model/model.go
Archive output
- HLZ archive writer
internal/hlz/export.go - Time indexes
internal/hlz/export.go - Archive encryption
internal/hlz/encrypt.go - HLZ file
Other components
- Desktop user
- CLI user
Connections 22
- Desktop user → Desktop interface: uses
- Desktop interface → Wails bindings: invokes
- Wails bindings → App methods: dispatches
- App methods → Save-file dialog: opens
- Save-file dialog → Desktop interface: returns path
- CLI user → Export CLI: runs
- Desktop interface → App methods: requests discovery
- App methods → Export service: discovers profiles
- Export CLI → Export service: discovers profiles
- Export service → Profile discovery: discovers
- Export CLI → Manual profile: constructs profile
- Browser history DB → History reader: read-only access
- History reader → Private DB snapshot: creates snapshot
- Export service → History reader: reads history
- History reader → History records: returns records
- Export service → HLZ archive writer: exports records
- HLZ archive writer → Time indexes: writes indexes
- HLZ archive writer → Archive encryption: encrypts optionally
- HLZ archive writer → HLZ file: writes archive
- App methods → Export service: exports profiles
- Export CLI → Export service: exports profiles
- Export service → History records: combines and sorts