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