init commit

This commit is contained in:
Luka Dekanozishvili 2026-01-18 14:55:11 +01:00
parent dfe324cf8f
commit 7e37f1bbe0
31 changed files with 2103 additions and 718 deletions

View file

@ -1,19 +1,57 @@
<div class="flex flex-col items-center min-h-full">
<div class="w-4xl">
<script lang="ts">
import { page } from "$app/state";
let copied = $state(false);
let resetTimer: NodeJS.Timeout | undefined;
function copyToken() {
if (copied) return;
let tokenScript =
"#!/bin/bash\n" +
"IP=$(curl -s http://ipv4.icanhazip.com)\n" +
`curl -X PUT https://hexname.com/api/v1/ddns/ipv4/[YOUR_TOKEN_HERE]/$IP`;
navigator.clipboard.writeText(tokenScript);
copied = true;
let btn = document.getElementById("copy-btn")
btn?.classList.add("swap-active");
clearTimeout(resetTimer);
resetTimer = setTimeout(() => {
copied = false;
btn?.classList.remove("swap-active");
}, 1000);
}
</script>
<svelte:head>
<title>FAQ | HexName - Free, uncomplicated DNS management</title>
<meta property="og:title" content="FAQ | HexName - Free, uncomplicated DNS management">
<meta name="twitter:title" content="FAQ | HexName - Free, uncomplicated DNS management">
<meta name="description" content="Get answers for the most commonly asked questions about DNS/DynDNS/our services - so you can focus on what truly matters.">
<meta property="og:description" content="Get answers for the most commonly asked questions about DNS/DynDNS/our services - so you can focus on what truly matters.">
<meta name="twitter:description" content="Get answers for the most commonly asked questions about DNS/DynDNS/our services - so you can focus on what truly matters.">
<meta name="robots" content="index, follow">
</svelte:head>
<div class="flex flex-col items-center">
<div class="max-w-4xl m-4">
<div class="hero bg-base-200">
<div class="hero-content flex-col lg:flex-row-reverse">
<div class="mockup-code w-110">
<pre data-prefix="$"><code>Question?</code></pre>
<pre data-prefix=">" class="text-warning"><code>Answering...</code></pre>
<pre data-prefix=">" class="text-success"><code>Done!</code></pre>
</div>
<div>
<div class="hero-content flex-col sm:flex-row">
<div class="w-full">
<h1 class="text-3xl font-bold">Frequently asked questions</h1>
<div class="py-6">
Find some of HexName's most frequently asked questions and answers about our services, security, getting started, and support.
<div class="flex flex-col sm:flex-row items-center justify-center">
<div class="py-6 leading-8">
Find some of HexName's most frequently asked questions and answers about our services, security, getting started, and support.
</div>
<div class="mockup-code max-w-60 min-w-60 mx-4 not-sm:mb-6">
<pre data-prefix="$"><code>Question?</code></pre>
<pre data-prefix=">" class="text-warning"><code>Answering...</code></pre>
<pre data-prefix=">" class="text-success"><code>Done!</code></pre>
</div>
</div>
<a href="/register" class="btn btn-primary w-40">Get started</a>
<a href="/register" class="btn btn-primary w-full sm:w-40">Get started</a>
</div>
</div>
</div>
@ -58,6 +96,37 @@
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">How do I use my DDNS token to update my A/AAAA record?</div>
<div class="collapse-content text-sm">
<div class="p-2">
To update your A/AAAA record using the token, you have to make an HTTP PUT request to the following URL: <code>https://hexname.com/api/v1/ddns/ipv4/[TOKEN]/[NEW_IP]</code>
<p></p>
Here is a basic Bash script you can set to periodically update your IP:
<div class="mockup-code my-4 relative bg-base-300">
<label id="copy-btn" class="btn btn-circle swap swap-rotate absolute top-2 right-2">
<input type="checkbox" bind:checked={copied} onclick={(e) => {e.preventDefault(); copyToken();}}/>
<svg class="size-6 swap-off" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0 0 13.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 0 1-.75.75H9a.75.75 0 0 1-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 0 1-2.25 2.25H6.75A2.25 2.25 0 0 1 4.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 0 1 1.927-.184"/></svg>
<svg class="size-6 swap-on" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5"/></svg>
</label>
<div class="overflow-x-auto p-2">
<pre><code>#!/bin/bash</code></pre>
<pre><code>IP=$(curl -s http://ipv4.icanhazip.com)</code></pre>
<pre><code>curl -X PUT https://hexname.com/api/v1/ddns/ipv4/[YOUR_TOKEN_HERE]/$IP</code></pre>
</div>
</div>
The second line uses a public API to fetch your current IP.
The third line updates the record with the new IP using your token.
<p></p>
To update your AAAA record with your IPv6 address, replace <code>ipv4</code> in the script with <code>ipv6</code> in both places.
</div>
</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">Is this service really free?</div>