You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 008671a
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/api-rest.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,7 @@ Réglages par variables d'environnement, lues au démarrage :
24
24
|`NETCROSS_API_WORKERS`|`2`| Analyses simultanées en tâche de fond. |
25
25
|`NETCROSS_DB_PATH`| absent | Base SQLite : analyses conservées et rechargées au redémarrage. Absent : tout reste en mémoire. |
26
26
|`NETCROSS_HISTORY_DB`| absent | Historique des runs (format `--history-db`) : `history=true` sur `/comparisons` y enregistre la comparaison, sur `/captures` et `/captures/multi` l'analyse (#890), `GET /history` le consulte. Absent : enregistrement refusé (400), consultation 503. Le client ne choisit jamais le chemin. |
27
+
|`NETCROSS_API_BPF_FILTERS`|`~/.netcross/bpf_filters.json`| Fichier de la bibliothèque de filtres BPF (`/bpf-filters`, issue #906), même format que la GUI et `--bpf-library`. Le client ne choisit jamais le chemin. |
27
28
|`NETCROSS_CVE_DB`| absent | Base CVE complète du rapport de sécurité (équivalent de `--cve-db`). Absent : base minimale embarquée, comme la CLI. Un chemin inexistant fait échouer l'analyse (la base n'est jamais créée vide). |
28
29
|`NETCROSS_API_MAX_BATCHES`| 20 | Lots conservés en mémoire avec leurs rapports (issue #872) ; au-delà, les plus anciens lots terminés sont supprimés. |
29
30
|`NETCROSS_PLUGIN_PATH`| absent | Fichiers plugins locaux, séparés par `:` (équivalent de `--plugin-path`, issue #867). Fixés par l'administrateur : le client ne fait que nommer un plugin dans le champ `plugins`. Voir [plugins](plugins.md#api-rest-issue-867). |
@@ -80,6 +81,9 @@ La spécification OpenAPI est disponible sur :
|`POST`|`/tools/adjust-time`| Recalage (`file`, puis `time_offset`, `normalize` ou `align_to`, `format`) : `--adjust-time-output` (issue #887) |
82
83
|`POST`|`/tools/replay`| Rejeu (`file`, `interface`, `speed`, `loop`) : `--replay`. ÉMET du trafic réel ; refusé (403) sauf si `interface` figure dans `NETCROSS_REPLAY_INTERFACES` (liste séparée par des virgules, vide par défaut) ; 503 si tcpreplay absent (issue #871) |
84
+
|`GET`|`/bpf-filters`| Bibliothèque de filtres BPF (`--bpf-library`, issue #906) : catalogue prédéfini (`predefined: true`) puis filtres enregistrés |
85
+
|`PUT`|`/bpf-filters/{nom}`| Crée ou remplace un filtre (JSON `expression`, `description`) ; 409 pour un nom du catalogue, 422 si l'expression est vide |
86
+
|`DELETE`|`/bpf-filters/{nom}`| Supprime un filtre enregistré ; 404 s'il est inconnu, 409 pour un nom du catalogue |
`<<module>>` regroupe les fonctions publiques d'un module ; `A --> B : champ` = `A` a un champ annoté
@@ -42,7 +42,7 @@ flowchart TD
42
42
netcross_gtk4 -->|"6 imports"| pcap_parser
43
43
netcross_api -->|"19 imports"| netcross_report
44
44
netcross_api -->|"5 imports"| netcross_ai
45
-
netcross_api -->|"42 imports"| netcross_core
45
+
netcross_api -->|"45 imports"| netcross_core
46
46
netcross_api -->|"3 imports"| pcap_parser
47
47
netcross_report -->|"40 imports"| netcross_core
48
48
netcross_ai -->|"10 imports"| netcross_core
@@ -656,6 +656,7 @@ classDiagram
656
656
+load_bpf_filters(path) list~BPFFilter~
657
657
+available_bpf_filters(path) list~BPFFilter~
658
658
+upsert_bpf_filter(new, path) list~BPFFilter~
659
+
+delete_bpf_filter(name, path) list~BPFFilter~
659
660
}
660
661
661
662
%% ===== netcross_core.capture_tools =====
@@ -3874,6 +3875,7 @@ classDiagram
3874
3875
|`netcross_api`| service REST FastAPI pour exposer les analyses Netcross (issue #209). |
3875
3876
|`netcross_api.app`| application FastAPI pour exposer les analyses Netcross (issues #209, #354, #356). |
3876
3877
|`netcross_api.batches`| lots de captures de l'API (issue #872). |
3878
+
|`netcross_api.bpf_routes`| bibliothèque de filtres BPF enregistrés (issue #906), équivalent API de ``--bpf-library NOM`` et des boutons « Filtres… » / « Enregistrer » de la GUI. |
3877
3879
|`netcross_api.history_routes`| historique SQLite des runs (issue #874). |
3878
3880
|`netcross_api.lua_doc_routes`| documentation hors ligne de l'API Lua Wireshark (issue #873), équivalent de ``netcross-lua-doc --json``. |
3879
3881
|`netcross_api.models`| modèles Pydantic pour les requêtes/réponses API (issue #209). |
@@ -3980,6 +3982,22 @@ classDiagram
3980
3982
+new_workdir() tuple~str, str~
3981
3983
}
3982
3984
3985
+
%% ===== netcross_api.bpf_routes =====
3986
+
class BPFFilterBody {
3987
+
<<BaseModel>>
3988
+
+str expression
3989
+
+str description
3990
+
}
3991
+
class mod_netcross_api_bpf_routes["netcross_api.bpf_routes"] {
3992
+
<<module>>
3993
+
+filters_path() Path?
3994
+
+list_bpf_filters() dict~str, Any~
3995
+
+put_bpf_filter(nom, body) dict~str, Any~
3996
+
+delete_bpf_filter(nom) dict~str, Any~
3997
+
+resolve_bpf_library(nom) str
3998
+
+register(app, verify) None
3999
+
}
4000
+
3983
4001
%% ===== netcross_api.history_routes =====
3984
4002
class mod_netcross_api_history_routes["netcross_api.history_routes"] {
Copy file name to clipboardExpand all lines: docs/parite-surfaces.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ ici fait donc échouer la CI.
16
16
|---|---|---|
17
17
| CLI |`cross_capture_analyzer_cli.py` (110 options), `cross_capture_diff_cli.py` (27), `cross_capture_batch_cli.py` (11), `cross_history_cli.py`, `netcross_lua_doc_cli.py`, `netcross_ai_models_cli.py`| Surface de référence : tout y est |
18
18
| GUI |`netcross_gtk4` : 3 pages, 43 cases à cocher, 31 réglages numériques | Analyse interactive et exploration visuelle |
@@ -122,7 +122,7 @@ est conservée telle quelle pour les clients existants.
122
122
| Durée maximale | oui |`--live-duration`| non |
123
123
| Arrêt manuel puis analyse | oui (« Arreter et analyser ») | Ctrl+C | non |
124
124
| Rotation de capture (ring buffer) | oui (« Rotation de capture », nombre de fichiers, durée par fichier) : même enregistreur que la CLI, répertoires et fichiers conservés indiqués dans le journal |`--ring-buffer N:SECONDES` : enregistre la capture brute de chaque point en pcapng tournants (ring buffer natif de tshark), incompatible avec `pipe://` (issue #676) | non |
| Bibliothèque de filtres BPF enregistrés | oui (enregistrer, choisir) |`--bpf-library NOM` (lit `~/.netcross/bpf_filters.json`, issue #676) |`GET /bpf-filters`, `PUT /bpf-filters/{nom}`, `DELETE /bpf-filters/{nom}` (même fichier, `$NETCROSS_API_BPF_FILTERS` côté serveur, issue #906) ; champ `bpf_library` par point avec #902|
126
126
| Rapport HTML rafraîchi en continu | oui (« Rapport HTML en continu », répertoire, intervalle, « Servir la page » et port ; issue #676) |`--live-report`, `--live-report-interval`, `--live-report-serve`| non |
127
127
| Notifications (webhook, Slack, e-mail) | oui (« Notifier si », webhook, Slack, courriel, « Detail complet » ; avec « Rapport de securite », issue #676) |`--notify-on`, `--notify-webhook`, `--notify-slack`, `--notify-email`, `--notify-detail`, `--notify-silence`, `--notify-state`|`notify_on`, `notify_webhook`, `notify_slack`, `notify_email`, `notify_detail` (trace dans `security_report.notifications` de `/report`, URL jamais conservées ; issue #875) |
128
128
@@ -296,6 +296,9 @@ l'option CLI de même nom) : `nat_tolerant`, `nat_window_ms`, `tls`,
296
296
|`GET /lua-doc/search`| Recherche dans la documentation Lua, `q`, `limit`, `full` (issue #873) |
297
297
|`GET /comparisons/{comparison_id}/redact-map`| Table d'anonymisation commune baseline/courant (issue #876) |
298
298
|`POST /tools/replay`| Rejeu sur une interface autorisée (issue #871) |
299
+
|`GET /bpf-filters`| Bibliothèque de filtres BPF : catalogue puis filtres enregistrés (issue #906) |
300
+
|`PUT /bpf-filters/{nom}`| Crée ou remplace un filtre BPF enregistré, `expression`, `description` (issue #906) |
301
+
|`DELETE /bpf-filters/{nom}`| Supprime un filtre BPF enregistré (issue #906) |
299
302
300
303
Réglages par variables d'environnement (`NETCROSS_API_TOKEN` pour
0 commit comments