A program to relay, record and replay TCP trafic with or without TLS.
Find a file
2026-03-20 16:49:04 +01:00
.cargo Fixes 2025-11-05 14:17:38 +01:00
.vscode Fixes 2025-11-05 14:17:38 +01:00
src Limit number of alive tasks 2026-03-20 16:49:04 +01:00
.gitignore Initial commit 2025-10-30 13:57:15 +01:00
Cargo.lock add openssl vendored 2026-03-12 11:49:29 +01:00
Cargo.toml Clean readme, replace Arcs with leaked Boxes 2026-03-17 11:12:44 +01:00
LICENSE Initial commit 2025-10-30 13:57:15 +01:00
README.md Clean readme, replace Arcs with leaked Boxes 2026-03-17 11:12:44 +01:00
rustfmt.toml Dummy data instead of HTTP 2026-02-06 15:05:41 +01:00

netreplay

This program has two modes:

  • recording proxy: relays trafic with or without TLS and record requests and responses in clear. It is a TLS termination thus a certificate is needed.
  • trafic replay: run a client that sends the recorded requests, and a server that responds with the corresponding recorded responses. Responses are replaced with the same amount of random bytes for performance.

It relies on the server name extension in TLS (SNI). Requests without server name may not be recorded.

For experimental purpose. Do not use on an open network where security matters.

Build

Install Rust nightly.

Choose a cryptographic backend in Cargo.toml.

cargo build --release

SSLKEYLOGFILE

The SSLKEYLOGFILE environment variable can be set to a file path to which the connection secrets will be exported, enabling decrypting the traffic in Wireshark.

License

GNU AGPL v3, CopyLeft 2025-2026 Pascal Engélibert (why copyleft?)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.