A flexible and configurable proxy server.
- HTTP Proxy: A standard HTTP proxy with optional authentication.
- SOCKS5 Proxy: A SOCKS5 proxy with optional authentication.
- UDP Proxy: A stateful UDP proxy.
- mDNS Reflector: A multicast DNS reflector for cross-VLAN service discovery.
- Web UI: A web-based user interface for configuration, with support for OIDC authentication.
- Policy Engine: A policy engine to control access to the proxies.
- DNS Resolver: A DNS resolver with support for upstream servers, blocked hosts, and custom records.
To build the proxy gateway from source, you need to have Go installed. You can then run the following command to build the binary:
go build -o proxy-gateway ./cmd/gateway
Once you have built the binary, you can generate a default configuration file:
./proxy-gateway -generate-config > config.yaml
Then, you can run the proxy gateway with the following command:
./proxy-gateway -config config.yaml
The proxy server is configured using a YAML file. An example configuration file is provided as config.yaml. The configuration is split into the following main sections:
log_level: "debug", "info", "warn", "error", "fatal", "panic"web_address: Address and port for the web UI.session_secret_key: A secret key for session management.tls: Configuration for automatic TLS certificates using ACME.self_signed: Configuration for self-signed TLS certificates.dns: Configuration for the DNS resolver.proxies: A list of proxy configurations (HTTP, SOCKS5, etc.).oidc: Configuration for OpenID Connect (OIDC) authentication for the web UI.groups: Definitions of client groups for use in policies.
The proxy gateway provides a web-based user interface for configuration.
Pre-built binaries for Linux, Windows, and macOS are available on the GitHub Releases page.
