feat: add full Zonemaster stack with Docker and Spanish UI

- Clone all 5 Zonemaster component repos (LDNS, Engine, CLI, Backend, GUI)
- Dockerfile.backend: 8-stage multi-stage build LDNS→Engine→CLI→Backend
- Dockerfile.gui: Astro static build served via nginx
- docker-compose.yml: backend (internal) + frontend (port 5353)
- nginx.conf: root redirects to /es/, /api/ proxied to backend
- zonemaster-gui/config.ts: defaultLanguage set to 'es' (Spanish)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-21 08:19:24 +02:00
commit 8d4eaa1489
1567 changed files with 204155 additions and 0 deletions

22
zonemaster-ldns/t/utils.t Normal file
View File

@@ -0,0 +1,22 @@
use Test::More;
BEGIN { use_ok( 'Zonemaster::LDNS' ) }
SKIP: {
skip 'no network', 5 unless $ENV{TEST_WITH_NETWORK};
my $res = new_ok( 'Zonemaster::LDNS', ['8.8.4.4'] );
my @addrs = sort $res->name2addr( 'b.ns.se' );
my $count = $res->name2addr( 'b.ns.se' );
is_deeply( \@addrs, [ "192.36.133.107", "2001:67c:254c:301::53" ], 'expected addresses' );
is( $count, 2, 'expected count' );
my @names = sort $res->addr2name( '8.8.8.8' );
$count = $res->addr2name( '8.8.8.8' );
is_deeply( [map {lc($_)} @names], ['dns.google.'], 'expected names' );
is( $count, 1, 'expected name count' );
}
done_testing;