iroh-ssh 0.2.10

ssh without ip
Documentation
mod cli;
mod service;
mod ssh;

use std::path::PathBuf;

use ed25519_dalek::{PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH};
use iroh::{Endpoint, RelayUrl, protocol::Router};

pub mod api;

pub use cli::*;
pub use service::Service;
pub use service::ServiceParams;
pub use service::{install_service, run_service, uninstall_service};
pub use ssh::dot_ssh;

#[derive(Debug, Clone)]
pub struct IrohSsh {
    #[allow(dead_code)]
    pub(crate) secret_key: [u8; SECRET_KEY_LENGTH],
    #[allow(dead_code)]
    pub(crate) public_key: [u8; PUBLIC_KEY_LENGTH],
    pub(crate) inner: Option<Inner>,
    pub(crate) ssh_port: u16,
}

#[derive(Debug, Clone)]
pub(crate) struct Inner {
    pub endpoint: Endpoint,
    #[allow(dead_code)]
    pub router: Router,
}

#[derive(Debug, Clone)]
pub struct Builder {
    secret_key: [u8; SECRET_KEY_LENGTH],
    accept_incoming: bool,
    accept_port: Option<u16>,
    key_dir: Option<PathBuf>,
    relay_urls: Vec<RelayUrl>,
    extra_relay_urls: Vec<RelayUrl>,
}