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