Skip to content

Releases: mqudsi/tcpproxy

tcpproxy 0.4.0

08 Oct 18:16
Compare
Choose a tag to compare
  • ECONNABORT and ECONNRESET are no longer treated as exceptional; this means the proxy just closes the other half of the connection and logs the total number of bytes trafficked in each direction (if logging is enabled with -d) without reporting any errors. (ca67fd3 and #3)
  • Dependencies have been updated
  • Logged messages updated to be easier to grok more quickly
  • Changes to the code to simplify and adopt some best practices regarding long-lived shared variables (55b654e)
  • Errors connecting to upstream are correctly logged (84ed909)

Pre-compiled static binaries for certain platforms are attached. More will come, DV.

tcpproxy 0.3.1

16 Oct 21:17
Compare
Choose a tag to compare

This is the first published/tagged release since the original 0.1.0 was released on crates.io in 2017, but the project had seen random heavy updates and refactors a few times in between. As such, this is tagged as 0.3.0 instead of 0.2.0, although in reality there probably have been at least three "major" rearchitectured releases in that time (the switch to tokio, switching from manual unwrapping and muxing of futures to rust-native async, and the upgrade from tokio 0.3 to tokio 1.x).

Some of the recent major changes:

  • The CLI has been reworked to reduce the number of required options/switches, with the remote host and port being merged into one, the listening port being randomly assigned if not specified, etc.,
  • No longer manually resolving DNS through trust-dns-resolver,
  • Half-closed connections are terminated more aggressively (see 0164ef8),
  • Support for specifying remotes as either IP addresses or DNS domain names,
  • Cancellation support to make sure upstream connections are closed if/when the client disconnects from the proxy rather than transferring data that won't be read by anyone,
  • Plenty of other under-the-hood improvements.

I'll try to be more regular with future GitHub/crates.io releases, but no promises!

The 0.3.1 release corrects an issue caused by divergent commits in master as opposed to origin/master; the only functional difference is that 0.3.1 correctly drops the unused rand dependency that was accidentally included in the 0.3.0 release.

tcpproxy 0.3.0

16 Oct 21:17
Compare
Choose a tag to compare

This is the first published/tagged release since the original 0.1.0 was released on crates.io in 2017, but the project had seen random heavy updates and refactors a few times in between. As such, this is tagged as 0.3.0 instead of 0.2.0, although in reality there probably have been at least three "major" rearchitectured releases in that time (the switch to tokio, switching from manual unwrapping and muxing of futures to rust-native async, and the upgrade from tokio 0.3 to tokio 1.x).

Some of the recent major changes:

  • The CLI has been reworked to reduce the number of required options/switches, with the remote host and port being merged into one, the listening port being randomly assigned if not specified, etc.,
  • No longer manually resolving DNS through trust-dns-resolver,
  • Half-closed connections are terminated more aggressively (see 0164ef8),
  • Support for specifying remotes as either IP addresses or DNS domain names,
  • Cancellation support to make sure upstream connections are closed if/when the client disconnects from the proxy rather than transferring data that won't be read by anyone,
  • Plenty of other under-the-hood improvements.

I'll try to be more regular with future GitHub/crates.io releases, but no promises!