Status: maintained Applies to:
linux/Last verified: 2026-04-13 Source of truth:linux/README.md
The Linux agent enforces OpenPath policy on Debian/Ubuntu-class machines using dnsmasq, firewall rules, browser policy helpers, SSE updates, and a local operational CLI.
Supported entrypoints today:
- source installer:
linux/install.sh - APT bootstrap flow:
linux/scripts/build/apt-bootstrap.sh - package build/publish flow documented in
DEPLOYMENT.md
Quick local/source install:
cd linux
sudo ./install.shClassroom-oriented setup after install:
sudo openpath setupManaged browser requests require completed setup. Browser integration helpers
will not install or reconcile the unblock-request flow until api-url.conf,
classroom state, and a tokenized whitelist-url.conf are present.
The installed CLI exposes:
openpath statusopenpath updateopenpath testopenpath logsopenpath log [N]openpath domains [text]openpath check <domain>openpath healthopenpath forceopenpath enableopenpath disableopenpath restartopenpath setupopenpath rotate-tokenopenpath enrollopenpath self-update
Current systemd units include:
dnsmasqopenpath-dnsmasq.timeropenpath-agent-update.timerdnsmasq-watchdog.timercaptive-portal-detector.serviceopenpath-sse-listener.serviceopenpath-runtime-dependency-apply.pathopenpath-runtime-dependency-apply.service
When Firefox loads a resource dependency from an approved page, the extension can ask the local native host to queue a runtime dependency. The root-owned Linux agent validates the anchor host against the local whitelist, rejects protected or blocked hosts, writes a TTL-bounded overlay, and regenerates dnsmasq. This state is local-only and does not create remote whitelist rules.
This feature requires python3, which is already part of the OpenPath Linux package and source-install dependency set.
cd tests && bats *.bats
npm run test:installer:linux
npm run test:installer:apt
npm run test:student-policy:linuxOperator-facing deployment details live in DEPLOYMENT.md. Linux-specific diagnosis steps live in TROUBLESHOOTING.md.