What is Rose?
Rose is a minimal Linux kernel compiled specifically for 404. It includes only the subsystems and modules the 404 stack requires.
Rose is the minimal Linux layer that the 404 distribution runs on.
404 needs a Linux environment on the distribution path, especially on Windows where the desktop app uses the managed Linux environment.
Rose exists so that environment stays:
- Fast
- Small
- Secure
- Focused
- Predictable
- Able to load the specific networking pieces 404 actually uses
It gives 404 a Linux path that can support lower-level networking features such as the packet shaping layer used alongside STATIC.
Components
- The boot environment
- The STATIC binary
- The lower-level packet mutation tooling used on the Linux path
- The startup logic that brings those pieces together
Rose is the Linux kernel foundation that makes the 404 distribution possible.
Support for:
- Booting the 404 distribution cleanly
- Starting STATIC from the expected boot contract
- Supporting the packet-layer mutation path on Linux
- Keeping the distribution small and focused
How Rose works with STATIC
Rose does not replace STATIC.
STATIC still owns the active profile, the proxy flow, the injected JavaScript behavior, and the local control plane.
Rose provides the Linux layer that STATIC runs on when 404 uses the distribution path.
flowchart LR
D[404 Distribution] --> R[Rose boots the minimal Linux base]
R --> S[STATIC starts inside the distribution]
S --> M[Optional Linux packet shaping path]
M --> N[Outbound network traffic]
Why this matters for normal users
Most people will never interact with Rose directly. That is fine. You are not supposed to.
What matters is what Rose makes possible:
- A small Linux environment for the distribution path
- A predictable boot path
- Lower-level network support that the normal desktop operating system path may not provide directly
Where Rose runs
Rose runs inside the Linux distribution path used by 404.
Rose is not a general cross-platform layer
It belongs to the Linux distribution path and exists to support 404's lower-level features.
What the Linux distribution path looks like
flowchart TD
A[Desktop app or operator] --> B[Linux environment starts]
B --> C[Rose provides the minimal Linux base]
C --> D[STATIC starts with active profile]
D --> E[Linux-only packet shaping path can attach]
E --> F[Traffic leaves through the Linux environment]
The important idea is that Rose is the environment the distribution relies on. It is the base that allows the rest of the Linux stack to start cleanly and stay focused.
What Rose does not do
Rose does not:
- manage accounts or subscriptions
- operate as the main proxy
- inject browser JavaScript into pages
- replace STATIC
- act as the desktop app
Rose is one layer in a larger stack.
It is most useful when it works underneath STATIC, not instead of it.
Why Rose and STATIC are separate
It may seem simpler to put everything into one layer, but these pieces solve different problems.
STATIC is best at:
- proxy behavior
- active profile state
- JavaScript and document-layer shaping
- local control-plane supervision
Rose is best at:
- providing the minimal Linux base for the distribution path
- loading only the system pieces that 404 actually needs
- supporting Linux-side networking features used by the stack
Separating those responsibilities makes the system easier to reason about.
It also means the desktop app can supervise a clear boot contract instead of mixing application logic and Linux packet logic together.
If you want the technical references
For the Linux distribution packaging view, see runtime/distro.md
For the eBPF and packet-layer details, see resources/ebpf.md
The biggest misunderstanding about Rose
The biggest misunderstanding is thinking that Rose is just a packet mutator.
That is too narrow.
Rose is the minimal Linux kernel foundation the 404 distribution uses.
The packet-shaping path is one important capability that runs on that foundation, but it is not the whole point of Rose.
The broader point is to provide a small, focused Linux environment that supports the 404 stack without carrying unnecessary system surface.
Bottom line
Rose is the minimal Linux kernel compiled specifically for 404.
It gives 404 a small Linux foundation to boot on, supports the lower-level networking features the stack needs, and provides the base environment that STATIC uses on the distribution path.