'error', 'message' => 'Geen geldig domein opgegeven.']);
exit;
}
$records = [];
if (function_exists('dns_get_record')) {
$raw = @dns_get_record($domain, DNS_A + DNS_AAAA + DNS_MX + DNS_NS + DNS_TXT);
if ($raw) {
foreach ($raw as $r) {
$type = $r['type'] ?? 'UNKNOWN';
$val = $r['ip'] ?? ($r['ipv6'] ?? ($r['target'] ?? ($r['txt'] ?? '')));
$records[] = [
'host' => $r['host'] ?? $domain,
'type' => $type,
'value' => $val,
'ttl' => $r['ttl'] ?? 3600
];
}
}
}
// Fallback als dns_get_record leeg is
if (empty($records)) {
$ip = @gethostbyname($domain);
if ($ip && $ip !== $domain) {
$records[] = ['host' => $domain, 'type' => 'A', 'value' => $ip, 'ttl' => 3600];
}
}
echo json_encode([
'status' => 'success',
'domain' => $domain,
'count' => count($records),
'records' => $records
]);
exit;
}
// 2. Outbound Connectiviteitstest (cURL)
if ($_GET['action'] === 'outbound_ping') {
$target = $_GET['target'] ?? 'https://git.webenpcstudio.nl';
$allowed = ['https://git.webenpcstudio.nl', 'https://www.google.com', 'https://api.github.com'];
if (!in_array($target, $allowed)) {
$target = 'https://git.webenpcstudio.nl';
}
$ch = curl_init($target);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
$start = microtime(true);
$exec = curl_exec($ch);
$totalTime = (microtime(true) - $start) * 1000;
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$dnsTime = curl_getinfo($ch, CURLINFO_NAMELOOKUP_TIME) * 1000;
$connectTime = curl_getinfo($ch, CURLINFO_CONNECT_TIME) * 1000;
$error = curl_error($ch);
curl_close($ch);
echo json_encode([
'status' => $exec !== false ? 'success' : 'error',
'target' => $target,
'http_code' => $httpCode,
'total_ms' => round($totalTime, 1),
'dns_ms' => round($dnsTime, 1),
'connect_ms' => round($connectTime, 1),
'error' => $error
]);
exit;
}
// 3. Hash & Encoding API
if ($_GET['action'] === 'transform' && isset($_POST['input'])) {
$text = (string)$_POST['input'];
echo json_encode([
'status' => 'success',
'md5' => md5($text),
'sha1' => sha1($text),
'sha256' => hash('sha256', $text),
'base64_enc' => base64_encode($text),
'url_enc' => rawurlencode($text),
'length' => mb_strlen($text),
'bytes' => strlen($text)
]);
exit;
}
echo json_encode(['status' => 'error', 'message' => 'Onbekende actie']);
exit;
}
date_default_timezone_set('Europe/Amsterdam');
$headers = function_exists('getallheaders') ? getallheaders() : [];
$phpVersion = PHP_VERSION;
$clientIp = $_SERVER['REMOTE_ADDR'] ?? 'Onbekend';
$userAgent = $_SERVER['HTTP_USER_AGENT'] ?? 'Onbekend';
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'HTTPS' : 'HTTP';
// Extensies check
$extensions = [
'Database' => ['pdo', 'pdo_mysql', 'pdo_sqlite', 'mysqli'],
'Beveiliging & Crypto' => ['openssl', 'sodium', 'hash'],
'Netwerk & Web' => ['curl', 'sockets', 'fileinfo'],
'Compressie & Media' => ['zip', 'zlib', 'gd', 'mbstring']
];
// Server load
$load = function_exists('sys_getloadavg') ? @sys_getloadavg() : false;
$loadDisplay = $load ? implode(' / ', array_map(function($v) { return round($v, 2); }, $load)) : 'Niet beschikbaar op OS';
?>
Web & PC Studio - Dev Tools & Inspector
Systeem & Developer Tools
Realtime DNS lookup utility, HTTP header inspectie, PHP extensie matrix en outbound netwerk diagnostics.
Vraag rechtstreeks vanaf deze server de A, AAAA, MX, NS en TXT records op van een domein.
Voer een domeinnaam in en klik op "Query DNS" om actieve records op te halen.
Test of de webserver vanuit PHP naar buiten kan verbinden (bijv. voor Git webhooks of API communicatie).
Selecteer een doel en klik op Ping.
Overzicht van geladen modules die cruciaal zijn voor databases, encryptie, netwerkcommunicatie en bestandsverwerking.
$extList): ?>
= $cat; ?>
= $isLoaded ? '✓' : '✗'; ?> = $ext; ?>
Server Load Average (1 / 5 / 15 min): = htmlspecialchars($loadDisplay); ?>
Actief Werkgeheugen: = round(memory_get_usage() / 1024 / 1024, 1); ?> MB
Headers zoals ontvangen door de webserver voor de huidige verbinding van client = htmlspecialchars($clientIp); ?>.