Commit Graph

9 Commits

Author SHA1 Message Date
Markus Maiwald 07ccd484f1
refactor: restructure repository with tiered licensing
Major restructuring of libertaria-sdk -> libertaria-stack:

FOLDER REORGANIZATION:
- core/          - L0-L3 layers (Commonwealth LCL-1.0)
  - l0-transport/
  - l1-identity/
  - l2_session/
  - l2-federation/
  - l2-membrane/
- sdk/           - L4+ and bindings (Sovereign LSL-1.0)
  - janus-sdk/
  - l4-feed/
- apps/          - Examples (Unbound LUL-1.0)
  - examples/
- legal/         - All license texts

LICENSES ADDED:
- LICENSE_COMMONWEALTH.md (LCL-1.0) - Viral reciprocity for Core
- LICENSE_SOVEREIGN.md (LSL-1.0) - Business-friendly for SDK
- LICENSE_UNBOUND.md (LUL-1.0) - Maximum freedom for docs/apps

BUILD.ZIG UPDATED:
- All paths updated to new structure
- Examples imports fixed

README.md REWRITTEN:
- Documents new folder structure
- Explains tiered licensing strategy
- Clear SPDX identifiers per component

NO CLA REQUIRED - contributors keep copyright
2026-02-05 20:12:32 +01:00
Markus Maiwald c8435a65df
chore: remove build artifacts and update .gitignore
Remove temporary build error logs and binary artifacts:
- build_err.txt
- build_error_j1.txt
- capsule-core/build_errors.txt
- root (binary data file)

Add patterns to .gitignore to prevent future commits of:
- build_err* and build_errors.txt
- 'root' artifact files
2026-02-05 15:36:07 +01:00
Markus Maiwald 638a0f5ea2
feat(transport): implement RFC-0015 Transport Skins
Add MIMIC_DNS and MIMIC_HTTPS skins for DPI evasion:
- MIMIC_DNS: DoH tunnel with dictionary-based encoding
- MIMIC_HTTPS: WebSocket framing with domain fronting
- PNG integration for traffic shaping

All skins support:
- Polymorphic Noise Generator (PNG) for traffic shaping
- Dynamic packet sizing based on epoch profiles
- Kenya-compliant memory usage (<10MB)

Tests: 170+ passing
2026-02-04 05:57:58 +01:00
Markus Maiwald 4bd581dd71 fix: Simplified transport_skins.zig to fix build
Remove complex WebSocket implementation temporarily.
Focus on getting clean compile first.

Refs: RFC-0015
2026-02-03 17:48:30 +01:00
Markus Maiwald 44b37bc231 fix: Final Zig 0.15.2 syntax fixes
- duckdb.zig: Remove enum values (use default)
- png.zig: Mark unused bimodal params with _:
- transport_skins.zig: Mark probe params with _:

Refs: RFC-0015
2026-02-03 17:42:20 +01:00
Markus Maiwald 924b330396 fix: Zig 0.15.2 unused parameter warnings
- png.zig: Fix sampleGamma signature with _: prefix
- duckdb.zig: Use explicit enum(u32) with values
- transport_skins.zig: Use _: prefix for unused params

All tests should now compile without unused parameter errors.

Refs: RFC-0015
2026-02-03 17:37:43 +01:00
Markus Maiwald 5dce8e0880 fix: More Zig 0.15.2 syntax fixes
- png.zig: Remove crypto dependency, simple XOR key derivation
- png.zig: Fix type casts for u16/u32 calculations
- transport_skins.zig: Replace inline else in deinit
- duckdb.zig: Simplify enum definition
- build.zig: Remove crypto import for png module

Refs: RFC-0015
2026-02-03 17:29:07 +01:00
Markus Maiwald 0e21a5340c fix: Zig 0.15.2 syntax errors in PNG, skins, feed
- png.zig: Replace @pow with std.math.pow, fix variable names
- png.zig: Add crypto module import via build.zig
- transport_skins.zig: Replace inline else with explicit arms
- duckdb.zig: Change c_uint to u32
- feed.zig: Fix hex escape syntax, mark unused params

Refs: RFC-0015, Sprint 5
2026-02-03 17:26:44 +01:00
Markus Maiwald 8e05835330 feat(l0): RFC-0015 Transport Skins + PNG implementation
- png.zig: Polymorphic Noise Generator (ChaCha20-based)
  • Per-session deterministic noise from ECDH secret
  • Epoch rotation (100-1000 packets)
  • Statistical distributions: Normal, Pareto, Bimodal, LogNormal
  • Packet sizes, timing jitter, dummy injection

- transport_skins.zig: Pluggable skin interface
  • RawSkin: Direct UDP (baseline)
  • MimicHttpsSkin: WebSocket over TLS framing
  • Auto-selection via probing
  • PNG integration for padded frames

Tests: PNG determinism, epoch rotation, WebSocket framing
Next: TLS handshake (utls parroting), DNS skin

Refs: RFC-0015, features/transport/*.feature
2026-02-03 17:21:05 +01:00