feat: add Safari browser support with history extraction (#564)

* feat: add Safari browser support with history extraction
* fix: use correlated subquery to ensure title matches latest visit
This commit is contained in:
Roger
2026-04-11 23:47:53 +08:00
committed by GitHub
parent 26817b44d5
commit 509cdc2468
11 changed files with 639 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
package safari
import (
"path/filepath"
"github.com/moond4rk/hackbrowserdata/types"
)
// sourcePath describes a single candidate location for browser data,
// relative to the Safari data directory.
type sourcePath struct {
rel string // relative path from dataDir
isDir bool // true for directory targets
}
func file(rel string) sourcePath { return sourcePath{rel: filepath.FromSlash(rel), isDir: false} }
// safariSources defines the Safari file layout.
// Each category maps to one or more candidate paths tried in priority order;
// the first existing path wins.
var safariSources = map[types.Category][]sourcePath{
types.History: {file("History.db")},
}