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}