Content
Net WPF
Sun WPF is a Windows packet tool based on the Sunny core. The project uses# + WPF` to redraw the desktop interface, and the core packet proxy, scripting, certificate, and protocol processing are still provided by the Go backend, which is directly called by WPF through `c-shared DLL`.
Repository: https://github.com/hmlyn/SunnyNet-wpf
Author: `hmlyn`
:
> SunnyNet WPF Windows packet capture and analysis tool the SunnyNet Go core C# + WPF to redraw, supporting HTTP/HTTPS, WebSocket, TCP/UDP,, replay, request rules constructor, MCP, and common debugging tools.
## Tool List
- Windows x64 desktop application, interface layer using WPF, running product is `SunnyNet.exe`.
- Go backend compiled into `backend/SunnyNetBridge.dll`, WPF directly calls SunnyNet core capabilities through P/Invoke.
- The repository has distributed SunnyNet core compatible source code, and the backend uses local `replace` reference, no longer relying on additional manual preparation of core source code.
- Supports HTTP/HTTPS, WebSocket, TCP, UDP session capture, filtering, viewing, and analysis.
- Supports process filtering, domain filtering, session favorites, notes, color marking, column width memory, and window layout memory.
- Supports session comparison view, can drag two sessions to compare request/response differences, and display hash summary.
- Supports request/response XML view, automatically displays when content matches XML, avoiding irrelevant views occupying space.
- Supports TLS fingerprint view, can view JA3, JA3N, JA4, JA4-R, Akamai, and other fingerprint information.
- Supports breakpoint interception, normal resend, run to end, disconnect, and request/response content modification.
- Supports request rule center, including request breakpoint, HTTP/WebSocket/TCP/UDP shielding, request rewriting, and request mapping.
- Supports request constructor, can construct GET/POST and other requests, supports protocol header/Body multi-view editing, session list refill resend, and history record cache.
- Supports session right-click copy request code, including C#, Java, Go, Python, JavaScript, and other templates.
- Supports global search, search and replace, request/response text highlighting, and find window hit linkage to the right detail view.
- Supports WebSocket message flow, active sending, message replay, HEX/original/JSON/Protobuf view.
- Supports TCP/UDP dedicated data view, avoiding reuse of HTTP/WebSocket view causing information redundancy.
- Supports script extension, can process, decrypt, or convert data in the script, and write display layer plaintext, without destroying the original request/response data.
- Built-in text tools, JSON structure editor, encryption/decryption tools, open-source protocol, and appreciation page.
- Text tools support Base64/Base64URL, URL, UCS2, common compression and decompression, text difference, text deduplication, case conversion, timestamp conversion, and more.
- Encryption/decryption tools support AES/DES/RSA, common hash, HMAC, and support text/Base64/HEX/Base64URL input and output.
- Supports GitHub Release, can automatically detect new open the release page.
- MCP, allowing AI read, search, mark, note, view TLS and analyze packet capture sessions.
## Latest Version
Current release `v0.1. package naming:
```SunnyNet-wpf-v0.1.6-win.zip
```
Release includes runnable program, WPF, Go backend DLL, resources operation, and optional MCP bridge## Core Updates Request rule entrance refactoring: top "Request Rules directly enters the rule center using the drop-down menu Rule center redesign according to: left classification navigation, top unified toolbar, right table workspace card stacking and space waste Original "Intercept Rule" "Request Breakpoint" center, supporting add, edit, delete, enable, note save, and duplicate rule verification.
- Request breakpoint edit window changed to lightweight form, only retaining necessary fields such as direction, match range, match method, match value, and note.
- Request shielding retains HTTP, WebSocket, TCP, UDP secondary classification, rule quantity and current page statistics will be displayed synchronously.
- Rule center adds current page search and filtering, facilitating quick location in a large number of breakpoints, shielding, rewriting, and mapping rules.
- MCP and backend configuration synchronization supplement request breakpoint note field, AI reading or managing can retain note information.
## Directory Structure
- ` Go backend bridge layer into `backend/SBridge.dll`.
- `/SunnyNet/`: SunnyNet Go core compatible source with the repository.
- `src/SunnyNet.Wpf WPF desktop program source- `docs/`:, such as MCP tool list `sunnymcptool/`: Optional upstream directory, not the repository by default,-cloning.
- `_toolchain/`: Optional local toolchain directory, such as Zig.
- `build-debug.bat`: Debug build script, `artifacts/Debug/ `build-release.bat`: Release build script, output toifacts/Release/`, and remove pdb.
## Compilation Environment environment:
- Windows 10/11 x64
- .NET SDK 8.0+
- Go 1.24.x
- Zig 0.15.2 or compatible version, used to generate Windows loadable `c-shared DLL`
- Git
Recommended environment:
- Visual Studio 2022, used to open and debug WPF projects.
- PowerShell 7 or Windows PowerShell, used to run build scripts and MCP build scripts.
Optional environment:
- `sunnymcptool`, used to package MCP bridge programs.
## SunnyNet Core Distribution Description
The project has distributed SunnyNet Go core compatible source code with the repository:
```text
third_party/SunnyNet
```
Current `backend/go.mod` uses local replace:
```text
replace github.com/qtgolang/SunnyNet => ../third_party/SunnyNet
```
This allows direct compilation of the backend after pulling the repository, and also facilitates necessary core layer patch maintenance. If the SunnyNet core needs to be enhanced or fixed in the future, it is recommended to maintain compatible patches in `third_party/SunnyNet` and synchronize verification of WPF call chains.
## Get Source Code
```powershell
git clone https://github.com/hmlyn/SunnyNet-wpf.git
cd SunnyNet-wpf
```
The repository does not currently depend on Git submodule, `third_party/SunnyNet` is distributed within the repository.
Preparation
Choose one of two methods.
Method 1: Install `zig` and add it to `PATH`:
```powershell
zig version
```
Method 2: Unzip Zig to the project local path:
```text
_toolchain/zig-x86_64-windows-0.15.2/zig.exe
```
will prioritize using local `_toolchain`, if it does not exist, it will use `zig` in `PATH`.
## MCP Preparation
MCP is optional. If you need to package the MCP together, prepare thesunnymcptool` next to the project root:
```powershell
git clone https://github.com/a121400/sunnymcpt
cd sunnymc
.\scripts\build.ps1 -Target mcp
compilation, it should exist:
```text
sunnymool/build/bin/sunncp.exe
```
WPF construction will automatically copy it to the running directory:
```textcp/sunnynet-m
```
If this file does not exist, the main program can still be compiled and run, functionality will not be## Compilation Method
Debugbat
build-debug.bat```bat
build-release.bat
```
You can also use:
```powershell
dotnet build .\SunnyNet.sln -c Debug
dotnet build .\SunnyNet -c Release
```
It is recommended to use `build-release.bat` for release as the script will a fixed directory and delete pdb files.
## Output Location
After building with scripts:
```text
artifacts/Debug/SunnyNet.exe
artifacts/Release/SunnyNet.exe
```
After building with `dotnet build` by default:
```text
src/SunnyNet.Wpf/bin/Debug/net8.0-windows/SunnyNet.exe
src/SunnyNet.Wpf/bin/Release/net8.0-windows/SunnyNet.exe
```
The main program will load the Go backend DLL same directory:
```text
backend/SunnyNetBridge.dll
```
If MCP is enabled, it will also load:
```text
mcp/sunnynet-mcp.exe
```
## Release Packaging process:
```bat
build-release```
Then compress the into a ziptext
artifacts/
```
Recommended naming:
```text
Sunnypf-v0.1.6-win-x64.zip
Frequently Asked Questions
If it prompts that Zig cannot be found:
- Confirm that `` can be executedShell.
- Or the local path `_toolchain-x86_64-windows.15.2/zig.exe` exists.
If backend DLL is not generated that Go 24.x is installed.
- Confirm that Zig is available.
that the `third_party/SunnyNet` directory exists Rerun `build` or `build-release.bat`.
If the MCP file appear in the compilation product:
- First compile the MCP target of `sunnymcptool that `scptool/buildunnynet-mcp.
- R `build-debug.bat`build-release.bat`.
- `docs Tool List.md`: version supports MCP tool, return field description.
License
The SunnyNet WPF version adopts the MIT protocol open source. You can freely use, copy, modify, merge, distribute, or secondarily develop this project, need to retain the original protocol statement.
This project is only used for legal network debugging, interface analysis, testing, and technical research scenarios. Please do not use this tool for unauthorized packet capture, bypassing access control, attacks, or other illegal purposes.
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.