SPR Plugins

Drop-in apps that extend your router. Run them in isolated containers or krun guests, then grant only the UI, API, and network access they need.

Beta
Privacy

Tor

Outbound-only Tor client. Exposes SOCKS5 to permitted devices, with optional transparent-proxy and DNS-over-Tor.

spr-tor
Beta
VPN

gluetun

Multi-provider outbound VPN gateway with a built-in kill switch and DNS-over-TLS. Route selected device groups through any supported provider.

spr-gluetun
Beta
VPN

Algo VPN

Deploy a personal WireGuard VPN to your own cloud account, straight from the router. Keys and configs stay on the router.

spr-algo
Beta
Proxy

WARP MASQUE

Route traffic through Cloudflare's WARP MASQUE proxy. Useful for network egress that needs a stable IP or DNS-over-HTTPS at the edge.

spr-masque
Beta
VPN

USQUE WARP TUN

TUN interface for routing traffic to MASQUE by @Diniboy1123/usque

spr-usque
Mesh

Tailscale

Join your router to a Tailscale mesh. Reach LAN devices from anywhere, with SPR gating which devices actually cross the tailnet.

spr-tailscale
Beta
Mesh

Headscale

Run the open-source Tailscale control server on your router. Your tailnet's coordination server lives on hardware you own — no cloud account required.

spr-headscale
Beta
Mesh

Nebula

Slack's open-source overlay mesh: peer-to-peer WireGuard-style networking with a lighthouse for discovery. Pinned build from upstream source.

spr-nebula
Beta
Mesh

Reticulum

A cryptography-based networking stack designed to work over anything from LoRa radios to the open internet. Run a Reticulum node on your router.

spr-reticulum
Beta
Mesh

Meshtastic

Bridge a Meshtastic LoRa node to the SPR UI. See who's on the mesh, monitor battery and SNR, send text messages — all from the router.

spr-meshtastic
Beta
Publishing

tunwg

Publish local services at public HTTPS URLs via end-to-end encrypted WireGuard tunnels, with automatic certificates. No port-forwarding.

spr-tunwg
Beta
DNS

dnscrypt-proxy

Encrypted outbound DNS on its own docker bridge. Pick resolvers, filter by protocol, and pin your upstream from SPR's UI.

spr-dnscrypt
Beta
Security

Let's Encrypt

Set up TLS certificates for private LAN services with ACME/LetsEncrypt

spr-acme
Beta
Messaging

SimpleX

Host your own SimpleX Chat relay (SMP server) on the router. Private message queues that never touch public servers, with a one-tap relay address for the app.

spr-simplex
Beta
Messaging

Nostr

Run your own Nostr relay on the router with rust-nostr. Your clients publish and read notes through a relay you control, with NIP-11 info and NIP-42 auth.

spr-nostr
Beta
Security

OpenCanary

Run believable decoy services on your network and surface unexpected probes, connections, and login attempts in SPR, with local history and optional webhooks.

spr-opencanary
Beta
Agents/AI

Herdr

Run Herdr to deploy agents in KVM on SPR.

spr-herdr
Proxy

mitmproxy

Intercept and inspect HTTPS traffic from selected devices. Ideal for reverse-engineering IoT behavior against strict egress policies.

spr-mitmproxy
Diagnostics

Wireshark

Live packet capture in the browser. Point at a device, an interface, or a VLAN, and get a Wireshark session without leaving the SPR UI.

spr-wireshark
Beta
Diagnostics

RIPE Atlas

Host a RIPE Atlas software probe. Contribute ping/traceroute/DNS/TLS measurements from your network and earn credits for your own probes.

spr-atlas
Beta
Diagnostics Proof of concept

Nexmon

Packet injection for Raspberry Pi WiFi chipsets via Nexmon. Useful for research on WiFi behavior against your own network.

spr-nexmon
Beta
AI Agent

Hermes Agent

Run Nous Research's open-source Hermes Agent in an isolated krun guest, with its full dashboard embedded in SPR and router-managed WAN and DNS access.

spr-hermes
Beta
Integrations

Home Assistant

Expose router and client state to Home Assistant. Devices, traffic, WiFi status, and speed tests become sensors and services.

home-assistant
Privacy

Vaultwarden

Self-host a lightweight Bitwarden-compatible password vault on your router, with SPR-managed settings and HTTPS certificate support.

spr-vaultwarden
+

How do they work?

Security Architecture Explained

Plugins are managed workloads that have their own network identity and runtime isolation.

User interface

Built-in UX Authentication

SPR authenticates the user and gives the plugin a short-lived session scoped to its own interface.

01
SPR user login The parent session is authenticated first.
02
Scoped session The token works only on that plugin route.
03
Sandboxed iframe The plugin never receives the user's SPR credential.

Runtime

Runtime isolation

Plugins can run in a container or in a krun virtual machine with its own Linux kernel.

krun Virtual machine A separate guest with its own Linux kernel.
Standard Container A dedicated container and network namespace.

Networking

Microsegmented network access

Each plugin gets a network identity with policy, groups, tags, and outbound policy routing managed by SPR.

Policy Groups Tags Outbound policy route

Router extensions

Scoped API access

Extend network capabilities with the SPR API.

For developers

Build a plugin

Plugins are Compose-based apps with a small plugin.json that declares an install token path, an optional web UI, and the network capabilities SPR should grant. SPR handles isolation, routing, and the reverse proxy for you.

Install plugin

Install plugin

Choose how you want to continue.

Open GitHub View the source, README, and releases

To install from a URL, open the Plugins page in your SPR interface, add a plugin, and paste the copied repository URL.