Index
All Classes and Interfaces|All Packages|Constant Field Values
A
- accessLog - Variable in class net.vincent.communidirect.server.ServerLauncher
-
Records inbound connection events to the configured access log file.
- AccessLog - Class in net.vincent.communidirect.server
-
Records inbound connection events to a flat-text access log file.
- AccessLog(ServerLauncher) - Constructor for class net.vincent.communidirect.server.AccessLog
-
Constructs an
AccessLog.
B
- body - Variable in class net.vincent.communidirect.client.util.StagedMessage
-
Plaintext message body.
- buildTempFileContent(String, int) - Static method in class net.vincent.communidirect.client.util.MessageParser
-
Produces the initial content of the temp file shown to the user in the external editor.
C
- CdirMessage - Class in net.vincent.communidirect.common.proto
-
Codec for the CDIR v1 message protocol.
- ClientCore - Class in net.vincent.communidirect.client.core
-
Shared client workflows used by both GUI and terminal client modes.
- ClientCore() - Constructor for class net.vincent.communidirect.client.core.ClientCore
- ClientCore.Result - Record Class in net.vincent.communidirect.client.core
- clientHandler - Variable in class net.vincent.communidirect.server.ServerLauncher
-
Handles per-connection decoding and message persistence.
- ClientHandler - Class in net.vincent.communidirect.server
-
Handles incoming CDIR connections: accepts each socket, delegates to
CdirMessage.decode(java.io.InputStream, java.security.PrivateKey, byte[])for protocol parsing and signature verification, then persists the plaintext payload to~/.communidirect/msg/YYYYMMDD_HHMMSS_IP.msg. - ClientHandler(ServerLauncher) - Constructor for class net.vincent.communidirect.server.ClientHandler
-
Constructs a
ClientHandlerand ensures the message storage directory exists. - ClientLauncher - Class in net.vincent.communidirect.client
-
Entry point for the CommuniDirect client application.
- ClientWebhookListener - Class in net.vincent.communidirect.client.core
-
Lightweight localhost webhook server for client-side message notifications.
- ClientWebhookListener(Consumer<String>, Consumer<String>) - Constructor for class net.vincent.communidirect.client.core.ClientWebhookListener
- close() - Method in class net.vincent.communidirect.client.core.ClientWebhookListener
- composeAndStage(SettingsManager) - Method in class net.vincent.communidirect.client.core.ClientCore
- CryptoEngine - Class in net.vincent.communidirect.common.crypto
-
Core cryptographic primitives for CommuniDirect.
D
- decode(InputStream, PrivateKey, byte[]) - Static method in class net.vincent.communidirect.common.proto.CdirMessage
-
Reads one CDIR frame from
in, verifies its signature, decrypts the payload and returns a populatedCdirMessage. - decrypt(byte[]) - Method in class net.vincent.communidirect.common.crypto.KeyGate
-
Decrypts
datausing the stored key. - DEFAULT_ACCESSLOG_NAME - Static variable in class net.vincent.communidirect.common.Defaults
-
Default filename for the access log within
Defaults.DEFAULT_LOG_DIR. - DEFAULT_ERRLOG_NAME - Static variable in class net.vincent.communidirect.common.Defaults
-
Default filename for the error log within
Defaults.DEFAULT_LOG_DIR. - DEFAULT_IP - Static variable in class net.vincent.communidirect.common.Defaults
-
Default bind address (loopback).
- DEFAULT_LOG_DIR - Static variable in class net.vincent.communidirect.common.Defaults
-
Default directory (tilde-expanded at runtime) where log files are stored.
- DEFAULT_PORT - Static variable in class net.vincent.communidirect.common.Defaults
-
Default TCP port on which the server listens for incoming CDIR connections.
- Defaults - Class in net.vincent.communidirect.common
-
Application-wide default constants used when no explicit configuration is present in
~/.communidirect/config.toml. - Defaults - Class in net.vincent.communidirect.server
-
Deprecated.
- deriveLocalId(byte[]) - Static method in class net.vincent.communidirect.client.core.ClientCore
E
- encode(byte[], PrivateKey, byte[], byte[], OutputStream) - Static method in class net.vincent.communidirect.common.proto.CdirMessage
-
Encodes a plaintext
payloadinto a CDIR frame and writes it toout. - encrypt(byte[]) - Method in class net.vincent.communidirect.common.crypto.KeyGate
-
Encrypts
datausing the stored key (XOR cipher). - ensureDirectories() - Method in class net.vincent.communidirect.client.core.ClientCore
- equals(Object) - Method in record class net.vincent.communidirect.client.core.ClientCore.Result
-
Indicates whether some other object is "equal to" this one.
G
- generate() - Static method in class net.vincent.communidirect.common.crypto.KeyGenerator
-
Generates a fresh Ed25519 key pair, stores it on disk, writes
keys.tomland returns the in-memoryKeyPair. - generateSecureKey(int) - Static method in class net.vincent.communidirect.common.crypto.CryptoEngine
-
Generates a cryptographically-strong random key of the given size.
- getAccessLogName() - Method in class net.vincent.communidirect.common.config.SettingsManager
-
Filename (not path) for the access log (default "access.log").
- getActivePrivateKeyAlias() - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
- getAllPeerKeys() - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
-
Returns an unmodifiable view of all loaded peer public keys, keyed by alias.
- getAllPrivateKeyAliases() - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
- getAllPrivateKeys() - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
- getAvatar() - Method in class net.vincent.communidirect.common.crypto.KeyGate
-
Returns a 5×5 symmetric ASCII art string that visually identifies this key in a terminal.
- getErrLogName() - Method in class net.vincent.communidirect.common.config.SettingsManager
-
Filename (not path) for the error log (default "err.log").
- getIp() - Method in class net.vincent.communidirect.common.config.SettingsManager
-
Bind IP address (default "127.0.0.1").
- getKey() - Method in class net.vincent.communidirect.common.crypto.KeyGate
-
Returns a defensive copy of the raw key bytes, suitable for transmission to a peer during key exchange.
- getLogDir() - Method in class net.vincent.communidirect.common.config.SettingsManager
-
Absolute path to the log directory, with
~expanded to the home directory. - getOwnPublicKeyRaw() - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
-
Returns the server's own 32-byte raw Ed25519 public key, loaded from
keys/self.pub. - getOwnPublicKeyRaw(String) - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
- getPeerKey(String) - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
-
Returns the public key for a peer alias, or
nullif unknown. - getPort() - Method in class net.vincent.communidirect.common.config.SettingsManager
-
Listening port (default 9833).
- getPrivateKey() - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
-
Returns the local Ed25519 private key.
- getPrivateKey(String) - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
- getSymmetricAvatar(byte[]) - Static method in class net.vincent.communidirect.common.crypto.CryptoEngine
-
Derives a 5×5 symmetric ASCII art string from a key, suitable for terminal-based peer identification.
- GuiClient - Class in net.vincent.communidirect.client.gui
-
Swing-based GUI client mode for CommuniDirect.
- GuiClient() - Constructor for class net.vincent.communidirect.client.gui.GuiClient
H
- hashCode() - Method in record class net.vincent.communidirect.client.core.ClientCore.Result
-
Returns a hash code value for this object.
- HEADER_SIZE - Static variable in class net.vincent.communidirect.common.proto.CdirMessage
-
Total size of the fixed message header in bytes: 361 (4 + 1 + 64 + 32 + 256 + 4).
- HOST - Static variable in class net.vincent.communidirect.common.hook.LocalWebhookConfig
I
- init() - Method in class net.vincent.communidirect.server.ServerLauncher
-
Initialises all components and blocks on the accept loop.
- init(String) - Method in class net.vincent.communidirect.server.AccessLog
-
Configures the log file destination.
- init(String, int) - Method in class net.vincent.communidirect.server.ServerSocket
- init(ServerSocket) - Method in class net.vincent.communidirect.server.ClientHandler
-
Stores the server socket reference, then enters the blocking accept loop.
- ip - Variable in class net.vincent.communidirect.server.ServerSocket
-
Resolved bind address set by
ServerSocket.init(String,int). - isValid() - Method in class net.vincent.communidirect.client.util.StagedMessage
-
Returns
truewhen all required fields are filled in.
K
- Key bindings - Search tag in class net.vincent.communidirect.client.tui.TuiClient
- Section
- KeyGate - Class in net.vincent.communidirect.common.crypto
-
Stateful wrapper around
CryptoEnginethat holds a symmetric key and exposes high-level encrypt / decrypt / avatar operations. - KeyGate(byte[]) - Constructor for class net.vincent.communidirect.common.crypto.KeyGate
-
Creates a
KeyGatefrom an existing key. - KeyGenerator - Class in net.vincent.communidirect.common.crypto
-
Generates an Ed25519 identity key pair and persists it under
~/.communidirect/. - keyName - Variable in class net.vincent.communidirect.client.util.StagedMessage
-
Alias of the recipient's public key in the local key store.
- keyStore - Variable in class net.vincent.communidirect.server.ServerLauncher
-
Holds the local Ed25519 identity and all trusted peer public keys.
- KeyStoreManager - Class in net.vincent.communidirect.common.crypto
-
Loads the local identity keys and all trusted peer public keys as described in
~/.communidirect/keys.toml. - KeyStoreManager() - Constructor for class net.vincent.communidirect.common.crypto.KeyStoreManager
L
- listReceivedFiles() - Method in class net.vincent.communidirect.client.core.ClientCore
- listStagedFiles() - Method in class net.vincent.communidirect.client.core.ClientCore
- load() - Method in class net.vincent.communidirect.common.config.SettingsManager
-
Loads configuration from disk.
- load() - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
-
Loads keys from disk.
- LocalWebhookConfig - Class in net.vincent.communidirect.common.hook
-
Shared localhost webhook endpoint used for client-side message notifications.
- logAccess(Socket) - Method in class net.vincent.communidirect.server.AccessLog
-
Appends a timestamped access entry for the given socket's remote address.
M
- MAGIC - Static variable in class net.vincent.communidirect.common.proto.CdirMessage
-
Four ASCII bytes "CDIR" interpreted as a big-endian int.
- main(String[]) - Static method in class net.vincent.communidirect.client.ClientLauncher
-
Starts the client by loading settings and keys, selecting the requested mode from command-line flags, and launching the mode runtime.
- main(String[]) - Static method in class net.vincent.communidirect.server.ServerLauncher
-
Application entry point.
- message() - Method in record class net.vincent.communidirect.client.core.ClientCore.Result
-
Returns the value of the
messagerecord component. - MessageParser - Class in net.vincent.communidirect.client.util
-
Converts between three representations of a staged message: Raw editor temp-file text (headers + delimiter + body)
StagedMessagein-memory object TOML file on disk under~/.communidirect/staged/ - MSG_DIR - Static variable in class net.vincent.communidirect.client.core.ClientCore
N
- net.vincent.communidirect.client - package net.vincent.communidirect.client
- net.vincent.communidirect.client.core - package net.vincent.communidirect.client.core
- net.vincent.communidirect.client.gui - package net.vincent.communidirect.client.gui
- net.vincent.communidirect.client.term - package net.vincent.communidirect.client.term
- net.vincent.communidirect.client.tui - package net.vincent.communidirect.client.tui
- net.vincent.communidirect.client.util - package net.vincent.communidirect.client.util
- net.vincent.communidirect.common - package net.vincent.communidirect.common
- net.vincent.communidirect.common.config - package net.vincent.communidirect.common.config
- net.vincent.communidirect.common.crypto - package net.vincent.communidirect.common.crypto
- net.vincent.communidirect.common.hook - package net.vincent.communidirect.common.hook
- net.vincent.communidirect.common.proto - package net.vincent.communidirect.common.proto
- net.vincent.communidirect.server - package net.vincent.communidirect.server
O
- ok() - Method in record class net.vincent.communidirect.client.core.ClientCore.Result
-
Returns the value of the
okrecord component.
P
- parseTempFile(String) - Static method in class net.vincent.communidirect.client.util.MessageParser
-
Parses the raw contents of the editor temp file into a
StagedMessage. - PATH - Static variable in class net.vincent.communidirect.common.hook.LocalWebhookConfig
- payload - Variable in class net.vincent.communidirect.common.proto.CdirMessage
-
Decrypted (plaintext) payload bytes.
- port - Variable in class net.vincent.communidirect.client.util.StagedMessage
-
Destination TCP port for the remote server.
- port - Variable in class net.vincent.communidirect.server.ServerSocket
-
Bind port set by
ServerSocket.init(String,int). - PORT - Static variable in class net.vincent.communidirect.common.hook.LocalWebhookConfig
R
- readReceivedFile(Path) - Method in class net.vincent.communidirect.client.core.ClientCore
- readStagedToml(Path) - Static method in class net.vincent.communidirect.client.util.MessageParser
-
Reads a staged TOML file from disk and deserialises it into a
StagedMessage. - resolveHome(String) - Static method in class net.vincent.communidirect.common.config.SettingsManager
-
Expands a leading
~to the current user's home directory. - Result(boolean, String) - Constructor for record class net.vincent.communidirect.client.core.ClientCore.Result
-
Creates an instance of a
Resultrecord class. - ROOT_DIR - Static variable in class net.vincent.communidirect.client.core.ClientCore
- run() - Method in class net.vincent.communidirect.client.tui.TuiClient
-
Starts the interactive TUI, blocking until the user exits with
Ctrl+Xor the application is interrupted. - run(String[]) - Method in class net.vincent.communidirect.client.term.TermClient
-
Executes the terminal client workflow for the provided arguments.
- run(SettingsManager, KeyStoreManager) - Method in class net.vincent.communidirect.client.gui.GuiClient
-
Launches the GUI client on the Swing event dispatch thread.
S
- sendAllStaged(KeyStoreManager) - Method in class net.vincent.communidirect.client.core.ClientCore
- senderPubKeyHash - Variable in class net.vincent.communidirect.common.proto.CdirMessage
-
Hex-encoded SHA-256 digest of the sender's raw public key – used as a human-readable identity label in stored message headers.
- senderPubKeyRaw - Variable in class net.vincent.communidirect.common.proto.CdirMessage
-
32-byte raw Ed25519 public key of the sender.
- sendStagedFile(Path, KeyStoreManager) - Method in class net.vincent.communidirect.client.core.ClientCore
- SENT_DIR - Static variable in class net.vincent.communidirect.client.core.ClientCore
- ServerLauncher - Class in net.vincent.communidirect.server
-
Application entry point and dependency-injection root for the CommuniDirect server.
- ServerLauncher() - Constructor for class net.vincent.communidirect.server.ServerLauncher
-
Constructs and wires all server components.
- serverSocket - Variable in class net.vincent.communidirect.server.ServerLauncher
-
TCP server socket abstraction used by
ClientHandlerto accept connections. - serverSocket - Variable in class net.vincent.communidirect.server.ServerSocket
-
The underlying JDK server socket; populated by
ServerSocket.bindSocket(). - ServerSocket - Class in net.vincent.communidirect.server
-
Wraps
ServerSocketand handles IP resolution and port binding for the CommuniDirect server. - ServerSocket(ServerLauncher) - Constructor for class net.vincent.communidirect.server.ServerSocket
-
Constructs a
ServerSocketbound to the given launcher. - Session key wrapping - Search tag in class net.vincent.communidirect.common.proto.CdirMessage
- Section
- setActivePrivateKey(String) - Method in class net.vincent.communidirect.common.crypto.KeyStoreManager
- settings - Variable in class net.vincent.communidirect.server.ServerLauncher
-
Provides runtime configuration (port, IP, log paths).
- SettingsManager - Class in net.vincent.communidirect.common.config
-
Loads and persists CommuniDirect settings from
~/.communidirect/config.toml. - SettingsManager() - Constructor for class net.vincent.communidirect.common.config.SettingsManager
-
Initialises all fields with their compiled-in defaults.
- STAGED_DIR - Static variable in class net.vincent.communidirect.client.core.ClientCore
- StagedMessage - Class in net.vincent.communidirect.client.util
-
Immutable data bag for a message that has been composed but not yet sent.
- StagedMessage(String, int, String, String) - Constructor for class net.vincent.communidirect.client.util.StagedMessage
-
Constructs a
StagedMessage, trimming whitespace from string fields and guarding againstnullinputs. - stageMessage(StagedMessage) - Method in class net.vincent.communidirect.client.core.ClientCore
- start() - Method in class net.vincent.communidirect.client.core.ClientWebhookListener
T
- targetIp - Variable in class net.vincent.communidirect.client.util.StagedMessage
-
Destination IPv4/IPv6 address or hostname for message delivery.
- Temp-file format (written for the editor, read back after) - Search tag in class net.vincent.communidirect.client.util.MessageParser
- Section
- TermClient - Class in net.vincent.communidirect.client.term
-
Command-line client mode for CommuniDirect.
- TermClient(SettingsManager, KeyStoreManager) - Constructor for class net.vincent.communidirect.client.term.TermClient
-
Constructs the terminal client facade.
- TOML format (persisted to disk) - Search tag in class net.vincent.communidirect.client.util.MessageParser
- Section
- toRaw32(byte[]) - Static method in class net.vincent.communidirect.common.crypto.KeyGenerator
-
Strips the 12-byte Ed25519 SPKI DER header from
spkiEncoded(44 bytes) and returns the 32 raw key bytes suitable for wire transfer or direct file storage. - toSpki(byte[]) - Static method in class net.vincent.communidirect.common.crypto.KeyGenerator
-
Prepends the fixed 12-byte Ed25519 SPKI DER header to 32 raw key bytes so that JCA can reconstruct a
PublicKeyviaX509EncodedKeySpec. - toString() - Method in record class net.vincent.communidirect.client.core.ClientCore.Result
-
Returns a string representation of this record class.
- toString() - Method in class net.vincent.communidirect.client.util.StagedMessage
-
Returns a compact debug representation containing all fields.
- TuiClient - Class in net.vincent.communidirect.client.tui
-
Full Lanterna TUI for CommuniDirect Client.
- TuiClient(SettingsManager, KeyStoreManager) - Constructor for class net.vincent.communidirect.client.tui.TuiClient
-
Constructs a
TuiClientand derives the compact local identity string from the public key held inkeyStore.
V
- VERSION - Static variable in class net.vincent.communidirect.common.proto.CdirMessage
-
Protocol version byte: 0x01 for CDIR v1.
W
- Wire format (all integers big-endian) - Search tag in class net.vincent.communidirect.common.proto.CdirMessage
- Section
- withNewKey(int) - Static method in class net.vincent.communidirect.common.crypto.KeyGate
-
Factory method – generates a new cryptographically-strong random key.
- writeStagedToml(StagedMessage, Path, String) - Static method in class net.vincent.communidirect.client.util.MessageParser
-
Serialises a
StagedMessageto disk as a TOML file.
X
- xorTransform(byte[], byte[]) - Static method in class net.vincent.communidirect.common.crypto.CryptoEngine
-
Applies a repeating XOR key-stream to
data.
All Classes and Interfaces|All Packages|Constant Field Values
Defaults. This stub exists only for backwards compatibility.