Rusty Beam Plugin Registry

This registry contains all available Rusty Beam plugins with their configurations, properties, and schemas. Plugins extend server functionality through a dynamic FFI-based architecture.

Plugin Types: Core Essential functionality • Auth Authentication & authorization • Handler Request processing • Utility Supporting features • Traffic Request management

16
Total Plugins
3
Core Plugins
2
Auth Plugins
100%
FFI Compatible

Core Plugins

Core selector-handler file://./plugins/librusty_beam_selector_handler.so

Selector Handler

CSS selector-based HTML manipulation via HTTP Range headers. The foundation of Rusty Beam's unique API for dynamic content extraction.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
Core file-handler file://./plugins/librusty_beam_file_handler.so

File Handler

Static file serving with MIME type detection, security checks, and optional directory listings.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
index_file Text 0..1 Default file to serve for directory requests index_file Text (optional)
Default file to serve for directory requests (default: index.html)
hide_dotfiles Boolean 0..1 Whether to hide files starting with a dot hide_dotfiles Boolean (optional)
Whether to hide files starting with a dot (default: true)
Core websocket file://./plugins/librusty_beam_websocket.so

WebSocket

Real-time bidirectional communication with automatic document change subscriptions and DOM-aware primitives support.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
endpoint Text 0..1 WebSocket endpoint path endpoint Text (optional)
WebSocket endpoint path (default: /ws)

Authentication & Authorization

Auth basic-auth file://./plugins/librusty_beam_basic_auth.so

Basic Auth

HTTP Basic Authentication with bcrypt, SHA, and plaintext password support.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
authfile URL 1 Path to HTML file containing User schemas authfile URL *required
Path to HTML file containing User schemas
realm Text 0..1 Authentication realm name realm Text (optional)
Authentication realm name (default: Protected Area)
challenge Boolean 0..1 Whether to send authentication challenge challenge Boolean (optional)
Whether to send authentication challenge (default: true)
Auth oauth2 file://./plugins/librusty_beam_oauth2.so

OAuth2

OAuth2 authentication for user login via OAuth2 providers with session management.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
clientIdEnv Text 1 Environment variable name for OAuth2 client ID clientIdEnv Text *required
Environment variable name containing the OAuth2 client ID
clientSecretEnv Text 1 Environment variable name for OAuth2 client secret clientSecretEnv Text *required
Environment variable name containing the OAuth2 client secret
redirectUriEnv Text 1 Environment variable name for OAuth2 redirect URI redirectUriEnv Text *required
Environment variable name containing the OAuth2 redirect URI
loginPath Text 0..1 Custom login endpoint path loginPath Text (optional)
Path where login requests will be handled (defaults to /auth/{name}/login)
authfile URL 0..1 Path to HTML file for user data authfile URL (optional)
Path to HTML file for storing user sessions
Auth authorization file://./plugins/librusty_beam_authorization.so

Authorization

Role-based access control with flexible rules for paths, methods, and selectors.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
authfile URL 1 Path to HTML file containing AuthorizationRule schemas authfile URL *required
Path to HTML file containing AuthorizationRule schemas

Request Processing

Handler cors file://./plugins/librusty_beam_cors.so

CORS

Cross-Origin Resource Sharing support with configurable origins, methods, and headers.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
allowed_origins Text 0..* Allowed origin patterns allowed_origins Text (optional, multiple)
Allowed origin patterns (* for all)
allowed_methods Text 0..* Allowed HTTP methods allowed_methods Text (optional, multiple)
Allowed HTTP methods
allowed_headers Text 0..* Allowed request headers allowed_headers Text (optional, multiple)
Allowed request headers
Handler compression file://./plugins/librusty_beam_compression.so

Compression

Response compression with gzip and deflate support for bandwidth optimization.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
compression_level Number 0..1 Compression level (1-9) compression_level Number (optional)
Compression level 1-9 (default: 6)
min_size Number 0..1 Minimum size for compression min_size Number (optional)
Minimum response size to compress in bytes (default: 1024)
Handler security-headers file://./plugins/librusty_beam_security_headers.so

Security Headers

Security headers including CSP, HSTS, X-Frame-Options, and other security policies.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
csp_policy Text 0..1 Content Security Policy directive csp_policy Text (optional)
Content Security Policy directive
hsts_max_age Number 0..1 HSTS max-age in seconds hsts_max_age Number (optional)
HSTS max-age in seconds (default: 31536000)

Traffic Management

Traffic rate-limit file://./plugins/librusty_beam_rate_limit.so

Rate Limit

Token bucket rate limiting per IP address or globally with configurable limits.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
requests_per_minute Number 0..1 Maximum requests per minute requests_per_minute Number (optional)
Maximum requests per minute (default: 60)
burst_size Number 0..1 Token bucket burst size burst_size Number (optional)
Token bucket burst size (default: 10)
Traffic redirect file://./plugins/librusty_beam_redirect.so

Redirect

URL redirection with regex pattern matching and conditional response triggers.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
config_file URL 1 Path to HTML file containing RedirectRule schemas config_file URL *required
Path to HTML file containing RedirectRule schemas

Monitoring & Utilities

Utility access-log file://./plugins/librusty_beam_access_log.so

Access Log

Apache/NCSA Combined Log Format request logging for analytics and monitoring.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
log_file URL 0..1 Path to log file log_file URL (optional)
Path to log file (default: stdout)
format Text 0..1 Log format (combined or common) format Text (optional)
Log format: combined or common (default: combined)
Utility health-check file://./plugins/librusty_beam_health_check.so

Health Check

Health check endpoints for monitoring and load balancer integration.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
path Text 0..1 Health check endpoint path path Text (optional)
Health check endpoint path (default: /health)
response Text 0..1 Health check response body response Text (optional)
Health check response body (default: OK)
Utility error-handler file://./plugins/librusty_beam_error_handler.so

Error Handler

Custom error pages and centralized error handling with logging.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
error_pages URL 0..* Custom error page paths error_pages URL (optional, multiple)
Custom error page paths (e.g., 404.html, 500.html)
log_errors Boolean 0..1 Whether to log errors log_errors Boolean (optional)
Whether to log errors (default: true)
Utility config-reload file://./plugins/librusty_beam_config_reload.so

Config Reload

Hot configuration reload via PATCH requests for zero-downtime updates.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library

Specialized Plugins

Handler directory file://./plugins/libdirectory.so

Directory

Directory listing with customizable templates and file browsing support.

Configuration

library URL 1 Path to the plugin shared library library URL *required
Path to the plugin shared library
template URL 0..1 Custom directory listing template template URL (optional)
Custom directory listing template path
show_hidden Boolean 0..1 Show hidden files in listings show_hidden Boolean (optional)
Show hidden files in listings (default: false)

Plugin Development

All plugins are implemented as Rust crates compiled to shared libraries (.so files) and loaded via FFI. The plugin interface is defined in the rusty-beam-plugin crate.

Key requirements:

See the Plugin Development Guide for detailed instructions.