Index

A B C D E G H I K L M N O P R S T V W X 
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 ClientHandler and 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 populated CdirMessage.
decrypt(byte[]) - Method in class net.vincent.communidirect.common.crypto.KeyGate
Decrypts data using 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.
Constants have moved to Defaults. This stub exists only for backwards compatibility.
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 payload into a CDIR frame and writes it to out.
encrypt(byte[]) - Method in class net.vincent.communidirect.common.crypto.KeyGate
Encrypts data using 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.toml and returns the in-memory KeyPair.
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 null if 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
Resolves ip to an InetAddress, stores port, then calls ServerSocket.bindSocket().
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 true when 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 CryptoEngine that 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 KeyGate from 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 message record 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) StagedMessage in-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 ok record 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
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 Result record 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+X or 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 ClientHandler to 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 ServerSocket and handles IP resolution and port binding for the CommuniDirect server.
ServerSocket(ServerLauncher) - Constructor for class net.vincent.communidirect.server.ServerSocket
Constructs a ServerSocket bound 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 against null inputs.
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 PublicKey via X509EncodedKeySpec.
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 TuiClient and derives the compact local identity string from the public key held in keyStore.

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 StagedMessage to 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.
A B C D E G H I K L M N O P R S T V W X 
All Classes and Interfaces|All Packages|Constant Field Values