This commit implements full AmneziaWG support including kernel module building,
obfuscation parameter management, and conditional UI display.
## Kernel Module Support
- Build amneziawg kernel module for Alpine LTS kernel 6.12.50
- Multi-stage Docker build with kernel_module_builder
- Pre-compile module during image build for target kernel
- Graceful fallback to standard WireGuard if build fails
- Copy built module to /lib/modules/ in final image
## Database & Schema Changes
- Add AWG obfuscation parameters to interface schema:
* Core params: jc, jmin, jmax, s1, s2, h1-h4
* Advanced params: s3, s4, i1-i5, j1-j3, itime
- Set sensible defaults with QUIC packet mimic for i1
- Add migration SQL with all AWG columns
- Implement Zod validation for all parameters with amneziawg-go constraints
## Backend Implementation
- Create awg-params.ts utility for random parameter generation
- Modify wgHelper.ts to include AWG params in server/client configs
- Add isUsingAwg() detection function
- Auto-generate random AWG parameters on first run
- Update API endpoint to return AWG status flag
- Add #utils alias to nuxt.config.ts
## Frontend/UI Changes
- Add comprehensive AWG parameter form fields in interface.vue
- Conditional display: show AWG fields only when AWG is active
- Show informative message when AWG is not enabled
- All 23 parameters editable with validation hints
- Organized in "AmneziaWG Obfuscation Parameters" section
## Documentation
- Add AMNEZIAWG_BUILD.md with build architecture details
- Add AWG_UI_IMPLEMENTATION.md with usage guide
- Add amnezia-kernel-module.md documentation
- Document all parameters, constraints, and usage
## Features
- Automatic AWG parameter randomization for each installation
- Comprehensive validation (frontend, backend, database)
- Clean UI that adapts to WireGuard implementation in use
- Support for AWG 1.0 and 1.5 advanced obfuscation features
- Compatible with Alpine Linux LTS kernel 6.12.50
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>