mirror of
https://github.com/neon443/ShhShell.git
synced 2026-03-11 13:26:16 +00:00
added name to host removed hostkey from connectionview as its in keys now fix crash on force unrap in keypair navigatoin labels added hostinvalid() to check if the host is invalid added case notconnected for keyerror openshell is throwing moved stuff round
76 lines
1.4 KiB
Swift
76 lines
1.4 KiB
Swift
//
|
|
// Host.swift
|
|
// ShhShell
|
|
//
|
|
// Created by neon443 on 08/06/2025.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
protocol HostPr: Codable, Identifiable, Equatable {
|
|
var id: UUID { get set }
|
|
var name: String { get set }
|
|
var address: String { get set }
|
|
var port: Int { get set }
|
|
var username: String { get set }
|
|
var password: String { get set }
|
|
var publicKey: Data? { get set }
|
|
var privateKey: Data? { get set }
|
|
var passphrase: String { get set }
|
|
var key: String? { get set }
|
|
}
|
|
|
|
struct Host: HostPr {
|
|
var id = UUID()
|
|
var name: String = ""
|
|
var address: String = ""
|
|
var port: Int
|
|
var username: String
|
|
var password: String
|
|
var publicKey: Data?
|
|
var privateKey: Data?
|
|
var passphrase: String = ""
|
|
var key: String?
|
|
|
|
init(
|
|
name: String = "",
|
|
address: String,
|
|
port: Int = 22,
|
|
username: String = "",
|
|
password: String = "",
|
|
publicKey: Data? = nil,
|
|
privateKey: Data? = nil,
|
|
passphrase: String = "",
|
|
hostkey: String? = nil
|
|
) {
|
|
self.name = name
|
|
self.address = address
|
|
self.port = port
|
|
self.username = username
|
|
self.password = password
|
|
self.publicKey = publicKey
|
|
self.privateKey = privateKey
|
|
self.passphrase = passphrase
|
|
self.key = hostkey
|
|
}
|
|
}
|
|
|
|
extension Host {
|
|
static var blank: Host {
|
|
Host(address: "")
|
|
}
|
|
static var debug: Host {
|
|
Host(
|
|
name: "name for localhost",
|
|
address: "localhost",
|
|
port: 22,
|
|
username: "neon443",
|
|
password: "password",
|
|
publicKey: nil,
|
|
privateKey: nil,
|
|
passphrase: "",
|
|
hostkey: nil
|
|
)
|
|
}
|
|
}
|