oxdock_ssh_plugin/lib.rs
1//! Ephemeral user-space SSH for OxDock scripts.
2//!
3//! This crate exposes an `SSH` host module through the [`Engine`]
4//! facade: `SSH_SERVE` spins up a loopback SSH server with ephemeral
5//! credentials held only in memory, while `SSH_DEQUEUE` exposes each
6//! session's metadata before `SSH_PUMP_CHANNEL` bridges it through
7//! explicit DSL pipes (`SSH_ACCEPT` combines both for simple loops).
8//! No OS users, no `sshd_config`, and no Docker are involved; killing
9//! the process removes every trace.
10//!
11//! [`Engine`]: oxdock_core::Engine
12
13mod auth;
14mod bridge;
15mod funcs;
16mod keys;
17mod pty;
18mod runtime;
19mod state;
20mod types;
21mod validate;
22
23pub use funcs::{module_with, module_with_endpoints};
24use oxdock_core::HostModule;
25pub use oxdock_process::DefaultProcessManager;
26
27pub use types::{SshServerTag, SshSessionTag};
28
29/// The `SSH` host module with the default process manager.
30pub fn module() -> HostModule<DefaultProcessManager> {
31 module_with()
32}