mirror of
https://github.com/ruvnet/RuView.git
synced 2026-08-31 12:36:09 +00:00
Assemble `wifi-veil/` as an extraction-ready standalone repository for the WiFi Veil privacy shield, decoupled from the RuView monorepo. The RuView copies under v2/, harness/, firmware/, and docs/ are left untouched; this is an additive, self-contained tree that can be split out to its own repo (e.g. ruvnet/wifi-veil). Optimized for a standalone identity, with all monorepo coupling removed: - Rust crate at the repo root: renamed `wifi-veil` (lib `wifi_veil`, bin `veil`), workspace-metadata inheritance inlined, own `[workspace]` root, release profile. Dependency-free and WASM-ready — it builds and tests OFFLINE, unlike the monorepo copy (which needs sibling submodules). Code is byte-identical, so the deterministic proof witness is unchanged. - Portable C shield core + per-provider firmware scaffolds (openwifi/openwrt/ nexmon/esp32) under firmware/; host C-core test passes. - npm harness renamed `wifi-veil-harness`; its guidance paths/commands repointed to the standalone layout; manifest SHA-256 digests regenerated and verified. - Docs: ADR-288/289/290 and the privacy-shield research bundle; research build commands/links normalized to the standalone crate. - Root scaffolding: product README, dual LICENSE-MIT / LICENSE-APACHE, .gitignore, CHANGELOG, CONTRIBUTING, and a GitHub Actions CI workflow (Rust test/clippy/fmt + wasm build, C-core host test, harness smoke). Validated locally: cargo fmt --check, cargo clippy --all-targets -D warnings, cargo test (43 tests + witness), cargo build --lib --target wasm32-unknown-unknown, make -C firmware/core test, and `node harness/bin/cli.js guidance` — all green. No telemetry, build artifacts, or lockfile committed. All defense figures remain SYNTHETIC / L0; compliant waveform controls only, never jamming. Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01WEXNqzs7UsfNFBcP5yW21p
45 lines
1.6 KiB
Makefile
45 lines
1.6 KiB
Makefile
# SPDX-License-Identifier: MIT OR Apache-2.0
|
|
#
|
|
# Host build-CHECK for the OpenWRT/mac80211 VEIL adapter.
|
|
# STATUS: SYNTHETIC / L0 — build-only, UNTESTED ON HARDWARE.
|
|
#
|
|
# Two targets:
|
|
# make core - compile+link the portable core only (always works,
|
|
# no libnl needed) — proves the rotation math builds.
|
|
# make daemon - build veil_shieldd against libnl-genl-3 (needs the
|
|
# dev headers: `pkg-config libnl-genl-3.0`). On OpenWRT
|
|
# the package build uses libnl-tiny instead (see openwrt.mk).
|
|
#
|
|
# This Makefile does NOT flash, run on, or validate any radio.
|
|
|
|
CC ?= cc
|
|
COREDIR := ../core
|
|
CFLAGS ?= -std=c99 -Wall -Wextra -O2 -I$(COREDIR)
|
|
LDLIBS ?= -lm
|
|
|
|
NL_CFLAGS := $(shell pkg-config --cflags libnl-genl-3.0 2>/dev/null)
|
|
NL_LIBS := $(shell pkg-config --libs libnl-genl-3.0 2>/dev/null)
|
|
|
|
.PHONY: all core daemon clean
|
|
all: core
|
|
|
|
# Always-buildable: the core object, no netlink dependency.
|
|
core: $(COREDIR)/veil_shield.c $(COREDIR)/veil_shield.h
|
|
$(CC) $(CFLAGS) -c $(COREDIR)/veil_shield.c -o veil_shield.o
|
|
@echo "core built (rotation math OK). Nothing was run on hardware."
|
|
|
|
# Full daemon: requires libnl-genl-3 dev headers on the host.
|
|
daemon: veil_shieldd.c core
|
|
ifeq ($(strip $(NL_LIBS)),)
|
|
@echo "SKIP daemon: libnl-genl-3.0 not found (pkg-config)."
|
|
@echo " Install libnl-3-dev + libnl-genl-3-dev, or build via openwrt.mk."
|
|
@exit 0
|
|
else
|
|
$(CC) $(CFLAGS) $(NL_CFLAGS) -o veil_shieldd \
|
|
veil_shieldd.c veil_shield.o $(NL_LIBS) $(LDLIBS)
|
|
@echo "veil_shieldd linked (BUILD-ONLY; untested on silicon)."
|
|
endif
|
|
|
|
clean:
|
|
rm -f veil_shield.o veil_shieldd
|