CitadelCore Versions Save

Cross platform filtering HTTP/S proxy based on .NET Standard 2.0.

v3.1.2

5 years ago
  • Adds a replay API for external filtering.
  • Inherits websocket implementation fixes by upgrading buggy third-party package.
  • Adds stream "Closed" event for inspection streams.
  • Fixes an issue where the InspectionStream object fed duplicate data back to the library user.

v3.0.14

5 years ago
  • Adds the protocol version to the message info object.
  • Makes MessageType for the message info object writeable by users. This was mistakenly set to internal previously.

v3.0.12

5 years ago
  • Upgrades bouncy castle and kestrel.
  • Fixes an issue where the status code property of the message info object is not initialized correctly.
  • Documents the fact that modifications to the message info class brings the burden of ensuring the validity of the object entirely on to the shoulders of the user.

v3.0.10

5 years ago
  • Adds process ID to the FirewallRequest class.

v3.0.8

5 years ago
  • Fixes an issue where duplicate headers were being generated.
  • Fixes an issue where user generated header values could be ignored.
  • Adds an interface to the Start mechanism of the ProxyServer class where the user can specify the total number of packet IO threads. Defaults to 0, which is auto-select for the platform specific diverter that is actually using this value.

v3.0.5

5 years ago
  • Fixes an issue where multi-value headers were not translated corrected across the proxy.
  • Removes some verbose console and log output.

v3.0.4

5 years ago
  • Fixes a critical issue introduced in 3.0.1 where a failure to modify the payload causes responses to become malformed.
  • No longer logs exceptions when inspection streams are force-closed.
  • No longer nags the user with silly warnings about header issues that are really a non-issue.

v3.0.1

5 years ago

Notice

This release has a major flaw in the way it handles non-modified HTTP responses which causes responses to become malformed. Kept for historical purposes. Use any later version to avoid this issue. This is the only release with this issue.

Release notes:

  • Major API overhaul.
  • Adds the ability to inspect streams in addition to complete payloads. It's also copy-less. This means, for example, that one could dynamically inspect video streams without interrupting or buffering the user experience. You can also terminate streams while inspecting.
  • Adds the ability to fully modify HTTP headers and bodies at-will.
  • Provides copy-less access to payloads for inspection.
  • Moves proxy constructor arguments into a configuration class for neatness.
  • No longer loads all non-ignored payloads into memory.
  • Fixes an issue where blocked responses would not actually get blocked.
  • Provides a great deal of information about connections now, which makes it possible to match requests and responses to the name of software behind the traffic by combining data in the firewall callback with data in the new HttpMessageInfo class that is now passed to library users.
  • Misc cleanup of source.

v2.3.0

5 years ago
  • Adds the ability to provide a platform-specific spoofing certificate store when creating a platform-specific ProxyServer implementation.

v2.2.5

5 years ago
  • Now uses .NET Standard 2.1.X libraries for core components like Kestrel Server and such.
  • The engine will no longer fail a certificate validation on the grounds that the CLR server could not be reached. This is the cause of many headaches, and probably the chief cause of random, mysterious SSL/TLS failures.