┌──────────────────────────────────────────────────────────────────────────────────────┐
│ ADAPTIX SERVER │
├──────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────────────────────────────────────────────────────────────┐ │
│ │ TEAMSERVER CORE │ │
│ ├────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ TsConnector │ │ MessageBroker │ │ EventManager │ │ │
│ │ │ (HTTP/WS API) │────>│ (WebSocket) │ │ (Pre/Post) │ │ │
│ │ │ gin-gonic │ │ broadcast │ │ Hooks │ │ │
│ │ └────────┬────────┘ └────────┬────────┘ └────────┬────────┘ │ │
│ │ │ │ │ │ │
│ │ V V V │ │
│ │ ┌────────────────────────────────────────────────────────────────────────┐ │ │
│ │ │ TEAMSERVER INTERFACE │ │ │
│ │ │ │ │ │
│ │ │ TsAgent* TsTask* TsTunnel* TsTerminal* TsListener* │ │ │
│ │ │ TsDownload* TsScreenshot* TsTarget* TsCredential* TsEndpoint* │ │ │
│ │ │ TsEventHook* TsExtenderData* TsClientGui* TsPivot* TsService* │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │ │ │ │
│ │ V V V │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ TaskManager │ │ TunnelManager │ │ DBMS │ │ │
│ │ │ │ │ │ │ (SQLite) │ │ │
│ │ │ - Task Queue │ │ - Tunnels Map │ │ │ │ │
│ │ │ - Job Handler │ │ - Channels Map │ │ - Listeners │ │ │
│ │ │ - Tunnel Task │ │ - Buffer Pool │ │ - Agents │ │ │
│ │ │ - Browser Task │ │ - Stats │ │ - Tasks │ │ │
│ │ └─────────────────┘ └─────────────────┘ │ - Downloads │ │ │
│ │ │ - Screenshots │ │ │
│ │ │ - Credentials │ │ │
│ │ │ - Console │ │ │
│ │ └─────────────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ V │
│ ┌────────────────────────────────────────────────────────────────────────────────┐ │
│ │ EXTENDER MANAGER │ │
│ ├────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ LoadPlugins() ───┬──> LoadPluginListener() ──> PluginListener Interface │ │
│ │ ├──> LoadPluginAgent() ──> PluginAgent Interface │ │
│ │ └──> LoadPluginService() ──> PluginService Interface │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ .so │ │ config │ │ .axs │ │ │
│ │ │ plugin │ │ .yaml │ │ UI file │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ V │
│ ┌────────────────────────────────────────────────────────────────────────────────┐ │
│ │ IN-MEMORY DATA STORES │ │
│ ├────────────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ Agents │ │ Listeners │ │ Downloads │ │Screenshots│ │ Targets │ │ │
│ │ │ (Map) │ │ (Map) │ │ (Map) │ │ (Map) │ │ (Slice) │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │
│ │ │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │Credentials│ │ Terminals │ │ Pivots │ │ Builders │ │ OTPs │ │ │
│ │ │ (Slice) │ │ (Map) │ │ (Slice) │ │ (Map) │ │ (Map) │ │ │
│ │ └───────────┘ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────────────────┘