Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 15 additions & 12 deletions DebugProbe.AspNetCore/DebugProbe.AspNetCore.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,34 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>

<PackageIcon>icon.png</PackageIcon>
<PackageId>DebugProbe.AspNetCore</PackageId>
<Version>1.4.0-preview.2</Version>

<Authors>Georgi Hristov</Authors>
<Description>Debug and inspect HTTP requests and responses inside ASP.NET Core apps. Capture, analyze, and compare API calls with a built-in UI.</Description>
<PackageTags>aspnetcore;debugging;http;middleware;api;diagnostics</PackageTags>

<Description>Debug HTTP requests and responses directly inside ASP.NET Core applications with a built-in tracing and comparison UI.</Description>

<PackageTags>aspnetcore;debugging;http;middleware;api;diagnostics;tracing;observability</PackageTags>

<PackageIcon>icon.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>

<RepositoryUrl>https://github.com/georgidhristov/DebugProbe.AspNetCore</RepositoryUrl>
<RepositoryType>git</RepositoryType>

<PackageProjectUrl>https://debugprobe.dev</PackageProjectUrl>

<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>

<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>

<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>

<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>

Expand All @@ -34,11 +41,7 @@
</ItemGroup>

<ItemGroup>
<EmbeddedResource Include="Assets\**\*.html" />
<EmbeddedResource Include="Assets\**\*.css" />
<EmbeddedResource Include="Assets\**\*.js" />
<EmbeddedResource Include="Assets\**\*.png" />
<EmbeddedResource Include="Assets\**\*.ico" />
<EmbeddedResource Include="Assets\**\*" />
</ItemGroup>

<ItemGroup>
Expand All @@ -50,10 +53,10 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="10.0.300">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="10.0.300">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>

</Project>
53 changes: 39 additions & 14 deletions DebugProbe.AspNetCore/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
# DebugProbe.AspNetCore
# DebugProbe.AspNetCore

**Debug HTTP traffic directly from inside your ASP.NET Core pipeline.**

[![DebugProbe](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/debugprobe_icon_white_rounded_180px.png)](https://debugprobe.dev)
[![DebugProbe](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/Logos/debugprobe_icon_white_rounded_180px.png)](https://debugprobe.dev)

Live Demo: https://debugprobe.dev

## Why DebugProbe?
## Why Use DebugProbe?

- Debug real requests from inside your app
- No proxy setup or traffic interception
- See exactly what your API sends and receives
- Compare environments in seconds
- Debug HTTP traffic directly inside your ASP.NET Core pipeline
- No proxies, browser extensions, or external tools
- Inspect requests and responses in real time
- Compare API responses across environments instantly
- Built for fast backend debugging with minimal setup


## Features
Expand All @@ -22,19 +23,24 @@ Live Demo: https://debugprobe.dev
- Compare responses across environments
- JSON pretty formatting
- Ignore noisy endpoints with `IgnorePaths`
- Configurable body capture size limits
- Safe compare mode with localhost protection
- Automatic masking of sensitive headers
- Zero external proxies or setup


## Screenshots

### Requests
![Requests](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/requests.png)
![Requests](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe_index_page_requests.png)

### Details
![Details](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/details_v1.4.0-preview.1.png)
![Details_overview](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe-details-overview.png)

![Details_request_response](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe-details-request-response.png)

### Compare
![Compare](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/compare_v1.4.0-preview.1.png)
![Compare](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe_compare_page.png)

---

Expand All @@ -59,6 +65,10 @@ builder.Services.AddDebugProbe(options =>
{
options.MaxEntries = 10;

options.MaxBodyCaptureSizeKb = 256;

options.AllowLocalCompareTargets = false;

options.IgnorePaths =
[
"/health",
Expand All @@ -71,12 +81,12 @@ app.UseDebugProbe();
```

## Open The Debug UI

Run your application, then open:

http://localhost:{port}/debug

![DebugProbe Short Demo](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/debugprobe_demo_live_debugging.gif)

![DebugProbe Short Demo](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/Demos/debugprobe_demo_live_debugging.gif)

## Compare Responses

Expand All @@ -86,6 +96,22 @@ Use the UI to compare responses across environments:
- Enter **Trace ID**
- Instantly see differences

## Security Defaults

DebugProbe automatically masks sensitive headers:

- Authorization
- Cookie
- Set-Cookie

Localhost compare targets are blocked by default for safer environment comparisons.

You can enable them manually:

```csharp
options.AllowLocalCompareTargets = true;
```

## ⚠️ Production Usage

This tool is intended for development.
Expand All @@ -96,7 +122,6 @@ If used in production:
- Restrict access
- Filter sensitive data


## License

Apache License 2.0
Apache License 2.0
Binary file modified DebugProbe.AspNetCore/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 38 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@

**Debug HTTP traffic directly from inside your ASP.NET Core pipeline.**

[![DebugProbe](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/debugprobe_icon_white_rounded_180px.png)](https://debugprobe.dev)
[![DebugProbe](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/Logos/debugprobe_icon_white_rounded_180px.png)](https://debugprobe.dev)

Live Demo: https://debugprobe.dev

## Why DebugProbe?
## Why Use DebugProbe?

- Debug real requests from inside your app
- No proxy setup or traffic interception
- See exactly what your API sends and receives
- Compare environments in seconds
- Debug HTTP traffic directly inside your ASP.NET Core pipeline
- No proxies, browser extensions, or external tools
- Inspect requests and responses in real time
- Compare API responses across environments instantly
- Built for fast backend debugging with minimal setup


## Features
Expand All @@ -22,19 +23,24 @@ Live Demo: https://debugprobe.dev
- Compare responses across environments
- JSON pretty formatting
- Ignore noisy endpoints with `IgnorePaths`
- Configurable body capture size limits
- Safe compare mode with localhost protection
- Automatic masking of sensitive headers
- Zero external proxies or setup


## Screenshots

### Requests
![Requests](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/requests.png)
![Requests](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe_index_page_requests.png)

### Details
![Details](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/details_v1.4.0-preview.1.png)
![Details_overview](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe-details-overview.png)

![Details_request_response](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe-details-request-response.png)

### Compare
![Compare](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/compare_v1.4.0-preview.1.png)
![Compare](https://raw.githubusercontent.com/DebugProbe/DebugProbe.AspNetCore/main/Assets/Screenshots/debugprobe_compare_page.png)

---

Expand All @@ -59,6 +65,10 @@ builder.Services.AddDebugProbe(options =>
{
options.MaxEntries = 10;

options.MaxBodyCaptureSizeKb = 256;

options.AllowLocalCompareTargets = false;

options.IgnorePaths =
[
"/health",
Expand All @@ -71,12 +81,12 @@ app.UseDebugProbe();
```

## Open The Debug UI

Run your application, then open:

http://localhost:{port}/debug

![DebugProbe Short Demo](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/debugprobe_demo_live_debugging.gif)

![DebugProbe Short Demo](https://raw.githubusercontent.com/georgidhristov/DebugProbe.AspNetCore/main/Assets/Demos/debugprobe_demo_live_debugging.gif)

## Compare Responses

Expand All @@ -86,6 +96,22 @@ Use the UI to compare responses across environments:
- Enter **Trace ID**
- Instantly see differences

## Security Defaults

DebugProbe automatically masks sensitive headers:

- Authorization
- Cookie
- Set-Cookie

Localhost compare targets are blocked by default for safer environment comparisons.

You can enable them manually:

```csharp
options.AllowLocalCompareTargets = true;
```

## ⚠️ Production Usage

This tool is intended for development.
Expand All @@ -96,7 +122,6 @@ If used in production:
- Restrict access
- Filter sensitive data


## License

Apache License 2.0
Apache License 2.0
Loading