Port Security for Linux (C# / Mono WinForms, nftables backend)

Install:   sudo ./install.sh
Run:       portsecurity          (asks for sudo; shows the license window first)
Rebuild:   ./build.sh

- License: same server check as the Windows build (RSA-signed reply, 12s timeout,
  signed cached token accepted offline). Machine ID comes from /etc/machine-id.
- Rules live in their own nftables table "portsecurity"; saved in /var/lib/portsecurity.
- Rules are re-applied on app start and at boot by the portsecurity.service unit
  (which needs a previously activated license).
- Blocked attempts are read from the kernel log (journalctl -k).
