Requisitos del servidor

Go

El servidor requiere Go 1.26.5 o superior. Versiones anteriores no son compatibles debido a dependencias internas.

# Verificar versión instalada
go version

# Instalar Go 1.26.5 (si es necesario)
wget https://go.dev/dl/go1.26.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.26.5.linux-amd64.tar.gz

# Añadir al PATH (en ~/.bashrc o ~/.zshrc)
export PATH=$PATH:/usr/local/go/bin

Versión de Go

Go 1.26.5 debe ser el Go del sistema (accesible en $PATH), ya que el servidor invoca go build en tiempo de ejecución para compilar agentes.

OpenSSL

Necesario para generar los certificados TLS del servidor:

# Debian/Ubuntu/Kali
sudo apt install openssl

# Verificar
openssl version

Sistema operativo

El servidor está diseñado para ejecutarse en Linux. Se recomienda:

  • Debian 12+ / Ubuntu 22.04+
  • Kali Linux 2024+
  • Cualquier distribución con kernel 5.x+

Requisitos del cliente

Qt6

El cliente gráfico requiere Qt6 con los siguientes módulos:

# Debian/Ubuntu/Kali
sudo apt install -y \
  qt6-base-dev \
  qt6-websockets-dev \
  qt6-5compat-dev \
  libqt6core5compat6-dev \
  libgl1-mesa-dev

CMake

Se requiere CMake 3.16 o superior:

# Debian/Ubuntu/Kali
sudo apt install cmake

# Verificar
cmake --version

Compilador C++

Se necesita un compilador compatible con C++17:

# Debian/Ubuntu/Kali
sudo apt install build-essential g++

Requisitos para compilar extenders

Los extenders se compilan como bibliotecas compartidas de Go, por lo que requieren las mismas dependencias que el servidor:

  • Go 1.26.5+
  • CGO habilitado (para compilar como .so)
# Verificar que CGO está disponible
go env CGO_ENABLED

Requisitos para Docker

Si prefieres usar Docker para compilar o ejecutar:

  • Docker 20.10+
  • Docker Compose v2+
# Instalar Docker (Debian/Ubuntu)
sudo apt install docker.io docker-compose-v2

# Añadir usuario al grupo docker
sudo usermod -aG docker $USER

Resumen de dependencias

ComponenteDependenciaVersión mínima
ServidorGo1.26.5
ServidorOpenSSL1.1+
ClienteQt66.2+
ClienteCMake3.16+
ClienteGCC/G++C++17 compatible
DockerDocker20.10+
DockerDocker Composev2+

Instalación rápida de todas las dependencias

Debian/Ubuntu/Kali (todo en un comando)

sudo apt update && sudo apt install -y \
  build-essential \
  cmake \
  git \
  openssl \
  qt6-base-dev \
  qt6-websockets-dev \
  qt6-5compat-dev \
  libqt6core5compat6-dev \
  libgl1-mesa-dev

Luego instala Go 1.26.5 manualmente como se describe arriba, ya que los repositorios de la distribución pueden no tener la versión requerida.