CitadelCore Versions Save

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

v4.2.5

5 years ago
  • Ensure that we copy response headers only once. It appears that response headers related to content can vanish after we've read the content stream, so to avoid this, we read just once on initial response.

  • Fixes an issue where the Headers property of HttpMessageInfo objects can be null, which causes null reference exceptions when calling various methods. Changed to always initialize this property with a valid reference, and to perform null checks when accessing internally.

v4.2.3

5 years ago
  • Upgrades core deps.
  • Enables HTTP/2 on the proxy front-end, but backend fulfillment is still HTTP/1.x.
  • Strips all compression methods from the front end.
  • Configures Kestrel for optimal throughput.
  • Ensures that headers are replaced if they exist. This ensures that client changes always apply.
  • Removes arbitrary limits, such as max length on request strings.
  • Fixes an issue where ASP.NET Core incorrectly decodes some URL's, which causes some things to randomly fail as bad requests. Google maps is an example of what suffered in previous versions.
  • Now builds out the full URL based on the raw values sent by the browser. This applies to websockets as well.
  • Adds the ability to inspect individual websocket messages.
  • Fixes an issue where the whole body inspection callback was invoked on websockets even if not requested.
  • Exempts well-defined windows-exclusive ports from packet interception.
  • Everything is now extremely fast, and stable. No more public changes or additions will be made.

v4.0.1

5 years ago
  • Changes pub API by adding the source message info object to the replay callback handler. This is for the sake of connection tracking outside the engine.
  • Changed URL retrieval to be non-encoded. I think this could cause issues as the underlying mechanics in .NET might (maybe?) double-encode our URL's without this.
  • Fixed an issue with websockets.

v3.7.4

5 years ago
  • Now uses own websocket fork.
  • Bypasses restrictions on GET requests to enable technically-illegal headers that everyone uses anyway, including Microsoft.

v3.7.2

5 years ago
  • Fixes an issue where websocket connections were not being handled correctly.

v3.7.0

5 years ago
  • Now dynamically handles HTTPS and HTTP streams on a single bound port. Clients no longer need to guess if a non-standard port connection is HTTP or HTTPS, the engine will figure this out itself.

v3.6.2

5 years ago
  • Fixes an issue where accessing content-type header could cause a null-ref exception.

v3.6.1

5 years ago
  • Fixes an issue where the convenience content-type property of HttpMessageInfo was not being set.

v3.6.0

5 years ago
  • Adds the ability for users to fulfill HTTP requests themselves.
  • Adds the ability for users to supply their own HttpClient's on a per-request basis to fulfill requests with.

v3.4.1

5 years ago
  • Adds the ability to exclude headers from being excluded. Normally forbidden headers are stripped, but now the user can control this.

  • Adds the ability to configure the proxy server in regards to dropping external proxy packets (originating from another proxy on the local machine).

  • Adds the ability to provide a custom message handler for all proxy server upstream connections. This enables you to define an upstream proxy, etc.

  • Fixes an issue where the host header is not set correctly on modification.

  • Purges singlestons from the source code. Handlers are now instance members of proxy server classes via hidden IStartup instances.