doc: Update README.md

This commit is contained in:
DaLaw2 2025-03-25 02:52:24 +08:00
parent bde6cb7e29
commit 3751a9c491
5 changed files with 36 additions and 24 deletions

View File

@ -1,33 +1,45 @@
# net-guardia
# NetGuardia 🛡️
## Prerequisites
## 📌 專案簡介
1. stable rust toolchains: `rustup toolchain install stable`
1. nightly rust toolchains: `rustup toolchain install nightly --component rust-src`
1. (if cross-compiling) rustup target: `rustup target add ${ARCH}-unknown-linux-musl`
1. (if cross-compiling) LLVM: (e.g.) `brew install llvm` (on macOS)
1. (if cross-compiling) C toolchain: (e.g.) [`brew install filosottile/musl-cross/musl-cross`](https://github.com/FiloSottile/homebrew-musl-cross) (on macOS)
1. bpf-linker: `cargo install bpf-linker` (`--no-default-features` on macOS)
**NetGuardia** 是一個結合 eBPF XDP 與深度學習模型的實體網路防護裝置,運行於 Raspberry Pi 5 與 Intel i350 T2 網卡。本專案旨在提供高效能、低延遲的網路防護解決方案,適用於家庭與中小型企業環境。
## Build & Run
## 🔧 核心技術
Use `cargo build`, `cargo check`, etc. as normal. Run your program with:
- **eBPF XDP 技術** - 實現高效能網路封包處理,直接在資料連結層操作
- **深度學習模型** - 識別與預測潛在網路攻擊,提供智慧化防護
- **嵌入式硬體整合** - 結合 Raspberry Pi 5 與 Intel i350 T2提供獨立且強大的網路防護功能
```shell
cargo run --release --config 'target."cfg(all())".runner="sudo -E"'
```
## 🧩 功能模組
Cargo build scripts are used to automatically build the eBPF correctly and include it in the
program.
### 📊 儀表板總覽 (Dashboard)
![儀表板介面](./github/dashboard.png)
- 即時網路流量監控與視覺化統計
- 近期流量大小統計與趨勢圖
## Cross-compiling on macOS
### 📈 詳細流量統計 (Statistics)
![流量統計介面](./github/statistics.png)
- 各 IP 位址詳細流量使用情況
Cross compilation should work on both Intel and Apple Silicon Macs.
### 🔒 網路存取控制 (Access Control)
![存取控制介面](./github/accessControl.png)
- IPv4/IPv6 黑白名單管理
- 精確的連接埠層級存取控制
```shell
CC=${ARCH}-linux-musl-gcc cargo build --package net-guardia --release \
--target=${ARCH}-unknown-linux-musl \
--config=target.${ARCH}-unknown-linux-musl.linker=\"${ARCH}-linux-musl-gcc\"
```
The cross-compiled program `target/${ARCH}-unknown-linux-musl/release/net-guardia` can be
copied to a Linux server or VM and run there.
### 🤖 AI 攻擊偵測 (AI Detection)
![AI 攻擊偵測介面](./github/aiDetection.png)
- 基於 AI 的攻擊偵測引擎
## ✨ 系統特色
- **⚡ 高效能** - 低延遲封包處理,最小化網路效能影響
- **👥 易用性** - 跨平台 Web 管理介面,直覺操作
- **🔄 可靠性** - 硬體加速處理,確保穩定運行
- **📦 可擴展** - 模組化設計,支援功能擴展
## 💻 安裝需求
- Raspberry Pi 5 (建議 8GB RAM 版本)
- 雙孔網卡(能支援 XDP native/offload 更好)
- 32GB 以上 microSD 卡 (建議 Class 10 以上)
- 5V/3A 以上電源供應器

BIN
github/accessControl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
github/aiDetection.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

BIN
github/dashboard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

BIN
github/statistics.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB