Glossary
Runtime Target
One discovered Xray runtime selected by PID, container identity, or another stable runtime-local selector.
Runtime-Local
Scoped to one selected runtime target. The same tag or IP rule on another runtime is a different subject.
Speed Limiter Family
The product-facing identity RayLimit uses to select traffic: ip, inbound, or outbound.
Subject
The concrete runtime-scoped object a limiter request refers to, such as one runtime-local shared all-IP baseline, one runtime-local evidence-expanded all-IP selection, one specific IP, one inbound tag, or one outbound tag.
Baseline
For the IP family, the runtime-local shared all-IP default created by --ip all --rate ... or explicitly by --ip all --ip-aggregation shared --rate ....
IP Aggregation
For --ip all, the all-IP mode selected by --ip-aggregation. shared is the default. per_ip expands the current live client IP evidence into concrete specific-IP work.
Override
For the IP family, a specific --ip <ip> --rate ... rule that takes priority over the runtime-local shared baseline for that address.
Unlimited Exception
For the IP family, a specific --ip <ip> --unlimited rule that bypasses the runtime-local shared baseline for that address.
Dry-Run
The default mode where RayLimit plans and reports without mutating the host.
Execute
The explicit live-mutation mode enabled with --execute.
Observation
The host-state inspection step that checks whether the relevant tc and nftables state exists and whether it can be compared safely.
Reconcile
The process of comparing desired state to observed state and deciding whether the correct outcome is apply, no_op, replace, or remove.
Replace
A reconcile decision meaning the selected subject already has applied state, but that state differs from the desired state and needs replacement. In operator language this is the reapply path.
No-Op
A result where the observed managed state already matches the requested state, so no further change is needed.
Concrete Execution
A state where RayLimit has enough trustworthy evidence to attach traffic honestly and mutate the host.
Blocked By Design
An explicit safety verdict that stops live mutation when the current selector or observed state is not trustworthy enough.
Direct Attachment
A packet-facing tc attachment path that does not depend on an auxiliary mark-restoration backend. The IP family uses this model.
Mark-Backed Attachment
A path where nftables classifies traffic or restores marks and tc fw attaches the marked traffic to the selected class. Inbound and outbound use this model when the selector is concrete.
Managed State
The tc and related backend objects that RayLimit can attribute to one selected subject and therefore reconcile or remove conservatively.
RuntimeIdentity
The basic identity RayLimit records for a discovered runtime, including its name and detected binary basename. The binary name feeds prefix-match detection and binary-name resolution. See Runtime Targeting.
Sanaei Fork
A fork of Xray whose binaries are named sanaei* (for example sanaei-linux-amd64). RayLimit detects it through the sanaei / sanaei-core prefixes and applies fork-specific behavior, such as the StatsUserOnline requirement.
StatsService
The Xray API service that exposes traffic and connection statistics. It must be present in the config's api.services array for API-backed evidence.
StatsUserOnline
A companion Xray API service that the Sanaei fork requires (in addition to StatsService) before live online-user queries return evidence. When it is absent on a detected fork, RayLimit reports a typed StatsUserOnline service not enabled error instead of a silent no-sessions result.
Mark Attachment
The path where nftables classifies traffic or restores a packet mark and tc fw attaches the marked traffic to the selected class. Inbound and outbound use this model when the selector is concrete. Its apply path reconciles against observed state, which is what makes re-applying directions safe.
Idempotent Apply
The property that re-applying an already-satisfied limit makes no destructive change. RayLimit achieves this through reconcile-aware apply plus an execution-time backstop that treats an "already exists" managed root qdisc as success rather than an error.
Plain-Text tc Fallback
RayLimit prefers JSON (tc -j / nft -j) output but auto-detects when a binary ignores the flag and emits plain text, falling back to a plain-text parser. This keeps state inspection working on hosts whose tc/nft lack JSON support.