Commit Graph

12 Commits

Author SHA1 Message Date
ee187ff1c0 Add full integration test with real Technitium DNS server
- Add docker-compose.integration.yml with Technitium + DDNS services
- Add full-integration-test.sh for end-to-end testing
- Add technitium-init.sh for automated zone/token setup
- Add comprehensive logging to DNS client
- Test creates real DNS records and verifies them in Technitium
- 8/9 tests passing with real DNS integration
2026-02-03 08:13:06 -05:00
01694f66a8 Add comprehensive logging and debug endpoints for production troubleshooting
- Add request logging middleware to main.go
- Add debug handler with health, config, stats, and test-dns endpoints
- Add detailed logging to DynDNS handler
- Add logging to Technitium DNS client
- Add database Ping() and GetStats() methods
- New endpoints:
  - /health - detailed health status with database and DNS checks
  - /debug/config - sanitized configuration
  - /debug/stats - database statistics
  - /debug/test-dns - live DNS test endpoint

This will help diagnose production issues with DNS updates.
2026-02-02 22:14:24 -05:00
ad494fa623 Fix .gitignore - add cmd/server/main.go and use absolute paths for binaries
The pattern 'server' was incorrectly ignoring cmd/server/ directory.
Changed to '/server' to only match root-level compiled binary.

Also committing cmd/server/main.go which was previously ignored.
2026-02-02 21:53:43 -05:00
f6d016677b Fix compose integration test - use unique subdomains and verify HTTP 201 2026-02-02 21:43:35 -05:00
967cc5aa7e Update Dockerfile to use Go 1.24 to match go.mod 2026-02-02 21:30:16 -05:00
133c94bfb9 Add podman-compose/docker-compose integration tests 2026-02-02 21:27:10 -05:00
058fec14eb Add testing documentation to README 2026-02-01 17:53:11 -05:00
63c3c10f2b Add comprehensive test suite 2026-02-01 17:53:03 -05:00
c5279243c0 Add custom filter for DWS and Tanishq Dubey trademarks
- Create custom_filter.go with DWS/Tanishq Dubey term detection
- Block variations including:
  - DWS, Dubey Web Services, DWS Engineering LLC
  - Tanishq Dubey, tdubey
  - Leet speak variations (dub3y, t4nishq, dw5, etc.)
  - Combined terms (dubeydns, dws-ddns, etc.)
- Update frontend to show 'reserved' message for blocked terms
- Filters are case-insensitive and handle separators

Protects brand identity and personal name from being used
in user subdomains
2026-02-01 17:17:52 -05:00
f96aaf1e96 Add profanity filter for subdomain validation
- Integrate github.com/TwiN/go-away for content filtering
- Check subdomains for inappropriate content during validation
- Update frontend to display 'inappropriate content' message
- Blocks profane subdomains from being claimed

Uses go-away's built-in profanity dictionary to detect:
- Leet speak substitutions (e.g., @73447h013)
- Obfuscated profanity
- Common inappropriate terms
2026-02-01 16:45:29 -05:00
f3f1c0a0c8 Add Kubernetes/K3s deployment manifests and documentation
- Complete k8s manifests with Kustomize support
- Production and staging overlays
- ConfigMap/Secret management
- Ingress with TLS (Traefik/NGINX)
- Persistent storage for SQLite
- Comprehensive k8s README with operations guide
- Updated main README with k8s deployment instructions
- Gitignore for k8s secrets

Usage:
  kubectl apply -k k8s/overlays/production
2026-02-01 16:40:16 -05:00
2470f121e2 Initial commit: DDNS service with NIC V2 protocol support
Features:
- Token-based subdomain claiming
- NIC V2 (DynDNS2) protocol implementation
- Technitium DNS integration
- Rate limiting (10 req/min IP, 1 req/min token)
- Web UI for space claiming
- Docker/Docker Compose support
- Compatible with UniFi, pfSense, EdgeRouter

Module: git.dws.rip/DWS/dyn
2026-02-01 16:37:09 -05:00