feat: version 1.0.0 avec corrections critiques et nommage de packages

Ajout du point d'entrée principal :
- cmd/ja4sentinel/main.go : pipeline complet avec gestion des signaux
- Intégration des modules (capture, tlsparse, fingerprint, output)
- Shutdown propre avec context.Context

Corrections du parsing TLS :
- Flow key unidirectionnel (client → serveur uniquement)
- Timeout de flux configurable via FlowTimeoutSec
- Structure ConnectionFlow simplifiée

Améliorations de l'API :
- Champs TCPMSS et TCPWScale en pointeurs (omitempty correct)
- NewLogRecord mis à jour pour les champs optionnels

Mise à jour de l'architecture :
- architecture.yml : documentation des champs optionnels
- Règles de flux unidirectionnel documentées

Système de packages :
- Version par défaut : 1.0.0
- Nommage cohérent : ja4sentinel_1.0.0_amd64.deb
- Scripts build-deb.sh et build-rpm.sh simplifiés
- Extraction correcte des checksums

Tests :
- TestFlowKey mis à jour pour le format unidirectionnel
- Tous les tests passent (go test ./...)
- go vet clean

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Jacquin Antoine
2026-02-26 23:24:42 +01:00
parent 410467f099
commit 9280cb545c
9 changed files with 201 additions and 179 deletions

View File

@ -18,7 +18,10 @@ DIST_DIR=dist
BUILD_DIR=build
# Package version (strip 'v' prefix from git tags)
PKG_VERSION=$(shell git describe --tags --always --dirty 2>/dev/null | sed 's/^v//')
# Set to explicit version for release builds, or use git-based version for dev builds
PKG_VERSION ?= 1.0.0
# Alternative git-based version (uncomment for dev builds):
# PKG_VERSION=$(shell git describe --tags --always --dirty 2>/dev/null | sed 's/^v//')
# Build flags
VERSION=$(PKG_VERSION)
@ -97,10 +100,15 @@ package-deb: build-linux
--build-arg VERSION=$(PKG_VERSION) \
--build-arg ARCH=amd64 \
-f packaging/Dockerfile.deb .
@echo "Extracting DEB from Docker image..."
docker run --rm ja4sentinel-packager-deb sh -c 'cat /packages/*.deb' > build/deb/ja4sentinel.deb
@echo "DEB package created: build/deb/ja4sentinel.deb"
ls -la build/deb/*.deb
@echo "Extracting DEB packages from Docker image..."
@for f in $$(docker run --rm ja4sentinel-packager-deb sh -c 'ls /packages/*.deb 2>/dev/null'); do \
docker run --rm ja4sentinel-packager-deb sh -c "cat $$f" > build/deb/$$(basename $$f); \
done
@for f in $$(docker run --rm ja4sentinel-packager-deb sh -c 'ls /packages/*.sha256 2>/dev/null'); do \
docker run --rm ja4sentinel-packager-deb sh -c "cat $$f" > build/deb/$$(basename $$f); \
done || true
@echo "DEB packages created:"
ls -la build/deb/
## package-rpm: Build RPM package (requires Docker)
package-rpm: build-linux