iroh_ssh/
lib.rs

1mod cli;
2mod service;
3mod ssh;
4
5use ed25519_dalek::{PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH};
6use iroh::{Endpoint, protocol::Router};
7
8pub mod api;
9
10pub use cli::*;
11pub use service::Service;
12pub use service::ServiceParams;
13pub use service::{install_service, run_service, uninstall_service};
14pub use ssh::dot_ssh;
15
16#[derive(Debug, Clone)]
17pub struct IrohSsh {
18    #[allow(dead_code)]
19    pub(crate) secret_key: [u8; SECRET_KEY_LENGTH],
20    #[allow(dead_code)]
21    pub(crate) public_key: [u8; PUBLIC_KEY_LENGTH],
22    pub(crate) inner: Option<Inner>,
23    pub(crate) ssh_port: u16,
24}
25
26#[derive(Debug, Clone)]
27pub(crate) struct Inner {
28    pub endpoint: Endpoint,
29    #[allow(dead_code)]
30    pub router: Router,
31}
32
33#[derive(Debug, Clone)]
34pub struct Builder {
35    secret_key: [u8; SECRET_KEY_LENGTH],
36    accept_incoming: bool,
37    accept_port: Option<u16>,
38}