Files
dip-ids/docs/install.md
T
2026-04-12 22:26:26 +04:00

2.6 KiB

Руководство по установке

Требования

Компонент Версия Назначение
Linux любой дистрибутив ОС (raw sockets доступны только на Linux)
Go ≥ 1.22 Компиляция бэкенда
GCC любая Компиляция CGO (go-sqlite3)
libpcap-dev любая Захват пакетов
Bun ≥ 1.1 Сборка фронтенда

Установка зависимостей

Debian / Ubuntu

sudo apt update
sudo apt install -y golang gcc libpcap-dev
# Bun
curl -fsSL https://bun.sh/install | bash

Arch Linux / CachyOS

sudo pacman -S go gcc libpcap
# Bun
yay -S bun-bin
# или
curl -fsSL https://bun.sh/install | bash

Fedora / RHEL

sudo dnf install golang gcc libpcap-devel
curl -fsSL https://bun.sh/install | bash

Сборка и запуск

1. Клонирование репозитория

git clone <repo-url> dip-ids
cd dip-ids

2. Бэкенд

# Загрузить зависимости
go mod tidy

# Собрать бинарник
go build -o nids ./cmd/ids

# Запустить (sudo обязателен для live-захвата)
sudo ./nids
# API доступен на http://0.0.0.0:8080

Конфигурация загружается из configs/config.yaml. Альтернативный путь:

sudo ./nids /path/to/custom-config.yaml

3. Фронтенд (dev-режим)

cd frontend
bun install
bun run dev
# Панель доступна на http://localhost:3000

4. Фронтенд (production-сборка)

cd frontend
bun run generate
# Статические файлы в frontend/.output/public/

Настройка интерфейса

Узнать имя сетевого интерфейса:

ip link show
# или
sudo tcpdump -D

Обновить в configs/config.yaml:

capture:
  default_interface: "enp3s0"   # ← ваш интерфейс

Права доступа

Live-захват требует доступа к raw sockets. Варианты:

Вариант 1 (рекомендуется для разработки):

sudo ./nids

Вариант 2 — capabilities (без sudo):

sudo setcap cap_net_raw,cap_net_admin=eip ./nids
./nids

Вариант 3 — только PCAP анализ (без специальных прав): Загружайте готовые .pcap файлы через веб-панель, бэкенд можно запускать без sudo.