Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/pythops/oryx/llms.txt

Use this file to discover all available pages before exploring further.

The Firewall section lets you define rules that block network traffic at the eBPF layer — before packets reach userspace. Rules match on IP address, port, and direction, and can be toggled on or off without being deleted. A maximum of 32 rules can be active at one time.

Rule fields

Each firewall rule has four fields:
FieldDescription
NameA human-readable label for the rule (required)
IPThe IP address to block — IPv4 or IPv6 (required)
PortA single port number (e.g. 443) or * to match all ports (required)
DirectionIngress (incoming) or Egress (outgoing)
New rules are always created in the disabled state. You must explicitly enable a rule with Space before it takes effect.

Keyboard actions

KeyAction
nOpen the form to add a new rule
eEdit the selected rule (disabled rules only)
dDelete the selected rule
SpaceToggle the selected rule between enabled and disabled
sSave all rules to ~/oryx/firewall.json
j / DownMove selection down
k / UpMove selection up

Inside the new/edit form

KeyAction
TabMove focus to the next field (Name → IP → Port → Direction)
j / DownSet Direction to Ingress (when Direction field is focused)
k / UpSet Direction to Egress (when Direction field is focused)
EnterValidate and save the rule
EscDiscard changes and close the form

Adding a rule

1

Open the new rule form

Press n. A form popup appears with four fields: Name, IP, Port, and Direction.
2

Fill in the fields

Use Tab to move between fields. Enter a name, a valid IP address, and a port number or * for all ports. Set the direction with j/k when the Direction field is focused.
3

Save the rule

Press Enter to validate and add the rule. Validation errors (empty fields, invalid IP, invalid port) are shown inline in red.
4

Enable the rule

Select the new rule and press Space to enable it. The rule is pushed to the eBPF layer and begins blocking matching traffic immediately.

Editing a rule

You can only edit a rule that is currently disabled. If you attempt to edit an enabled rule, Oryx will display a warning notification. Disable the rule first with Space, then press e.

Persisting rules

Rules exist only in memory by default. To save them across sessions, press s. Oryx writes all current rules to ~/oryx/firewall.json.
~/oryx/firewall.json
On the next launch, Oryx automatically loads rules from this file. Loaded rules are always restored in the disabled state — you must re-enable them manually.
The ~/oryx/ directory is created automatically if it does not exist. File ownership is set to the invoking sudo user, not root.

Duplicate rule validation

Oryx rejects duplicate rules. A rule is considered a duplicate if another rule with the same IP address and direction already exists with:
  • The same port number, or
  • A port of * (all ports), which would supersede any single-port rule for that IP and direction.
If a duplicate is detected, a warning notification is shown and the rule is not added.

Rule limit

The firewall section accepts a maximum of 32 rules (MAX_FIREWALL_RULES). Attempting to add a rule when the limit is reached displays a warning notification.

Build docs developers (and LLMs) love