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.