Telerik Forums
Fiddler Forum
1 answer
26 views

In my program; I use Fiddler Core. When ran on a pc; it set's the proxy as it should but when trying to browse the network with the proxy on; i'm getting "Your connection is Not private"; error message on all browsers. Please see attached photos for reference. Here is my running code:

 


private void stopfiddler()
{
    if (!FiddlerApplication.IsStarted())
    {
    }
    else
    {
        FiddlerApplication.Shutdown();
    }
}

public static void SavePreferences()
{

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
    string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
    if (cert == null || key == null)
    {
        config.AppSettings.Settings.Add("fiddler.certmaker.bc.cert", FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.cert", null));
        config.AppSettings.Settings.Add("fiddler.certmaker.bc.key", FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.key", null));
        config.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection("appSettings");
    }
    else
    {
        config.AppSettings.Settings["fiddler.certmaker.bc.cert"].Value = FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.cert", null);
        config.AppSettings.Settings["fiddler.certmaker.bc.key"].Value = FiddlerApplication.Prefs.GetStringPref("fiddler.certmaker.bc.key", null);
        config.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection("appSettings");
    }
}

public static bool IsCertCreated()
{

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
    string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];
    if (cert != null && key != null)
    {
        return true;
    }
    else
    {
        return false;
    }
}

public static void RemoveFiddlerPreferences()
{
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

    config.AppSettings.Settings.Remove("fiddler.certmaker.bc.cert");
    config.AppSettings.Settings.Remove("fiddler.certmaker.bc.key");

    config.Save(ConfigurationSaveMode.Modified);
    ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name);
}

public static void LoadPreferences()
{
    string cert = ConfigurationManager.AppSettings["fiddler.certmaker.bc.cert"];
    string key = ConfigurationManager.AppSettings["fiddler.certmaker.bc.key"];

    if (!string.IsNullOrEmpty(cert) && !string.IsNullOrEmpty(key))
    {
        FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.cert", cert);
        FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.key", key);
    }

}
private void Installcert()
{

    if (IsCertCreated())
    {
        
    }
    else
    {
        BCCertMaker.BCCertMaker certProvider = new BCCertMaker.BCCertMaker();
        certProvider.CreateRootCertificate();
        X509Certificate2 rootCert = certProvider.GetRootCertificate();
        // Create a certificate store and add the root certificate to it
        X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
        store.Open(OpenFlags.ReadWrite);
        store.Add(rootCert);
        SavePreferences();
    }
}

private void Remove()
{
    using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
    {
        store.Open(OpenFlags.ReadWrite);

        var certificatesToRemove = store.Certificates
            .Cast<X509Certificate2>()
            .Where(c => c.SubjectName.Name.ToLower().Contains("DO_NOT_TRUST_FiddlerRoot"))
            .ToList();

        foreach (var cert in certificatesToRemove)
        {
            string certPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, cert.Thumbprint + ".cer");
            if (File.Exists(certPath))
            {
                File.Delete(certPath);
            }

            store.Remove(cert);
        }
        RemoveFiddlerPreferences();
        store.Close();
        MessageBox.Show("Deleted");
    }
}

private void appentext(string value)
{
    if (InvokeRequired)
    {
        return;
    }
}

 

 

 

 

Nick Iliev
Telerik team
 answered on 26 Feb 2024
1 answer
15 views
How can I exempt all in FiddlerCore as if I was using the Win Config option in Fiddler Classic? Thank you in Advance!
Nick Iliev
Telerik team
 answered on 21 Feb 2024
1 answer
18 views

So; in one of my applications; I am attempting to try to find text within a decoded response. The problem is, that response changes every day. However, the format as you see below always stays the same BEFORE the numbers that are underlined. Only the numbers change. The end goal is to find this response; and then print it to a textbox. How can I accomplish this?

 

 

 

Nick Iliev
Telerik team
 answered on 06 Feb 2024
1 answer
12 views

I keep getting this error, no matter what I'm doing... I've tried both SaveRequestBody and SaveResponseBody. What am I doing wrong?

 

 

 

Nick Iliev
Telerik team
 answered on 05 Feb 2024
1 answer
13 views

Is it possible with Fiddler Core to completely replace a response like its possible with Fiddler Classic to do in the "RAW" section if you put a breakpoint before the Response?

Thanks

Nick Iliev
Telerik team
 answered on 22 Jan 2024
1 answer
26 views
Hello, i have app using fiddler, and i have problem like in Subject. Proxy in windows settings turn on like normal but i can't see result of fiddler proxy. Im using windows 11. There's any way to fix that? Thanks! :) 
Nick Iliev
Telerik team
 answered on 22 Jan 2024
1 answer
30 views
Hi, is it possible to only decrypt some HTTPS requests?
I only need to decrypt some specific, and since using
.DecryptSSL()
Will decrypt all HTTPS traffic, which is what I don't want. I only need to decrypt on specific URLs.
I found this example: https://docs.telerik.com/fiddlercore/basic-usage/capture-https-traffic#fiddlerapplicationbeforeresponse
But it looks to be for the actual Fiddler Application, not for the Core version, so I'm not sure if it will work, will the <session>.uriContains even work if DecryptSSL is not enabled, will it even find the sessions?

Thanks
Rosen Vladimirov
Telerik team
 answered on 04 Jan 2024
0 answers
15 views

static function OnBeforeRequest(oSession: Session) {      
        if (oSession.uriContains("/teste.json")) {     
            oSession["x-breakresponse"]="uri";                         
        }

I need to make a change to the text of a file that is large and if I do it the normal way this change doesn't happen, I think I don't have time to edit the response and that's why it loads without changing. Because in small files it replaces the normal load on the page with the modified response. Is there any way to get around this? Thanks.
herson
Top achievements
Rank 2
Veteran
 asked on 01 Jan 2024
1 answer
21 views

Hello, I'm trying to output the HTTPVersion in FiddlerApplication.AfterSessionComplete,

but sites corresponding to HTTP/2 always show up as HTTP/1.1.

 

source code:

FiddlerApplication.AfterSessionComplete += delegate (Session session)
            {
               
                string httpVersion = session.oResponse.headers.HTTPVersion;
                Console.WriteLine($"HTTP Version: {httpVersion}");
            };

            CustomRootCert();

            FiddlerCoreStartupSettings startupSettings =
            new FiddlerCoreStartupSettingsBuilder()
             .ListenOnPort(9999)
             .RegisterAsSystemProxy()
             .DecryptSSL()
             .Build();
            
            FiddlerApplication.Startup(startupSettings);
Nick Iliev
Telerik team
 answered on 05 Dec 2023
1 answer
31 views

I have tested using online unpkg https://nuget.telerik.com/v3/index.json and local file dir, Neither can be installed. The screenshot is as follows. Please help troubleshoot the problem.

 

Nick Iliev
Telerik team
 answered on 17 Nov 2023
Narrow your results
Selected tags
Tags
+? more
Top users last month
horváth
Top achievements
Rank 2
Iron
Iron
Steve
Top achievements
Rank 2
Iron
Erkki
Top achievements
Rank 1
Iron
Mark
Top achievements
Rank 2
Iron
Iron
Veteran
Jakub
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
horváth
Top achievements
Rank 2
Iron
Iron
Steve
Top achievements
Rank 2
Iron
Erkki
Top achievements
Rank 1
Iron
Mark
Top achievements
Rank 2
Iron
Iron
Veteran
Jakub
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?