You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
4.0 KiB
185 lines
4.0 KiB
package item
|
|
|
|
type Item int
|
|
|
|
const (
|
|
ChromiumKey Item = iota
|
|
ChromiumPassword
|
|
ChromiumCookie
|
|
ChromiumBookmark
|
|
ChromiumHistory
|
|
ChromiumDownload
|
|
ChromiumCreditCard
|
|
ChromiumLocalStorage
|
|
ChromiumExtension
|
|
|
|
YandexPassword
|
|
YandexCreditCard
|
|
|
|
FirefoxKey4
|
|
FirefoxPassword
|
|
FirefoxCookie
|
|
FirefoxBookmark
|
|
FirefoxHistory
|
|
FirefoxDownload
|
|
FirefoxCreditCard
|
|
FirefoxLocalStorage
|
|
FirefoxExtension
|
|
)
|
|
|
|
func (i Item) FileName() string {
|
|
switch i {
|
|
case ChromiumKey:
|
|
return fileChromiumKey
|
|
case ChromiumPassword:
|
|
return fileChromiumPassword
|
|
case ChromiumCookie:
|
|
return fileChromiumCookie
|
|
case ChromiumBookmark:
|
|
return fileChromiumBookmark
|
|
case ChromiumDownload:
|
|
return fileChromiumDownload
|
|
case ChromiumLocalStorage:
|
|
return fileChromiumLocalStorage
|
|
case ChromiumCreditCard:
|
|
return fileChromiumCredit
|
|
case ChromiumExtension:
|
|
return fileChromiumExtension
|
|
case ChromiumHistory:
|
|
return fileChromiumHistory
|
|
case YandexPassword:
|
|
return fileYandexPassword
|
|
case YandexCreditCard:
|
|
return fileYandexCredit
|
|
case FirefoxKey4:
|
|
return fileFirefoxKey4
|
|
case FirefoxPassword:
|
|
return fileFirefoxPassword
|
|
case FirefoxCookie:
|
|
return fileFirefoxCookie
|
|
case FirefoxBookmark:
|
|
return fileFirefoxData
|
|
case FirefoxDownload:
|
|
return fileFirefoxData
|
|
case FirefoxLocalStorage:
|
|
return fileFirefoxLocalStorage
|
|
case FirefoxHistory:
|
|
return fileFirefoxData
|
|
case FirefoxExtension:
|
|
return fileFirefoxExtension
|
|
case FirefoxCreditCard:
|
|
return UnsupportedItem
|
|
default:
|
|
return UnknownItem
|
|
}
|
|
}
|
|
|
|
func (i Item) String() string {
|
|
switch i {
|
|
case ChromiumKey:
|
|
return TempChromiumKey
|
|
case ChromiumPassword:
|
|
return TempChromiumPassword
|
|
case ChromiumCookie:
|
|
return TempChromiumCookie
|
|
case ChromiumBookmark:
|
|
return TempChromiumBookmark
|
|
case ChromiumDownload:
|
|
return TempChromiumDownload
|
|
case ChromiumLocalStorage:
|
|
return TempChromiumLocalStorage
|
|
case ChromiumCreditCard:
|
|
return TempChromiumCreditCard
|
|
case ChromiumExtension:
|
|
return TempChromiumExtension
|
|
case ChromiumHistory:
|
|
return TempChromiumHistory
|
|
case YandexPassword:
|
|
return TempYandexPassword
|
|
case YandexCreditCard:
|
|
return TempYandexCreditCard
|
|
case FirefoxKey4:
|
|
return TempFirefoxKey4
|
|
case FirefoxPassword:
|
|
return TempFirefoxPassword
|
|
case FirefoxCookie:
|
|
return TempFirefoxCookie
|
|
case FirefoxBookmark:
|
|
return TempFirefoxBookmark
|
|
case FirefoxDownload:
|
|
return TempFirefoxDownload
|
|
case FirefoxHistory:
|
|
return TempFirefoxHistory
|
|
case FirefoxLocalStorage:
|
|
return TempFirefoxLocalStorage
|
|
case FirefoxCreditCard:
|
|
return UnsupportedItem
|
|
case FirefoxExtension:
|
|
return TempFirefoxExtension
|
|
default:
|
|
return UnknownItem
|
|
}
|
|
}
|
|
|
|
// IsSensitive returns whether the item is sensitive data
|
|
// password, cookie, credit card, master key is unlimited
|
|
func (i Item) IsSensitive() bool {
|
|
switch i {
|
|
case ChromiumKey, ChromiumCookie, ChromiumPassword, ChromiumCreditCard,
|
|
FirefoxKey4, FirefoxPassword, FirefoxCookie, FirefoxCreditCard,
|
|
YandexPassword, YandexCreditCard:
|
|
return true
|
|
default:
|
|
return false
|
|
}
|
|
}
|
|
|
|
// FilterSensitiveItems returns the sensitive items
|
|
func FilterSensitiveItems(items []Item) []Item {
|
|
var filtered []Item
|
|
for _, item := range items {
|
|
if item.IsSensitive() {
|
|
filtered = append(filtered, item)
|
|
}
|
|
}
|
|
return filtered
|
|
}
|
|
|
|
// DefaultFirefox returns the default items for the firefox browser
|
|
var DefaultFirefox = []Item{
|
|
FirefoxKey4,
|
|
FirefoxPassword,
|
|
FirefoxCookie,
|
|
FirefoxBookmark,
|
|
FirefoxHistory,
|
|
FirefoxDownload,
|
|
FirefoxCreditCard,
|
|
FirefoxLocalStorage,
|
|
FirefoxExtension,
|
|
}
|
|
|
|
// DefaultYandex returns the default items for the yandex browser
|
|
var DefaultYandex = []Item{
|
|
ChromiumKey,
|
|
ChromiumCookie,
|
|
ChromiumBookmark,
|
|
ChromiumHistory,
|
|
ChromiumDownload,
|
|
ChromiumExtension,
|
|
YandexPassword,
|
|
ChromiumLocalStorage,
|
|
YandexCreditCard,
|
|
}
|
|
|
|
// DefaultChromium returns the default items for the chromium browser
|
|
var DefaultChromium = []Item{
|
|
ChromiumKey,
|
|
ChromiumPassword,
|
|
ChromiumCookie,
|
|
ChromiumBookmark,
|
|
ChromiumHistory,
|
|
ChromiumDownload,
|
|
ChromiumCreditCard,
|
|
ChromiumLocalStorage,
|
|
ChromiumExtension,
|
|
}
|
|
|