Some checks failed
Build & Sign Wraith / Build Windows + Sign (push) Failing after 7s
4 new tools with full backend + popup UIs: DNS Lookup: - dig/nslookup/host fallback chain on remote host - Record type selector (A, AAAA, MX, NS, TXT, CNAME, SOA, SRV, PTR) Whois: - Remote whois query, first 80 lines - Works for domains and IP addresses Bandwidth Test (2 modes): - iperf3: LAN speed test between remote host and iperf server - Internet: speedtest-cli / curl-based Cloudflare test fallback Subnet Calculator: - Pure Rust, no SSH needed - CIDR input with quick-select buttons (/8 through /32) - Displays: network, broadcast, netmask, wildcard, host range, total/usable hosts, class, private/public Tools menu now has 11 items across 3 sections. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
32 lines
1.6 KiB
Vue
32 lines
1.6 KiB
Vue
<template>
|
|
<div class="flex flex-col h-full p-4 gap-3">
|
|
<div class="flex items-center gap-2">
|
|
<input v-model="domain" type="text" placeholder="Domain name" class="px-3 py-1.5 text-sm rounded bg-[#161b22] border border-[#30363d] text-[#e0e0e0] outline-none focus:border-[#58a6ff] flex-1" @keydown.enter="lookup" />
|
|
<select v-model="recordType" class="px-3 py-1.5 text-sm rounded bg-[#161b22] border border-[#30363d] text-[#e0e0e0] outline-none cursor-pointer">
|
|
<option v-for="t in ['A','AAAA','MX','NS','TXT','CNAME','SOA','SRV','PTR']" :key="t" :value="t">{{ t }}</option>
|
|
</select>
|
|
<button class="px-4 py-1.5 text-sm font-bold rounded bg-[#58a6ff] text-black cursor-pointer disabled:opacity-40" :disabled="running" @click="lookup">Lookup</button>
|
|
</div>
|
|
<pre class="flex-1 overflow-auto bg-[#161b22] border border-[#30363d] rounded p-3 text-xs font-mono whitespace-pre-wrap text-[#e0e0e0]">{{ output || "Enter a domain and click Lookup" }}</pre>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { ref } from "vue";
|
|
import { invoke } from "@tauri-apps/api/core";
|
|
const props = defineProps<{ sessionId: string }>();
|
|
const domain = ref("");
|
|
const recordType = ref("A");
|
|
const output = ref("");
|
|
const running = ref(false);
|
|
|
|
async function lookup(): Promise<void> {
|
|
if (!domain.value) return;
|
|
running.value = true;
|
|
try {
|
|
output.value = await invoke<string>("tool_dns_lookup", { sessionId: props.sessionId, domain: domain.value, recordType: recordType.value });
|
|
} catch (err) { output.value = String(err); }
|
|
running.value = false;
|
|
}
|
|
</script>
|