This project is actively in intial development. Use at your own risk!
A configurable forward proxy written in Go that can be configured using either JSON or environment variables.
- HTTP/HTTPS forward proxy
- HTTP/HTTPS/QUIC interception support
- Forward support (forward specific connections to socks5 proxy, upstream proxy or default connection)
- A single binary
- HTML-Filtering
msgtausch supports configuration in both JSON and HCL formats. The configuration file path can be specified via CLI or environment variable. Most options can also be set via environment variables.
For comprehensive configuration documentation, see docs/configuration.md.
- File extension determines format:
.json
for JSON,.hcl
for HCL. - For HCL, use equivalent field names (
listen-address
, etc).
This project uses Docker Bake for building and testing. Make sure you have Docker and docker buildx
installed.
The build system supports the following platforms:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64)
- Run tests and build binaries:
# Run default targets (test and build)
docker buildx bake --set=*.output=type=cacheonly --set=*.cache-from= --set=*.cache-to=
- Build a specific target:
# Only run tests
docker buildx bake test --set=*.output=type=cacheonly --set=*.cache-from= --set=*.cache-to=
# Only build binaries
docker buildx bake build --set=*.output=type=cacheonly --set=*.cache-from= --set=*.cache-to=
- Create a release:
VERSION=v1.0.0 docker buildx bake release --set=*.output=type=cacheonly --set=*.cache-from= --set=*.cache-to=
- Run simulation:
docker buildx bake simulation --set=*.output=type=cacheonly --set=*.cache-from= --set=*.cache-to=
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). This means:
- You are free to use, modify, and distribute this software
- If you distribute this software or modified versions, you must provide the source code
- Any modifications must also be licensed under the GPL-3.0
- There is no warranty for this software
See the LICENSE file for the full license text.