Telerik Forums
Fiddler Forum
1 answer
17 views
The last update for FiddlerCore was in 2021, is this product still being developed?
Rosen Vladimirov
Telerik team
 answered on 10 Apr 2024
0 answers
14 views
When I try to do that, it doesn't work
tgqz
Top achievements
Rank 1
 asked on 08 Apr 2024
1 answer
40 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
23 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
22 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
16 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
20 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
31 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
41 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
20 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
Narrow your results
Selected tags
Tags
+? more
Top users last month
Dominik
Top achievements
Rank 1
Giuliano
Top achievements
Rank 1
Dominic
Top achievements
Rank 1
Glendys
Top achievements
Rank 1
NoobMaster
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Dominik
Top achievements
Rank 1
Giuliano
Top achievements
Rank 1
Dominic
Top achievements
Rank 1
Glendys
Top achievements
Rank 1
NoobMaster
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?