From 58bca2171355e71b0d6b2c93a90eb45b5e881b6a Mon Sep 17 00:00:00 2001 From: moonD4rk Date: Tue, 9 Jan 2024 20:27:52 +0800 Subject: [PATCH] fix: Improve error handling in browsing data and file copying functions - Improve error handling in browsingdata.go Recovery function - Add logging for file copy errors in chromium.go - Modify copyItemToLocal function to continue copying files on error --- browser/chromium/chromium.go | 4 +++- browsingdata/browsingdata.go | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/browser/chromium/chromium.go b/browser/chromium/chromium.go index 96c421e..9968f15 100644 --- a/browser/chromium/chromium.go +++ b/browser/chromium/chromium.go @@ -7,6 +7,7 @@ import ( "github.com/moond4rk/hackbrowserdata/browsingdata" "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" "github.com/moond4rk/hackbrowserdata/utils/fileutil" "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) @@ -89,7 +90,8 @@ func (c *Chromium) copyItemToLocal() error { err = fileutil.CopyFile(path, filename) } if err != nil { - return err + log.Errorf("copy %s to %s error: %v", path, filename, err) + continue } } return nil diff --git a/browsingdata/browsingdata.go b/browsingdata/browsingdata.go index 436b280..a0ff5ac 100644 --- a/browsingdata/browsingdata.go +++ b/browsingdata/browsingdata.go @@ -41,6 +41,7 @@ func (d *Data) Recovery(masterKey []byte) error { for _, source := range d.sources { if err := source.Parse(masterKey); err != nil { log.Errorf("parse %s error %s", source.Name(), err.Error()) + continue } } return nil