Interface

An interface is a logical output for steering app traffic. For example, a 0.0.0.0/0 route to a WireGuard L3VPN sends matching IPv4 traffic through that VPN. This is not a guarantee that all address families or system-excluded traffic are protected; check effective routing.

L3VPN

Processes IP packets. WireGuard and AmneziaWG paths integrate with VPPRS without first reconstructing every packet into a proxy session. Version 2.0.0 also includes experimental Tailscale.

L4PROXY

Processes TCP/UDP sessions in the Rust proxy runtime, connected to VPPRS through in-process bridges. Supports Shadowsocks (AEAD and 2022), VMess, AnyTLS, VLESS, Trojan, HTTP, and SOCKS5; transport, encryption, and UDP support depend on the protocol and settings.

Direct (DIRECT)

Sends traffic through the current Wi-Fi or cellular network after applicable processing, without a remote VPN or proxy server. Available in Simple Mode or Rules Mode.

REJECT

Rejects TCP connections with TCP RST so apps learn of failure quickly, useful for some ad-blocking rules. For UDP it behaves like DROP.

DROP

Silently discards packets, also useful for ad blocking. Apps may have to wait for a timeout before recognizing failure.

See the profile reference for supported protocol fields.

Read this page as Markdown