Configuration Field Reference#


This reference lists user-writable fields by configuration block. It is not a recommended configuration template, but a manual for looking up field meanings and effects. Whether a field ultimately takes effect also depends on the platform, protocol type, and combination constraints. If a field is not supported by the current protocol/platform, Link1 reports an error during configuration compilation.

Top-Level Fields#

FieldMeaningActual effect
portHTTP explicit proxy portAccepts only HTTP proxy requests; clients must explicitly configure an HTTP proxy.
socks-portSOCKS5 explicit proxy portAccepts only SOCKS5 requests; whether domain names are passed to Link1 depends on the client.
redir-portLinux REDIRECT transparent proxy portRequires iptables/nftables to forward TCP traffic.
tproxy-portLinux TPROXY transparent proxy portRequires Linux policy routing; suitable for TCP/UDP transparent proxying.
mixed-portMixed HTTP/SOCKS5 proxy portThe most recommended entry point for beginners; one port serves both HTTP proxy and SOCKS5.
allow-lanAllow LAN accessMore secure when false; when true, other devices can connect to Link1 listening ports.
bind-addressListen bind address127.0.0.1 is local-only; */0.0.0.0 opens on all network interfaces.
authenticationInbound username and passwordHTTP/SOCKS clients must authenticate, usually in the format user:pass.
skip-auth-prefixesSource IP prefixes that skip authenticationExempts trusted local/inner-network sources from authentication.
lan-allowed-ipsAllowed LAN source IPsReduces the LAN exposure surface.
lan-disallowed-ipsDenied LAN source IPsExcludes untrusted devices.
modeRouting modeCommonly rule; affects default routing behavior.
unified-delayUnified delay metricAffects the statistics used for health checks and delay display.
log-levelLog levelControls output verbosity; can be temporarily raised for troubleshooting.
ipv6Global IPv6 switchAffects outbound and DNS IPv6 availability.
find-process-modeProcess lookup modeAffects whether PROCESS/UID rules can obtain process metadata.
ruleset-membership-cache-sizeRule set membership cache sizeImproves RULE-SET matching performance; too large increases memory usage.
interface-nameGlobal outbound network interfaceUsed as the default network interface binding for supported protocols.
routing-markGlobal Linux routing markUsed as the default mark for supported protocols.
inbound-tfoInbound TCP Fast OpenReduces inbound TCP handshake overhead on supported platforms.
inbound-mptcpInbound MPTCPEnables Multipath TCP on supported platforms.
ss-configShadowsocks template import compatibility fieldTemplate import is not implemented; the configuration is rejected.
vmess-configVMess template import compatibility fieldTemplate import is not implemented; the configuration is rejected.
geo-auto-updateAutomatically update Geo dataWhen enabled, updates GeoIP/GeoSite/ASN resources at the configured interval.
geo-update-intervalGeo update intervalUnit: hours; affects automatic update frequency.
geodata-modeGeoData modeEnables GeoIP/GeoSite data mode.
geodata-loaderGeoData loaderSupports memconservative/memc.
geosite-matcherGeoSite matcherSupports mph, hybrid, and succinct; default is mph.
geox-urlGeo resource URLsSpecifies geoip/mmdb/asn/geosite download URLs.
global-client-fingerprintGlobal TLS fingerprintUsed as the default ClientHello fingerprint for supported protocols.
global-uaGlobal User-AgentUsed as the default UA for HTTP clients such as provider fetching.
etag-supportHTTP provider ETag supportReduces repeated downloads; works with Last-Modified/cache.
disable-keep-aliveDisable HTTP keep-aliveAffects connection reuse for providers/HTTP clients.
keep-alive-idleTCP keepalive idleControls how long a connection is idle before keepalive starts.
keep-alive-intervalTCP keepalive intervalControls the interval between keepalive probes.
profileState persistence configurationControls whether selections and Fake-IP are persisted.
tlsGlobal TLS service configurationServer-side TLS materials for listeners and other services.
experimentalExperimental switchesAffects advanced behaviors such as QUIC/GSO/ECN/IP4P.
ntpNTP configurationUsed for time synchronization-related capabilities.
iptablesiptables helper configurationUsed in router/transparent proxy scenarios.
tuic-serverTUIC server compatibility fieldNot supported; the configuration is rejected.
clash-for-androidAndroid compatibility configurationMobile/compatibility display fields.
tunnelsTunnel compatibility fieldNot supported; the configuration is rejected.
listenersProtocol server listenersDeclares inbound services such as VLESS/Hysteria2.
tunTUN inbound configurationUses a virtual network interface to take over system traffic.
app-proxyApplication transparent proxyDesktop entry point for transparent takeover by application/process.
snifferSniffing configurationRecovers domain names from HTTP/TLS/QUIC traffic.
rulesRouting rulesDetermines the connection outbound in order.
sub-rulesSub-rulesReuses or segments rule execution flows.
rule-setsInline/resolved rule setsReferenced by RULE-SET, TUN route sets, and similar features.
rule-providersRule providersLoads rule sets from HTTP/File/Inline.
proxy-providersProxy providersGenerates nodes from subscriptions, files, inline definitions, or WARP.
hosts-providershosts providersLoads hosts from external sources.
proxiesStatic outbound nodesManually defined nodes.
proxy-groupsProxy groupsCombines nodes and selects an outbound.
hostsStatic hostsFixed mappings from domain names to IP addresses.
dnsDNS configurationResolution, Fake-IP, and DNS routing.
http-engineHTTP EngineMITM, rewrite, Mock, and Capture.
device-discoveryDevice discoveryEnriches source IPs with LAN device information.

geox-url Fields#

FieldMeaningActual effect
geoipGeoIP dat URLAffects the data source for GEOIP rules.
mmdbMMDB URLAffects the data source for GeoIP/mmdb.
asnASN mmdb URLAffects IP-ASN/SRC-IP-ASN.
geositeGeoSite dat URLAffects GEOSITE rules.

profile Fields#

FieldMeaningActual effect
store-selectedPersist proxy group selectionsRestores select group selections after restart.
store-fake-ipPersist Fake-IP mappingsTries to keep domain-IP mappings after restart.

tls Fields#

FieldMeaningActual effect
certificateServer certificateUsed by listeners or other server-side TLS services.
private-keyServer private keyMust match the certificate.
client-auth-typeClient certificate authentication typeUsed in mTLS scenarios.
client-auth-certClient CA/certificatemTLS verification.
ech-keyECH keyECH server capability.
custom-certifactesCustom trusted certificatesField name keeps the compatible spelling.

experimental Fields#

FieldMeaningPractical impact
dialer-ip4p-convertEnable IP4P conversionExperimental dialing behavior.

ntp Fields#

FieldMeaningPractical impact
enableEnable NTPRelated to time synchronization.
serverNTP serverTarget server.
portNTP portCommon default for NTP is 123.
intervalSync intervalAffects sync frequency.
dialer-proxyOutbound used by NTPAccess NTP through the specified proxy.
write-to-systemWrite to system timeRequires permissions and affects the system clock.

iptables Fields#

FieldMeaningPractical impact
enableEnable iptables helperHelper configuration for transparent proxying.
inbound-interfaceInbound interfaceSpecifies which interface to take over traffic from.
bypassBypass addressesDo not enter the transparent proxy.
dns-redirectDNS redirectRedirect DNS queries to Link1.

clash-for-android Fields#

FieldMeaningPractical impact
append-system-dnsAppend system DNSAndroid compatibility behavior.
ui-subtitle-patternUI subtitle templateUsed for display.

dns Fields#

FieldMeaningPractical impact
enableEnable DNSWhen disabled, DNS/Fake-IP does not take effect.
prefer-h3Prefer HTTP/3 for DoHAffects https:// DNS upstreams.
listenDNS listen addressUsed for queries from the system/router/TUN DNS hijack.
ipv6DNS IPv6Returns AAAA records; also affected by global IPv6.
ipv6-timeoutIPv6 query timeoutWait time for dual-stack resolution, in milliseconds.
enhanced-modeEnhanced modenormal or fake-ip.
fake-ip-rangeIPv4 Fake-IP poolRestores domains for transparent proxying.
fake-ip-range6IPv6 Fake-IP poolIPv6 Fake-IP.
fake-ip-filterFake-IP exclusion listReturns real IPs for matched domains.
fake-ip-filter-modeFake-IP filter modeUsually blacklist.
fake-ip-ttlFake-IP TTLAffects client cache.
fallbackFallback DNSUsed with fallback-filter.
fallback-filterfallback conditionsDetermines when to use fallback.
cache-algorithmCache algorithmAffects DNS cache eviction.
cache-max-sizeCache sizeAffects memory usage and hit rate.
default-nameserverbootstrap DNSResolves the domains of DoH/DoT upstreams themselves.
nameserverDefault DNSUpstream for normal resolution.
proxy-server-nameserverProxy server DNSResolves proxies[].server.
proxy-server-nameserver-policyProxy server DNS policySpecifies proxy server DNS by domain.
direct-nameserverDirect DNSResolution for the direct path.
direct-nameserver-follow-policydirect DNS follows policyAffects DNS routing for direct domains.
respect-rulesDNS respects rulesMakes the DNS query outbound closer to the final route.
use-hostsUse configured hostsEnables top-level hosts.
use-system-hostsUse system hostsEnables the system hosts file.
nameserver-policyDNS routing policySpecifies DNS by domain/geosite/rule-set.

dns.fallback-filter Fields#

FieldMeaningPractical impact
geoipMatch by GeoIPUses fallback when the returned IP does not match geoip-code.
geoip-codeGeoIP codeCommon default is CN.
geositeGeoSite conditionTriggers when the domain belongs to a category.
domainDomain conditionTriggers when the domain pattern is matched.
ipcidrIP CIDR conditionTriggers when the returned IP falls within the subnet.

tun Fields#

FieldMeaningPractical impact
enableEnable TUNCreates/uses a virtual network interface.
backendTUN backendauto/native/packet-tunnel.
stackTUN protocol stacklight by default; gvisor keeps the legacy gVisor stack.
auto-routeAuto routeRoutes system traffic into TUN.
auto-redirectAuto redirectHelper for transparent takeover on Linux/Android.
auto-redirect-input-markInbound markUsed by auto-redirect.
auto-redirect-output-markOutbound markUsed by auto-redirect.
auto-redirect-iproute2-fallback-rule-indexfallback rule indexMust be smaller than iproute2-rule-index.
auto-detect-interfaceAuto-detect interfaceReduces the need to manually specify the outbound interface.
dns-hijackDNS hijack rulesRoutes DNS queries into Link1.
deviceTUN device nameCommonly used with the native backend.
mtuMTUDefault is 1500; affects fragmentation and throughput.
strict-routeStrict routeReduces leak risk, but may affect LAN access.
loopback-addressLoopback address listloopback IP only.
gsoEnable GSOLinux data-plane performance optimization.
gso-max-sizeMaximum GSO sizeRequires gso=true.
udp-timeoutUDP timeoutDefault is 300 seconds.
disable-icmp-forwardingDisable ICMP forwardingAffects ping/ICMP behavior.
file-descriptorExternally passed fdFor platform integration scenarios.
recvmsgxDarwin recvmsgxDarwin stack optimization.
sendmsgxDarwin sendmsgxDarwin stack optimization.
iproute2-table-indexRouting table IDLinux policy routing.
iproute2-rule-indexrule priorityLinux policy routing.
endpoint-independent-natEndpoint-independent NATChanges UDP NAT reuse.
route-address-setTakeover rule setReferences an ipcidr rule-set.
route-exclude-address-setExclusion rule setReferences an ipcidr rule-set.
route-addressTakeover CIDROnly take over these subnets.
route-exclude-addressExcluded CIDRProtects LAN/reserved addresses.
include-interfaceInclude interfacesSelects which interfaces' traffic enters TUN.
exclude-interfaceExclude interfacesSelects which interfaces' traffic does not enter TUN.
include-uidInclude UIDLinux/Android.
include-uid-rangeInclude UID rangeFormat: start:end.
exclude-uidExclude UIDLinux/Android.
exclude-uid-rangeExclude UID rangeFormat: start:end.
exclude-src-portExclude source portsPort list.
exclude-src-port-rangeExclude source port rangeFormat: start:end.
exclude-dst-portExclude destination portsPort list.
exclude-dst-port-rangeExclude destination port rangeFormat: start:end.
include-android-userInclude Android userAndroid only.
include-packageInclude package namesAndroid only.
exclude-packageExclude package namesAndroid only.
inet4-addressTUN IPv4 addressCan be derived from Fake-IP when empty.
inet6-addressTUN IPv6 addressIPv6 TUN address.
inet4-route-addressIPv4 takeover routesIPv4 only.
inet6-route-addressIPv6 takeover routesIPv6 only.
inet4-route-exclude-addressIPv4 excluded routesIPv4 only.
inet6-route-exclude-addressIPv6 excluded routesIPv6 only.

sniffer Fields#

FieldMeaningPractical Effect
enableEnable sniffingHTTP/TLS/QUIC domain recognition.
override-destinationOverride destinationControls whether a sniffed domain rewrites the actual outbound destination; when disabled, the sniffed domain can still be recorded for rules/observability.
force-dns-mappingForce DNS mappingRestores domains together with Fake-IP/DNS.
parse-pure-ipParse pure IPAttempts processing for IP targets.
sniffingCompatible enable listDeclares HTTP/TLS/QUIC.
port-whitelistPort allowlistSniffs only specified ports.
sniffPer-protocol configurationHTTP/TLS/QUIC sub-configuration.
force-domainForce domainsDomain patterns that force sniffing even when a target host already exists; does not bypass override-destination.
skip-domainSkip domainsDomains not to sniff/override.
skip-src-addressSkip source addressesSkips by source IP prefix.
skip-dst-addressSkip destination addressesSkips by destination IP prefix.

sniffer.sniff.* Fields#

FieldMeaningPractical Effect
portsPort listSpecifies sniffing ports for this protocol.
override-destinationProtocol-level overrideOverrides the global override-destination.

hosts-providers.* Fields#

FieldMeaningPractical Effect
typeprovider typehttp or file.
pathLocal pathUsed for file reads or http cache.
urlHTTP URLDownload URL for an http provider.
intervalRefresh intervalIn seconds.
dialer-proxyDownload outboundUses the specified proxy to fetch.
proxyCompatible field for download outboundSame purpose.
headerHTTP request headersAuthentication/UA.
size-limitSize limitLimits the response body.

rule-providers.* Fields#

FieldMeaningPractical Effect
typeprovider typehttp/file/inline.
behaviorRule behaviordomain/ipcidr/classical.
formatFormatyaml/text/mrs.
urlHTTP URLDownload for an http provider.
pathLocal pathFile or cache.
intervalRefresh intervalIn seconds.
proxyDownload outboundSpecifies the outbound used to fetch the provider.
headerHTTP request headersAuthentication/UA.
payloadInline rulesUsed by inline.
size-limitSize limitLimits downloaded content.

Common proxies[] Fields#

FieldMeaningPractical Effect
nameNode nameReferenced by rules, proxy groups, dialer-proxy, and dynamic DNS schemes.
typeNode typeDetermines the semantics of subsequent fields; see the outbound protocols section for common values.
server / portUpstream addressRemote proxy, VPN, or tunnel endpoint.
udpUDP capability switchEnables/disables UDP forwarding for protocols that support UDP.
dialer-proxyUpstream dialer outboundConnects this node to its own upstream through another outbound first; if the capability is invalid, compilation fails instead of being silently ignored.
interface-name / routing-markUnderlying socket bindingUsed only when dialing the upstream directly; some protocols disallow these fields after dialer-proxy is set.
ip-versionIP family preference for resolution/dialingTakes effect only for protocols that support this socket option.
tfo / mptcpTCP socket capabilitiesTakes effect only when both the platform and protocol support them.
skip-cert-verifySkip certificate verificationUsed by TLS/QUIC protocols; use with caution in production.
sni / servernameTLS nameChanges the upstream TLS/QUIC handshake domain.
alpnALPN listAffects HTTP/2, HTTP/3, or protocol negotiation.
client-fingerprint / fingerprintTLS fingerprintAffects ClientHello or certificate fingerprint verification; requires protocol support.

L3/VPN Fields for proxies[]#

FieldApplicable TypesPractical Effect
remote-dns-resolvewireguard, masque, tailscale, openvpn, atrust, feilian, easyconnectDefaults to true. When the target is still a domain, DNS resolution is preferably performed by the VPN/tunnel runtime; if there is no pushed/configured DNS, an error is reported instead of silently falling back to local DNS.
dnswireguard, masque, openvpn, etc.Manually specifies in-tunnel DNS; for OpenVPN, DNS pushed by the server overrides the manual value.
route-rule-settailscale, openvpn, enterprise VPNExposes a dynamic route rule set; defaults to $<proxy-name> if not explicitly configured.
auto-routetailscale, openvpn, enterprise VPNDefaults to true; automatically inserts the dynamic RULE-SET before MATCH.
accept-routestailscaleWhether to accept routes distributed by the tailnet control plane. Defaults to true.
exit-nodetailscaleUses the specified Tailscale exit node.
exit-node-allow-lan-accesstailscalePreserves local LAN access when using an exit node.
state-dirtailscaleUses a file-based state directory; if unset, the Link1 state store is used.
control-urltailscaleTailscale/Headscale control-plane URL.
ip / ipv6wireguard, masque, openvpnLocal tunnel address.
allowed-ips / peerswireguardWireGuard peer routes and peer list.
reserved.bytesWARP WireGuardWARP reserved bytes.
remotes[]openvpnMultiple OpenVPN remote candidates.
tls-auth / tls-crypt / tls-crypt-v2openvpnOpenVPN control-channel protection; the three are mutually exclusive.

Transport and QUIC Fields for proxies[]#

FieldApplicable TypesPractical Effect
networkVMess/VLESS/Trojan/MASQUE, etc.Selects the underlying transport; MASQUE supports h3/http3/quic and h2/http2.
http-opts / ws-opts / h2-opts / grpc-opts / xhttp-optsVMess/VLESS/Trojan, etc.Corresponding HTTP/WebSocket/HTTP2/gRPC/xHTTP transport parameters.
reality-opts / ech-optsTLS protocolsREALITY / ECH configuration.
congestion-controllerQUIC/MASQUE/TrustTunnel/TUIC, etc.QUIC congestion control; common values are cubic, new_reno, bbr, and brutal.
bbr-profileQUIC protocols that support BBRBBR parameter profile: standard, conservative, aggressive; requires or automatically selects congestion-controller=bbr, and reports an error if protocol restrictions are not met.
cwndQUIC/MASQUE/TrustTunnel/TUIC, etc.Initial congestion window.
up / downHysteria/TUIC/MASQUE brutal, etc.Bandwidth hints or input for brutal congestion control.
handshake-modeMASQUE/WARP MASQUEMASQUE handshake compatibility mode; regular MASQUE supports strict/compat, while WARP manual top-level does not.
mtuL3/QUIC tunnelsTunnel MTU.
realm-optshysteria2 outbound and Hysteria2 listenerRealm forwarding configuration; requires server-url, token, realm-id, and stun-servers, and cannot be used with ports.

proxies[].realm-opts Fields#

FieldMeaningActual effect
enableEnable RealmValidates against the Realm configuration when true or when any subfield is non-empty.
server-urlRealm service URLControl plane address; required.
tokenRealm tokenAuthentication token; required.
realm-idRealm IDSelects a specific realm; required.
stun-serversSTUN serversAt least one is required, used for NAT detection/negotiation.
sniRealm TLS SNITLS name for the Realm control plane.
skip-cert-verifySkip Realm certificate verificationUse only for debugging or controlled environments.
fingerprintRealm certificate fingerprintCertificate pinning.
certificate / private-keyRealm client certificateConfigure as a pair.
alpnRealm ALPNRealm TLS negotiation.
proxyRealm control plane egressEgress used to access the Realm control plane; not the same as the node's own dialer-proxy.

proxy-groups[] Fields#

FieldMeaningActual effect
nameGroup nameReferenced by rules.
typeGroup typeselect/url-test/smart/fallback/load-balance/relay.
proxiesMember nodesStatic references.
useReferenced providerImports provider nodes.
urlProbe URLHealth check.
intervalProbe intervalSeconds.
timeoutProbe timeoutMilliseconds.
lazyLazy probingProbe only when needed.
max-failed-timesFailure thresholdAffects availability.
disable-udpDisable UDPDisables UDP at the group level.
interface-nameBind network interfaceDefault socket option for group members.
routing-markrouting markLinux policy routing.
include-allInclude all nodesStatic + provider.
include-all-proxiesInclude all static nodesExcludes providers.
include-all-providersInclude all provider nodesExcludes static nodes.
filterMember filterKeep by name regex.
exclude-filterMember exclusionExclude by name regex.
exclude-typeType exclusionExclude by protocol type.
expected-statusExpected status codeHealth check success condition.
health-checkNested health checkOverrides url/interval/timeout/lazy/expected-status.
hiddenHide in UIFor display purposes.
iconUI iconFor display purposes.
toleranceLatency toleranceDebouncing for url-test.
strategyLoad strategyUsed by load-balance.

proxy-groups[].health-check Fields#

FieldMeaningActual effect
urlProbe URLDefaults to http://www.gstatic.com/generate_204.
intervalProbe intervalDefaults to 300 seconds.
timeoutProbe timeoutDefaults to 5000 milliseconds.
lazyLazy probingProbe only when needed.
expected-statusExpected status codeCan be 204 or range semantics.

http-engine Fields#

FieldMeaningActual effect
enabledEnable HTTP EngineRules do not run when disabled.
defaultsDefault limitsDefault values for body/JQ/script.
mitmMITM configurationHTTPS decryption.
force-http-engineForce-processing listSends specific hosts/patterns to HTTP Engine.
downstream-h3-proxyDownstream H3 proxyAffects HTTP/3 from clients to Link1.
upstream-h3Upstream H3 policyoff/hinted/aggressive.
captureCapture configurationRecords flow/body.
scriptsScript sourcesReferenced by QuickJS rules.
rulesRule setURL/Header/Body/JSON/JQ/Script/Mock/Route.

Nested http-engine Fields#

FieldMeaningActual effect
defaults.body-max-sizeDefault body limitDo not read/process beyond this limit.
defaults.jq-timeoutDefault JQ timeoutLimits JQ execution.
defaults.script-timeoutDefault script timeoutLimits QuickJS execution.
defaults.script-memory-limitDefault script memoryLimits QuickJS memory.
defaults.on-errorDefault error policyfail-open or fail-closed.
mitm.enabledEnable MITMDecrypts matching HTTPS traffic.
mitm.ca-certCA certificate sourcefile/inline/managed.
mitm.ca-keyCA private key sourcefile/inline/managed.
mitm.hostsMITM host listDecrypts only matched hosts.
mitm.h2Enable H2Leaf certificates/downstream HTTP/2.
mitm.leaf-cache-max-entriesNumber of cached leaf certificatesReduces certificate generation overhead.
capture.enabledEnable captureRecords HTTP flows.
capture.max-flowsMaximum number of flowsControls memory usage.
capture.body-preview-bytesBody preview sizeShown in lists.
capture.store-full-bodySave full bodyConsumes disk space.
capture.full-body-max-bytesFull body limitLimits size written to disk.
capture.spool-dirSpool directoryLocation where bodies are written to disk.
scripts.nameScript nameReferenced by rules.
scripts.sourceScript sourcefile/inline/inline-base64.
source.fileFile sourceReads text/script from a file.
source.inlineInline textWrites content directly.
source.inline-base64base64 textSuitable for binary data/special characters.
pem.filePEM fileCertificate/private key file.
pem.inline-pemInline PEMWrites PEM directly.
pem.inline-base64base64 PEMbase64-encoded PEM.
pem.managedApp-managed CA IDFor example ca-managed; created, saved, and referenced by the Link1 App.

http-engine.rules.*.match Fields#

FieldMeaningActual effect
viewView/stageMatches by HTTP Engine view.
urlExact URL matchMatches the full URL.
url-regexURL regexRegex match on the full URL.
schemescheme listhttp/https.
hostHost matchTarget host.
pathPath matchRequest path.
path-regexPath regexRegex path.
queryquery matchURL query.
query-regexquery regexRegex query.
methodMethod listGET/POST, etc.
content-typeContent-TypeBy content type.
user-agentUser-AgentExact/list.
user-agent-regexUser-Agent regexRegex UA.
headerheader matchBy header value.
header-regexheader regexBy header regex.
cookiecookie matchBy cookie.
cookie-regexcookie regexBy cookie regex.
protocolProtocolHTTP protocol/version.
entry-pointEntry pointBy inbound entry point.

http-engine.rules Fields#

FieldMeaningPractical effect
url-rewriteURL rewrite rulesrewrite/redirect/reject.
header-rewriteHeader rewriteRequest/response header operations.
body-rewriteBody text rewriteString or regex replacement.
json-transformJSON transformStructured JSON modification.
jqJQ rulesProcess JSON with JQ expressions.
scriptQuickJS rulesRun scripts to process requests/responses.
mockMock responseReturn a fake response directly.
routeHTTP route markerMarks an outbound for an HTTP flow entering HTTP Engine.

http-engine Rule Action Fields#

FieldMeaningPractical effect
nameRule nameUsed for identification and logs.
directionDirectionrequest or response.
actionActionUsed by URL rewrite.
operationsOperation listUsed by header/body rules.
opOperation typeset/del/replace, etc.
keyheader keyHeader operation.
valueValueSetting/JSON value.
patternRegexreplace-regex.
replacementReplacement valuereplace-regex/rewrite.
fromOriginal textbody replace.
toNew textbody replace.
require-bodyRequire bodyHow to handle when there is no body.
max-sizeMaximum body sizeDo not process if exceeded.
on-errorError policyfail-open/fail-closed.
whenJSON predicateExecute only when matched.
opsJSON sub-operationsJSON transform.
pathJSON path or URL pathDepends on context.
eqEqualsJSON predicate.
neqNot equalJSON predicate.
inIn listJSON predicate.
not-inNot in listJSON predicate.
existsExistence checkJSON predicate.
fieldArray element fieldfilter-array where.
allAll conditionsNested where.
equalsCurrent value comparisonreplace-if-eq.
expressionJQ expressionJQ rules.
variablesJQ variablesPassed into the expression.
engineScript enginequickjs.
scriptScript nameReferences scripts.
binary-body-modeBinary bodyScript rules.
timeoutTimeoutJQ/script.
memory-limitMemory limitscript.
argumentsScript argumentsmap string.
responseMock responsestatus/headers/body.
statusHTTP status codeURL redirect/mock.
headersHTTP headersMock response.
bodyInline bodyMock.
body-filebody fileMock.
body-base64base64 bodyMock.
tiny-giftiny gifMock image placeholder.
outboundOutbound nameroute rule.
typeAction typeURL rewrite action.
locationRedirect addressredirect.

device-discovery Fields#

FieldMeaningPractical effect
enableEnable device discoveryAdds device information for connection source IPs.
passive-listenPassive listeningDiscovers devices through weak signals such as ARP/mDNS/SSDP/NetBIOS.
active-probeActive probingActively probes LAN devices.
weak-hintsWeak hintsAllows device hints that are not strongly confirmed.
cacheCache configurationControls device/address TTL and counts.
probeProbe configurationControls concurrency, timeout, and minimum interval.
interfacesInterface filteringSpecifies included/excluded network interfaces.

device-discovery.cache Fields#

FieldMeaningPractical effect
max-devicesMaximum devicesLimits memory usage.
max-addressesMaximum addressesLimits addresses per device.
device-ttlDevice TTLExpiration time for device information.
address-ttlAddress TTLExpiration time for address bindings.

device-discovery.probe Fields#

FieldMeaningPractical effect
min-gapMinimum probe intervalAvoids frequent probing.
timeoutProbe timeoutWait time for a single probe.
concurrencyConcurrencyControls probe load.

device-discovery.interfaces Fields#

FieldMeaningPractical effect
includeIncluded interfacesDiscover only on these interfaces.
excludeExcluded interfacesSkip these interfaces.