iroh_ssh/
lib.rs

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}