AdguardTeam / AdguardForWindows

AdGuard for Windows open bug tracker
https://adguard.com/
693 stars 72 forks source link

Add process name to filter permanently #5217

Closed Vansinnet closed 3 months ago

Vansinnet commented 3 months ago

Issue Details

When adding Discord.exe and its folder location to list of filtered applications in AdGuard for Windows, it functions as expected. However, each new update alters the directory for Discord.exe, necessitating a re-addition of Discord.exe in its new path to AdGuard (in filtered applications) to reinstate filtering.

Proposed solution

Implement a feature to consistently filter a file name. For example, enable adding 'Discord.exe' to the filter, irrespective of its directory path.

Alternative solution

An alternative could be to implement a feature allowing the addition of specific digital signatures to files that AdGuard will consistently filter. For example, the signature of Discord Inc. This approach could address problems arising if Discord's developers decide to change the file name of their application.

KolbasovAnton commented 3 months ago

@Vansinnet Hello! Thank You for reporting! In upcoming versions we will fix your problem the way similar to your proposed solution.

Kobi-Blade commented 2 months ago

This has not been fixed yet, don't know why it was closed, a promise of a fix is not a solution (plus has been a month).

This can be fixed in 5 minutes, and less than a week depending on Adguard codebase, so I see no reason this is even an issue for starters.

A basic example on how to fix,

std::wstring FindDiscordExecutable() {
    std::wstring rootPath = L"C:\\Users\\%USERNAME%\\AppData\\Local\\Discord";
    std::wstring discordPath;

    for (const auto& entry : std::filesystem::directory_iterator(rootPath)) {
        if (entry.is_directory() && entry.path().filename().wstring().find(L"app-") == 0) {
            std::wstring potentialPath = entry.path().wstring() + L"\\Discord.exe";
            if (std::filesystem::exists(potentialPath)) {
                discordPath = potentialPath;
                break;
            }
        }
    }

    return discordPath;
}

I say this cause is quite frustrating to deal with Youtube advertisements on Discord.