HexName-Frontend/src/routes/faq/+page.svelte

224 lines
11 KiB
Svelte

<script lang="ts">
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 sm:flex-row">
<div class="w-full">
<h1 class="text-3xl font-bold">Frequently asked questions</h1>
<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-full sm:w-40">Get started</a>
</div>
</div>
</div>
<div class="divider"></div>
<h2 class="legend text-2xl font-bold p-4 m-4">Questions about our services</h2>
<!-- <div class="flex justify-center p-4 m-4">
<h2 class="text-4xl font-semibold max-w-2xl">
<span class="bg-gradient-to-t from-primary to-base-300">Questions</span> about our services
</h2>
</div> -->
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">What is HexName?</div>
<div class="collapse-content text-sm">HexName is a free DNS service that allows you to register and manage subdomains under domains we own, such as <code>example.hexname.com</code>, <code>example.loves-beer.com</code> and others.</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">Where can I learn more about using HexName?</div>
<div class="collapse-content text-sm">
<div class="p-2">
The easiest way to learn how to use HexName is to <a href="/register" class="link link-accent">sign up</a>, which takes less than 1 minute.
</div>
</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">Do you offer Dynamic DNS services?</div>
<div class="collapse-content text-sm">
<div class="p-2">
Yes! We provide a DDNS service for A and AAAA records, allowing you to update your DNS records automatically whenever your IP address changes.
</div>
</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">Are there going to be any costs in the future?</div>
<div class="collapse-content text-sm">
<div class="p-2">
Never. We promise to never put the basic features provided behind a paywall, and to keep the necessary features always 100% free.
</div>
</div>
</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>
<div class="collapse-content text-sm">
<div class="p-2">
Yes. The DNS and DDNS services are provided free of charge, with no usage fees.
</div>
</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">What DNS record types do you support?</div>
<div class="collapse-content text-sm">
<div class="p-2">
You can create and manage A, AAAA, TXT, CNAME, MX, NS, and SRV records for your registered subdomains.
</div>
</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">What domains does HexName provide for registration?</div>
<div class="collapse-content text-sm">
<div class="p-2">
As of now, we own the following domains: <code>hexname.com</code>, <code>loves-beer.com</code>, <code>dickdns.org</code>, and they can be used to register available subdomains.
</div>
</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">What does DDNS mean?</div>
<div class="collapse-content text-sm">
<div class="p-2">
DDNS stands for Dynamic DNS and is a service that lets you update a DNS record (usually an A/AAAA record) to point to your desired IP address.
</div>
<div class="p-2">
This is mostly useful for individuals who would like to expose services run at their home to the internet and have a memorable domain instead of having to use the IP address.
</div>
</div>
</div>
<div class="divider"></div>
<h2 class="legend text-2xl font-bold p-4 m-4">Questions about your account</h2>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">I forgot my password. What should I do?</div>
<div class="collapse-content text-sm">
<div class="p-2">
Click <a class="link link-accent" href="/forgot-password">here</a> or on "Forgot password" on the login page and follow the instructions sent to your email.
</div>
</div>
</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 delete my account?</div>
<div class="collapse-content text-sm">
<div class="p-2">
Click <a class="link link-accent" href="/delete-account">here</a> or the profile icon in the top right corner, then "Delete account", and you'll be prompted to the confirmation page.
</div>
</div>
</div>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">Can I register multiple domains?</div>
<div class="collapse-content text-sm">
<div class="p-2">
Yes. You may register up to 20 domains and manage any subdomain under them, such as <code>mail.example.hexname.com</code> and <code>email.example.hexname.com</code>.
</div>
</div>
</div>
<div class="divider"></div>
<h2 class="legend text-2xl font-bold p-4 m-4">Miscellaneous questions</h2>
<div class="collapse collapse-arrow bg-base-200 border border-base-300">
<input type="radio"/>
<div class="collapse-title font-semibold">How does HexName make money?</div>
<div class="collapse-content text-sm">
<div class="p-2">
I don't make a cent lol
</div>
</div>
</div>
</div>
</div>