Compare commits
No commits in common. "master" and "pages" have entirely different histories.
37 changed files with 127 additions and 903 deletions
39
.drone.yml
39
.drone.yml
|
@ -1,39 +0,0 @@
|
|||
kind: pipeline
|
||||
type: docker
|
||||
name: Build & Deploy
|
||||
|
||||
clone:
|
||||
disable: true
|
||||
|
||||
steps:
|
||||
- name: Clone
|
||||
image: woodpeckerci/plugin-git
|
||||
settings:
|
||||
recursive: true
|
||||
|
||||
- name: Build site
|
||||
image: denoland/deno
|
||||
commands:
|
||||
- deno task build
|
||||
depends_on:
|
||||
- "Clone"
|
||||
|
||||
- name: Push to Pages
|
||||
image: plugins/gh-pages
|
||||
settings:
|
||||
remote_url:
|
||||
from_secret: URL
|
||||
password:
|
||||
from_secret: PASS
|
||||
target_branch: pages
|
||||
pages_directory: dist
|
||||
copy_contents: true
|
||||
user_name: Sam Therapy
|
||||
user_email: sam@samtherapy.net
|
||||
depends_on:
|
||||
- "Build site"
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
|
@ -1,12 +0,0 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
88
.gitignore
vendored
88
.gitignore
vendored
|
@ -1,88 +0,0 @@
|
|||
# Lume generated site
|
||||
dist/
|
||||
|
||||
# DS Store
|
||||
.DS_Store
|
||||
._.DS_Store
|
||||
**/.DS_Store
|
||||
**/._.DS_Store
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# Snyk
|
||||
.dccache
|
11
.vscode/settings.json
vendored
11
.vscode/settings.json
vendored
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"deno.enable": true,
|
||||
"deno.lint": true,
|
||||
"deno.unstable": true,
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "denoland.vscode-deno"
|
||||
},
|
||||
"[typescriptreact]": {
|
||||
"editor.defaultFormatter": "denoland.vscode-deno"
|
||||
}
|
||||
}
|
1
404.html
Normal file
1
404.html
Normal file
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>404</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Froth DNS"property=og:site_name><meta content=en property=og:locale><meta content="All you need to know about the services provided by dns.froth.zone"property=og:description><meta content=https://dns.froth.zone/404.html property=og:url><meta content="All you need to know about the services provided by dns.froth.zone"name=twitter:description><meta content=summary name=twitter:card><meta content="All you need to know about the services provided by dns.froth.zone"itemprop=description><meta content="All you need to know about the services provided by dns.froth.zone"name=description><meta content="DNS, nameserver, DNS server, froth.zone, froth DNS, froth zone"name=keywords><meta content="Lume v1.15.2"name=generator><body><nav><ul class=main-nav><li><a href=/>/</a><li><a href=/nameservers>Nameservers</a><li><a href=/resolver>Resolver</a><li><a href=/awl>awl</a><li><a href=/pomme>pomme</a><li class=push><a href=https://status.froth.zone/status/dns>Status</a></ul></nav><header><h1>404</h1><h2>Not found</h2></header><main><p>The page you are looking for does not exist.<p>Did it ever?</main><footer><small> Built with <a href=https://lume.land>Lume</a> • <a href=https://git.froth.zone/sam/dns.froth.zone>Source</a> • <a href=https://samtherapy.net>Owner</a> </small></footer>
|
60
_config.ts
60
_config.ts
|
@ -1,60 +0,0 @@
|
|||
import lume from "lume/mod.ts"
|
||||
|
||||
// Stable plugins
|
||||
import attributes from "lume/plugins/attributes.ts"
|
||||
import codeHighlight from "lume/plugins/code_highlight.ts"
|
||||
import esbuild from "lume/plugins/esbuild.ts"
|
||||
import jsx from "lume/plugins/jsx_preact.ts"
|
||||
import katex from "lume/plugins/katex.ts"
|
||||
import lightningcss from "lume/plugins/lightningcss.ts"
|
||||
import metas from "lume/plugins/metas.ts"
|
||||
import minifyHTML from "lume/plugins/minify_html.ts"
|
||||
import mdx from "lume/plugins/mdx.ts"
|
||||
import pug from "lume/plugins/pug.ts"
|
||||
import remark from "lume/plugins/remark.ts"
|
||||
import sass from "lume/plugins/sass.ts"
|
||||
import sitemap from "lume/plugins/sitemap.ts"
|
||||
import sourceMaps from "lume/plugins/source_maps.ts"
|
||||
import svgo from "lume/plugins/svgo.ts"
|
||||
|
||||
// Experimental plugins
|
||||
|
||||
// Custom plugins
|
||||
import toml from "./custom/toml/toml.ts"
|
||||
|
||||
const site = lume({
|
||||
src: "./src",
|
||||
dest: "./dist",
|
||||
location: new URL("https://dns.froth.zone"),
|
||||
})
|
||||
|
||||
site
|
||||
.copy("static", ".")
|
||||
.copy("static/.well-known", ".well-known")
|
||||
.copy(".domains")
|
||||
.loadData([".toml"], toml)
|
||||
.use(attributes())
|
||||
.use(codeHighlight())
|
||||
.use(katex())
|
||||
.use(metas())
|
||||
.use(jsx())
|
||||
.use(mdx())
|
||||
.use(remark())
|
||||
.use(pug())
|
||||
.use(sitemap())
|
||||
.use(svgo())
|
||||
.remoteFile(
|
||||
"_includes/styles/external/nord.min.css",
|
||||
"https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.6.0/build/styles/nord.min.css",
|
||||
)
|
||||
.use(esbuild({
|
||||
extensions: [".ts", ".js"],
|
||||
}))
|
||||
.use(lightningcss())
|
||||
.use(sass())
|
||||
.use(minifyHTML())
|
||||
.use(sourceMaps({
|
||||
sourceContent: true,
|
||||
}))
|
||||
|
||||
export default site
|
91
awl/index.html
Normal file
91
awl/index.html
Normal file
|
@ -0,0 +1,91 @@
|
|||
<!doctype html><html lang=en><title>awl(1)</title><meta content="dns.froth.zone/awl git https://git.froth.zone/sam/awl"name=go-import><meta content="dns.froth.zone/awl https://git.froth.zone/sam/awl https://git.froth.zone/sam/awl/tree/master{/dir} https://git.froth.zone/sam/awl/src/branch/master{/dir}/{file}#L{line}"name=go-source><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Froth DNS"property=og:site_name><meta content=en property=og:locale><meta content="All you need to know about the services provided by dns.froth.zone"property=og:description><meta content=https://dns.froth.zone/awl/ property=og:url><meta content="All you need to know about the services provided by dns.froth.zone"name=twitter:description><meta content=summary name=twitter:card><meta content="All you need to know about the services provided by dns.froth.zone"itemprop=description><meta content="All you need to know about the services provided by dns.froth.zone"name=description><meta content="DNS, nameserver, DNS server, froth.zone, froth DNS, froth zone"name=keywords><meta content="Lume v1.15.2"name=generator><body><nav><ul class=main-nav><li><a href=/>/</a><li><a href=/nameservers>Nameservers</a><li><a href=/resolver>Resolver</a><li><a href=/awl>awl</a><li><a href=/pomme>pomme</a><li class=push><a href=https://status.froth.zone/status/dns>Status</a></ul></nav><header><h1>awl(1)</h1><h2>A simple DNS client</h2></header><main><p><a href=https://git.froth.zone/sam/awl>awl</a> is a simple DNS query client, much like dig and drill.<pre><code>❯ awl NS froth.zone @https://dns.froth.zone/dns-query
|
||||
;; opcode: QUERY, status: NOERROR, id: 46274
|
||||
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 8
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;froth.zone. IN NS
|
||||
|
||||
;; ANSWER SECTION:
|
||||
froth.zone. 1650 IN NS illya.froth.zone.
|
||||
froth.zone. 1650 IN NS rin.froth.zone.
|
||||
froth.zone. 1650 IN NS sakura.froth.zone.
|
||||
froth.zone. 1650 IN NS saber.froth.zone.
|
||||
|
||||
;; ADDITIONAL SECTION:
|
||||
rin.froth.zone. 1650 IN AAAA 2607:5300:201:3100::931b
|
||||
sakura.froth.zone. 1650 IN AAAA 2001:41d0:304:200::d12b
|
||||
saber.froth.zone. 1650 IN AAAA 2602:fe90:100:2::164d:4c70
|
||||
illya.froth.zone. 1650 IN AAAA 2603:c020:4004:62ee::8888
|
||||
rin.froth.zone. 1650 IN A 158.69.1.114
|
||||
sakura.froth.zone. 1650 IN A 141.94.206.97
|
||||
saber.froth.zone. 1650 IN A 45.13.232.162
|
||||
illya.froth.zone. 1650 IN A 129.213.157.255
|
||||
|
||||
;; Query time: 404.9936ms
|
||||
;; SERVER: https://dns.froth.zone/dns-query
|
||||
;; WHEN: Never
|
||||
;; MSG SIZE rcvd: 489
|
||||
</code></pre><hr><p><code>awl</code> understands DNSSEC, like <a href=https://linux.die.net/man/1/drill><code>drill(1)</code></a>:<pre><code>❯ awl brokendnssec.net @1.1.1.1 --tcp
|
||||
;; opcode: QUERY, status: SERVFAIL, id: 45766
|
||||
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;brokendnssec.net. IN A
|
||||
|
||||
;; Query time: 6.0461ms
|
||||
;; SERVER: 1.1.1.1:53 (TCP)
|
||||
;; WHEN: Never
|
||||
;; MSG SIZE rcvd: 34
|
||||
❯ awl brokendnssec.net @1.1.1.1 --cd +tcp
|
||||
;; opcode: QUERY, status: NOERROR, id: 37917
|
||||
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;brokendnssec.net. IN A
|
||||
|
||||
;; ANSWER SECTION:
|
||||
brokendnssec.net. 294 IN A 172.67.36.129
|
||||
brokendnssec.net. 294 IN A 104.22.35.212
|
||||
brokendnssec.net. 294 IN A 104.22.34.212
|
||||
|
||||
;; Query time: 8.4461ms
|
||||
;; SERVER: 1.1.1.1:53 (TCP)
|
||||
;; WHEN: Never
|
||||
;; MSG SIZE rcvd: 130
|
||||
</code></pre><hr><p>It supports many of the flags that <a href=https://man.openbsd.org/dig.1><code>dig(1)</code></a> does:<pre><code>❯ awl +noquestion +noauthority +nostats cat-v.org
|
||||
;; opcode: QUERY, status: NOERROR, id: 39675
|
||||
;; flags: qr rd ra; QUERY: 0, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
|
||||
|
||||
;; ANSWER SECTION:
|
||||
cat-v.org. 9418 IN A 168.235.69.224
|
||||
</code></pre><hr><p>And <a href=./man>some new features</a>, too!<pre><code class="language-xml hljs">❯ awl +quic --xml codeberg.org
|
||||
<span class=hljs-tag><<span class=hljs-name>Msg</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Id</span>></span>22108<span class=hljs-tag></<span class=hljs-name>Id</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Response</span>></span>true<span class=hljs-tag></<span class=hljs-name>Response</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Opcode</span>></span>0<span class=hljs-tag></<span class=hljs-name>Opcode</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Authoritative</span>></span>false<span class=hljs-tag></<span class=hljs-name>Authoritative</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Truncated</span>></span>false<span class=hljs-tag></<span class=hljs-name>Truncated</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>RecursionDesired</span>></span>true<span class=hljs-tag></<span class=hljs-name>RecursionDesired</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>RecursionAvailable</span>></span>true<span class=hljs-tag></<span class=hljs-name>RecursionAvailable</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Zero</span>></span>false<span class=hljs-tag></<span class=hljs-name>Zero</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>AuthenticatedData</span>></span>false<span class=hljs-tag></<span class=hljs-name>AuthenticatedData</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>CheckingDisabled</span>></span>false<span class=hljs-tag></<span class=hljs-name>CheckingDisabled</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Rcode</span>></span>0<span class=hljs-tag></<span class=hljs-name>Rcode</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Compress</span>></span>false<span class=hljs-tag></<span class=hljs-name>Compress</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Question</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Name</span>></span>codeberg.org.<span class=hljs-tag></<span class=hljs-name>Name</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Qtype</span>></span>1<span class=hljs-tag></<span class=hljs-name>Qtype</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Qclass</span>></span>1<span class=hljs-tag></<span class=hljs-name>Qclass</span>></span>
|
||||
<span class=hljs-tag></<span class=hljs-name>Question</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Answer</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Hdr</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Name</span>></span>codeberg.org.<span class=hljs-tag></<span class=hljs-name>Name</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Rrtype</span>></span>1<span class=hljs-tag></<span class=hljs-name>Rrtype</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Class</span>></span>1<span class=hljs-tag></<span class=hljs-name>Class</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Ttl</span>></span>3600<span class=hljs-tag></<span class=hljs-name>Ttl</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>Rdlength</span>></span>4<span class=hljs-tag></<span class=hljs-name>Rdlength</span>></span>
|
||||
<span class=hljs-tag></<span class=hljs-name>Hdr</span>></span>
|
||||
<span class=hljs-tag><<span class=hljs-name>A</span>></span>193.26.156.135<span class=hljs-tag></<span class=hljs-name>A</span>></span>
|
||||
<span class=hljs-tag></<span class=hljs-name>Answer</span>></span>
|
||||
<span class=hljs-tag></<span class=hljs-name>Msg</span>></span>
|
||||
</code></pre><hr><p>A full list of the features <code>awl</code> supports can be found <a href=https://git.froth.zone/sam/awl/wiki/Supported>here</a>.</main><footer><small> Built with <a href=https://lume.land>Lume</a> • <a href=https://git.froth.zone/sam/dns.froth.zone>Source</a> • <a href=https://samtherapy.net>Owner</a> </small></footer>
|
2
css/style.css
Normal file
2
css/style.css
Normal file
File diff suppressed because one or more lines are too long
1
css/style.css.map
Normal file
1
css/style.css.map
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,6 +0,0 @@
|
|||
import { parse } from "std/encoding/toml.ts"
|
||||
|
||||
export default async function toml(path: string | URL) {
|
||||
const content = await Deno.readTextFile(path)
|
||||
return parse(content)
|
||||
}
|
42
deno.json
42
deno.json
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
"tasks": {
|
||||
"lume": "echo \"import 'lume/cli.ts'\" | deno run --unstable -A -",
|
||||
"build": "deno task lume",
|
||||
"serve": "deno task lume -s"
|
||||
},
|
||||
"lock": false,
|
||||
"compilerOptions": {
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "npm:preact",
|
||||
"lib": [
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
"dom.asynciterable",
|
||||
"deno.ns"
|
||||
]
|
||||
},
|
||||
"imports": {
|
||||
"lume/": "https://deno.land/x/lume@v1.15.2/",
|
||||
"experimental/": "https://raw.githubusercontent.com/lumeland/experimental-plugins/main/",
|
||||
"std/": "https://deno.land/std/"
|
||||
},
|
||||
"lint": {
|
||||
"files": {
|
||||
"exclude": [
|
||||
"src/_includes/styles/external/",
|
||||
"dist/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"fmt": {
|
||||
"options": {
|
||||
"semiColons": false
|
||||
},
|
||||
"files": {
|
||||
"exclude": [
|
||||
"src/_includes/styles/external/",
|
||||
"dist"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
1
dnscrypt/index.html
Normal file
1
dnscrypt/index.html
Normal file
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>Redirecting...</title><meta content="dns.froth.zone/dnscrypt git https://github.com/SamTherapy/dnscrypt"name=go-import><meta content="dns.froth.zone/dnscrypt https://github.com/SamTherapy/dnscrypt https://github.com/SamTherapy/dnscrypt/tree/master{/dir} https://github.com/SamTherapy/dnscrypt/blob/master{/dir}/{file}#L{line}"name=go-source><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Froth DNS"property=og:site_name><meta content=en property=og:locale><meta content="All you need to know about the services provided by dns.froth.zone"property=og:description><meta content=https://dns.froth.zone/dnscrypt/ property=og:url><meta content="All you need to know about the services provided by dns.froth.zone"name=twitter:description><meta content=summary name=twitter:card><meta content="All you need to know about the services provided by dns.froth.zone"itemprop=description><meta content="All you need to know about the services provided by dns.froth.zone"name=description><meta content="DNS, nameserver, DNS server, froth.zone, froth DNS, froth zone"name=keywords><meta content="Lume v1.15.2"name=generator><body><nav><ul class=main-nav><li><a href=/>/</a><li><a href=/nameservers>Nameservers</a><li><a href=/resolver>Resolver</a><li><a href=/awl>awl</a><li><a href=/pomme>pomme</a><li class=push><a href=https://status.froth.zone/status/dns>Status</a></ul></nav><header><h1>Redirecting...</h1><h2>https://github.com/SamTherapy/dnscrypt</h2></header><main><meta content="0; url=https://github.com/SamTherapy/dnscrypt"http-equiv=refresh></main><footer><small> Built with <a href=https://lume.land>Lume</a> • <a href=https://git.froth.zone/sam/dns.froth.zone>Source</a> • <a href=https://samtherapy.net>Owner</a> </small></footer>
|
1
index.html
Normal file
1
index.html
Normal file
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>Froth DNS Service</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Froth DNS"property=og:site_name><meta content=en property=og:locale><meta content="All you need to know about the services provided by dns.froth.zone"property=og:description><meta content=https://dns.froth.zone/ property=og:url><meta content="All you need to know about the services provided by dns.froth.zone"name=twitter:description><meta content=summary name=twitter:card><meta content="All you need to know about the services provided by dns.froth.zone"itemprop=description><meta content="All you need to know about the services provided by dns.froth.zone"name=description><meta content="DNS, nameserver, DNS server, froth.zone, froth DNS, froth zone"name=keywords><meta content="Lume v1.15.2"name=generator><body><nav><ul class=main-nav><li><a href=/>/</a><li><a href=/nameservers>Nameservers</a><li><a href=/resolver>Resolver</a><li><a href=/awl>awl</a><li><a href=/pomme>pomme</a><li class=push><a href=https://status.froth.zone/status/dns>Status</a></ul></nav><header><h1>Froth DNS Service</h1><h2>Welcome to the Froth DNS service!</h2></header><main><h4>Hello there.</h4><p>This is a landing page for the DNS services that I host.<p><br> <br> <br> <br> <br> <br> <br> <br> <br> Yes, I know I have a problem.<p>No, you don't have to remind me.</main><footer><small> Built with <a href=https://lume.land>Lume</a> • <a href=https://git.froth.zone/sam/dns.froth.zone>Source</a> • <a href=https://samtherapy.net>Owner</a> </small></footer>
|
1
nameservers/index.html
Normal file
1
nameservers/index.html
Normal file
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>Froth.zone Nameservers</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Froth DNS"property=og:site_name><meta content=en property=og:locale><meta content="All you need to know about the services provided by dns.froth.zone"property=og:description><meta content=https://dns.froth.zone/nameservers/ property=og:url><meta content="All you need to know about the services provided by dns.froth.zone"name=twitter:description><meta content=summary name=twitter:card><meta content="All you need to know about the services provided by dns.froth.zone"itemprop=description><meta content="All you need to know about the services provided by dns.froth.zone"name=description><meta content="DNS, nameserver, DNS server, froth.zone, froth DNS, froth zone"name=keywords><meta content="Lume v1.15.2"name=generator><body><nav><ul class=main-nav><li><a href=/>/</a><li><a href=/nameservers>Nameservers</a><li><a href=/resolver>Resolver</a><li><a href=/awl>awl</a><li><a href=/pomme>pomme</a><li class=push><a href=https://status.froth.zone/status/dns>Status</a></ul></nav><header><h1>Froth.zone Nameservers</h1><h2></h2></header><main><p>I host four nameservers in servers all over <del>NATO</del> the world, so anybody <del>in the US or Western Europe</del> can more easily access my services:<p>The IP addresses are found by using <a href=/awl/>awl</a>:<ul><li><p><a href=https://rin.froth.zone>rin.froth.zone</a> (Hosted in Canada) <br> ❯ awl +short rin.froth.zone && awl +short AAAA rin.froth.zone <br> 158.69.1.114 <br> 2607:5300:201:3100::931b</p><li><p><a href=https://sakura.froth.zone>sakura.froth.zone</a> (Hosted in France) <br> ❯ awl --short sakura.froth.zone && awl --short AAAA sakura.froth.zone <br> 141.94.206.97 <br> 2001:41d0:304:200::d12b</p><li><p><a href=https://saber.froth.zone>saber.froth.zone</a> (Hosted in the Netherlands) <br> ❯ awl -s saber.froth.zone && awl -s AAAA saber.froth.zone <br> 185.196.220.241 <br> 2a0f:ca80:0:2a4::5:4b32</p><li><p><a href=https://illya.froth.zone>illya.froth.zone</a> (Hosted in the US) <br> ❯ awl +short illya.froth.zone && awl -s AAAA illya.froth.zone <br> 129.213.157.255 <br> 2603:c020:4004:62ee::8888</p></ul><hr><p>Want to use them? : If so, just <a href=https://samtherapy.net/contact>contact me</a>!</main><footer><small> Built with <a href=https://lume.land>Lume</a> • <a href=https://git.froth.zone/sam/dns.froth.zone>Source</a> • <a href=https://samtherapy.net>Owner</a> </small></footer>
|
1
pomme/index.html
Normal file
1
pomme/index.html
Normal file
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>Pomme - A web interface</title><meta content="dns.froth.zone/pomme git https://git.freecumextremist.com/grumbulon/pomme"name=go-import><meta content="dns.froth.zone/pomme https://git.freecumextremist.com/grumbulon/pomme https://git.freecumextremist.com/grumbulon/pomme/tree/master{/dir} https://git.freecumextremist.com/grumbulon/pomme/src/branch/master{/dir}/{file}#L{line}"name=go-source><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Froth DNS"property=og:site_name><meta content=en property=og:locale><meta content="All you need to know about the services provided by dns.froth.zone"property=og:description><meta content=https://dns.froth.zone/pomme/ property=og:url><meta content="All you need to know about the services provided by dns.froth.zone"name=twitter:description><meta content=summary name=twitter:card><meta content="All you need to know about the services provided by dns.froth.zone"itemprop=description><meta content="All you need to know about the services provided by dns.froth.zone"name=description><meta content="DNS, nameserver, DNS server, froth.zone, froth DNS, froth zone"name=keywords><meta content="Lume v1.15.2"name=generator><body><nav><ul class=main-nav><li><a href=/>/</a><li><a href=/nameservers>Nameservers</a><li><a href=/resolver>Resolver</a><li><a href=/awl>awl</a><li><a href=/pomme>pomme</a><li class=push><a href=https://status.froth.zone/status/dns>Status</a></ul></nav><header><h1>Pomme - A web interface</h1><h2>Coming soon :)</h2></header><main></main><footer><small> Built with <a href=https://lume.land>Lume</a> • <a href=https://git.froth.zone/sam/dns.froth.zone>Source</a> • <a href=https://samtherapy.net>Owner</a> </small></footer>
|
1
resolver/index.html
Normal file
1
resolver/index.html
Normal file
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang=en><title>Froth.zone DNS resolving service</title><meta charset=utf-8><meta content="width=device-width,initial-scale=1"name=viewport><link rel="shortcut icon"href=/img/favicon.png type=image/png><link href=/css/style.css rel=stylesheet><meta content=website property=og:type><meta content="Froth DNS"property=og:site_name><meta content=en property=og:locale><meta content="All you need to know about the services provided by dns.froth.zone"property=og:description><meta content=https://dns.froth.zone/resolver/ property=og:url><meta content="All you need to know about the services provided by dns.froth.zone"name=twitter:description><meta content=summary name=twitter:card><meta content="All you need to know about the services provided by dns.froth.zone"itemprop=description><meta content="All you need to know about the services provided by dns.froth.zone"name=description><meta content="DNS, nameserver, DNS server, froth.zone, froth DNS, froth zone"name=keywords><meta content="Lume v1.15.2"name=generator><body><nav><ul class=main-nav><li><a href=/>/</a><li><a href=/nameservers>Nameservers</a><li><a href=/resolver>Resolver</a><li><a href=/awl>awl</a><li><a href=/pomme>pomme</a><li class=push><a href=https://status.froth.zone/status/dns>Status</a></ul></nav><header><h1>Froth.zone DNS resolving service</h1><h2></h2></header><main><p>I also host an <a href=https://www.opennic.org/>OpenNIC</a>-compatible DNS resolving server.<h3>Never asked questions (NAQs)</h3><ul><li><p><em>Why OpenNIC?</em> <br> Why not? The root servers seamlessly connect to ICANN space, so it's just free extra domains.</p><li><p><em>Where is it?</em> <br> Right here. This domain you're looking at right now.</p><li><p><em>What about DNS-over-TCP?</em> <br> Yes.</p><li><p><em>DNS-over-TLS?</em> <br> Yes, DNS-over-TLS too.</p><li><p><em>DNSCrypt?</em> <br> Nope. ¯\_(ツ)_/¯ <br> Maybe when it becomes an RFC.</p><li><p><em>What about DNS-over-HTTPS?</em> <br> Yes! Use <strong>ht<span>tp</span>s://dns.froth.zone/dns-query</strong> as the endpoint URL.</p><li><p><em>What about QUIC?</em> <br> Yes! I do! (as of 2023-03-10) <br> Thanks, AdGuard!</p></ul></main><footer><small> Built with <a href=https://lume.land>Lume</a> • <a href=https://git.froth.zone/sam/dns.froth.zone>Source</a> • <a href=https://samtherapy.net>Owner</a> </small></footer>
|
27
sitemap.xml
Normal file
27
sitemap.xml
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://dns.froth.zone/</loc>
|
||||
<lastmod>2023-05-27T12:02:30.629Z</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://dns.froth.zone/awl/</loc>
|
||||
<lastmod>2023-05-27T12:02:30.629Z</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://dns.froth.zone/dnscrypt/</loc>
|
||||
<lastmod>2023-05-27T12:02:30.629Z</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://dns.froth.zone/nameservers/</loc>
|
||||
<lastmod>2023-05-27T12:02:30.629Z</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://dns.froth.zone/pomme/</loc>
|
||||
<lastmod>2023-05-27T12:02:30.629Z</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://dns.froth.zone/resolver/</loc>
|
||||
<lastmod>2023-05-27T12:02:30.629Z</lastmod>
|
||||
</url>
|
||||
</urlset>
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
title: 404
|
||||
subtitle: Not found
|
||||
layout: layouts/base.pug
|
||||
url: /404.html
|
||||
---
|
||||
The page you are looking for does not exist.
|
||||
|
||||
Did it ever?
|
|
@ -1,35 +0,0 @@
|
|||
# Site metas from Lume metas plugin
|
||||
[metas]
|
||||
site = "Froth DNS"
|
||||
lang = "en"
|
||||
description = "All you need to know about the services provided by dns.froth.zone"
|
||||
# icon = "img/favicon.png"
|
||||
keywords = ["DNS", "nameserver", "DNS server", "froth.zone", "froth DNS", "froth zone"]
|
||||
generator = true
|
||||
|
||||
[[menu.left]]
|
||||
name = "/"
|
||||
url = "/"
|
||||
|
||||
[[menu.left]]
|
||||
name = "Nameservers"
|
||||
url = "/nameservers"
|
||||
|
||||
[[menu.left]]
|
||||
name = "Resolver"
|
||||
url = "/resolver"
|
||||
|
||||
[[menu.left]]
|
||||
name = "awl"
|
||||
url = "/awl"
|
||||
|
||||
[[menu.left]]
|
||||
name = "pomme"
|
||||
url = "/pomme"
|
||||
|
||||
[[menu.right]]
|
||||
name = "Status"
|
||||
url = "https://status.froth.zone/status/dns"
|
||||
|
||||
[mergedKeys]
|
||||
metas = "object"
|
|
@ -1,14 +0,0 @@
|
|||
doctype html
|
||||
html(lang=metas.lang)
|
||||
head
|
||||
title= title
|
||||
include meta.pug
|
||||
include nav.pug
|
||||
body
|
||||
header
|
||||
h1= title
|
||||
h2= subtitle
|
||||
main
|
||||
| !{content}
|
||||
footer
|
||||
include footer.html
|
|
@ -1,8 +0,0 @@
|
|||
<!-- This is a template because I need to make raw HTML -->
|
||||
<small>
|
||||
Built with <a href="https://lume.land">Lume</a>
|
||||
•
|
||||
<a href="https://git.froth.zone/sam/dns.froth.zone">Source</a>
|
||||
•
|
||||
<a href="https://samtherapy.net">Owner</a>
|
||||
</small>
|
|
@ -1,10 +0,0 @@
|
|||
if goimport
|
||||
meta(name="go-import", content=`${goimport.url} ${goimport.vcs} ${goimport.repo}`)
|
||||
if goimport.gitea
|
||||
meta(name="go-source", content=`${goimport.url} ${goimport.repo} ${goimport.repo}/tree/${goimport.branch}\{/dir\} ${goimport.repo}/src/branch/${goimport.branch}\{/dir\}/\{file\}\#L\{line\}`)
|
||||
else
|
||||
meta(name="go-source", content=`${goimport.url} ${goimport.repo} ${goimport.repo}/tree/${goimport.branch}\{/dir\} ${goimport.repo}/blob/${goimport.branch}\{/dir\}/\{file\}\#L\{line\}`)
|
||||
meta(charset="utf-8")
|
||||
meta(name='viewport', content='width=device-width, initial-scale=1')
|
||||
link(rel="shortcut icon", href="/img/favicon.png", type="image/png")
|
||||
link(rel="stylesheet", href="/css/style.css")
|
|
@ -1,9 +0,0 @@
|
|||
nav
|
||||
ul(class= "main-nav")
|
||||
each val in menu.left
|
||||
li
|
||||
a(href=val.url)= val.name
|
||||
|
||||
each val in menu.right
|
||||
li(class= "push")
|
||||
a(href=val.url)= val.name
|
|
@ -1,32 +0,0 @@
|
|||
@use "styles/sakura.theme";
|
||||
|
||||
// Highlight.js theme
|
||||
@use "styles/external/nord.min";
|
||||
|
||||
|
||||
:root {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Avenir Next", Avenir, "Nimbus Sans L", Roboto, Noto, "Segoe UI", Arial, Helvetica, "Helvetica Neue", sans-serif;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.column {
|
||||
flex: 50%;
|
||||
}
|
||||
|
||||
.main-nav {
|
||||
display: flex;
|
||||
list-style: none;
|
||||
max-width: 75%;
|
||||
}
|
||||
|
||||
nav li {
|
||||
margin: 0.5em;
|
||||
}
|
||||
|
||||
.push {
|
||||
justify-content: flex-end;
|
||||
margin-left: auto;
|
||||
}
|
1
src/_includes/styles/external/nord.min.css
vendored
1
src/_includes/styles/external/nord.min.css
vendored
|
@ -1 +0,0 @@
|
|||
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#2e3440}.hljs,.hljs-subst{color:#d8dee9}.hljs-selector-tag{color:#81a1c1}.hljs-selector-id{color:#8fbcbb;font-weight:700}.hljs-selector-attr,.hljs-selector-class{color:#8fbcbb}.hljs-property,.hljs-selector-pseudo{color:#88c0d0}.hljs-addition{background-color:rgba(163,190,140,.5)}.hljs-deletion{background-color:rgba(191,97,106,.5)}.hljs-built_in,.hljs-class,.hljs-type{color:#8fbcbb}.hljs-function,.hljs-function>.hljs-title,.hljs-title.hljs-function{color:#88c0d0}.hljs-keyword,.hljs-literal,.hljs-symbol{color:#81a1c1}.hljs-number{color:#b48ead}.hljs-regexp{color:#ebcb8b}.hljs-string{color:#a3be8c}.hljs-title{color:#8fbcbb}.hljs-params{color:#d8dee9}.hljs-bullet{color:#81a1c1}.hljs-code{color:#8fbcbb}.hljs-emphasis{font-style:italic}.hljs-formula{color:#8fbcbb}.hljs-strong{font-weight:700}.hljs-link:hover{text-decoration:underline}.hljs-comment,.hljs-quote{color:#4c566a}.hljs-doctag{color:#8fbcbb}.hljs-meta,.hljs-meta .hljs-keyword{color:#5e81ac}.hljs-meta .hljs-string{color:#a3be8c}.hljs-attr{color:#8fbcbb}.hljs-attribute{color:#d8dee9}.hljs-name{color:#81a1c1}.hljs-section{color:#88c0d0}.hljs-tag{color:#81a1c1}.hljs-template-variable,.hljs-variable{color:#d8dee9}.hljs-template-tag{color:#5e81ac}.language-abnf .hljs-attribute{color:#88c0d0}.language-abnf .hljs-symbol{color:#ebcb8b}.language-apache .hljs-attribute{color:#88c0d0}.language-apache .hljs-section{color:#81a1c1}.language-arduino .hljs-built_in{color:#88c0d0}.language-aspectj .hljs-meta{color:#d08770}.language-aspectj>.hljs-title{color:#88c0d0}.language-bnf .hljs-attribute{color:#8fbcbb}.language-clojure .hljs-name{color:#88c0d0}.language-clojure .hljs-symbol{color:#ebcb8b}.language-coq .hljs-built_in{color:#88c0d0}.language-cpp .hljs-meta .hljs-string{color:#8fbcbb}.language-css .hljs-built_in{color:#88c0d0}.language-css .hljs-keyword{color:#d08770}.language-diff .hljs-meta,.language-ebnf .hljs-attribute{color:#8fbcbb}.language-glsl .hljs-built_in{color:#88c0d0}.language-groovy .hljs-meta:not(:first-child),.language-haxe .hljs-meta,.language-java .hljs-meta{color:#d08770}.language-ldif .hljs-attribute{color:#8fbcbb}.language-lisp .hljs-name,.language-lua .hljs-built_in,.language-moonscript .hljs-built_in,.language-nginx .hljs-attribute{color:#88c0d0}.language-nginx .hljs-section{color:#5e81ac}.language-pf .hljs-built_in,.language-processing .hljs-built_in{color:#88c0d0}.language-scss .hljs-keyword,.language-stylus .hljs-keyword{color:#81a1c1}.language-swift .hljs-meta{color:#d08770}.language-vim .hljs-built_in{color:#88c0d0;font-style:italic}.language-yaml .hljs-meta{color:#d08770}
|
264
src/_includes/styles/external/sakura.scss
vendored
264
src/_includes/styles/external/sakura.scss
vendored
|
@ -1,264 +0,0 @@
|
|||
/* Sakura.css v1.4.1
|
||||
* ================
|
||||
* Minimal css theme.
|
||||
* Project: https://github.com/oxalorg/sakura/
|
||||
*/
|
||||
|
||||
/* Body */
|
||||
|
||||
html {
|
||||
font-size: 62.5%; // So that root size becomes 10px
|
||||
font-family: $font-family-base;
|
||||
}
|
||||
|
||||
body {
|
||||
// $font-size-base must be a rem value
|
||||
font-size: $font-size-base;
|
||||
line-height: 1.618;
|
||||
max-width: 60em;
|
||||
margin: auto;
|
||||
color: $color-text;
|
||||
background-color: $color-bg;
|
||||
padding: 13px;
|
||||
}
|
||||
|
||||
@media (max-width: 684px) {
|
||||
body {
|
||||
font-size: $font-size-base * 0.85;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 382px) {
|
||||
body {
|
||||
font-size: $font-size-base * 0.75;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin word-wrap() {
|
||||
overflow-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
-ms-word-break: break-all;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
line-height: 1.1;
|
||||
font-family: $font-family-heading;
|
||||
font-weight: 700;
|
||||
margin-top: 3rem;
|
||||
margin-bottom: 1.5rem;
|
||||
@include word-wrap;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.35em
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2.00em
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.75em
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.5em
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.25em
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1em
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
small,
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-color: $color-blossom;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: $color-blossom;
|
||||
|
||||
&:visited {
|
||||
color: darken($color-blossom, 10%);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $color-fade;
|
||||
border-bottom: 2px solid $color-text;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 1.4em;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-bottom: 0.4em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin-left: 0px;
|
||||
margin-right: 0px;
|
||||
padding-left: 1em;
|
||||
padding-top: 0.8em;
|
||||
padding-bottom: 0.8em;
|
||||
padding-right: 0.8em;
|
||||
border-left: 5px solid $color-blossom;
|
||||
margin-bottom: 2.5rem;
|
||||
background-color: $color-bg-alt;
|
||||
}
|
||||
|
||||
blockquote p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
img,
|
||||
video {
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
/* Pre and Code */
|
||||
|
||||
pre {
|
||||
background-color: $color-bg-alt;
|
||||
display: block;
|
||||
padding: 1em;
|
||||
overflow-x: auto;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2.5rem;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-size: 0.9em;
|
||||
padding: 0 0.5em;
|
||||
background-color: $color-bg-alt;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
pre>code {
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
white-space: pre;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
|
||||
table {
|
||||
text-align: justify;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0.5em;
|
||||
border-bottom: 1px solid $color-bg-alt;
|
||||
}
|
||||
|
||||
/* Buttons, forms and input */
|
||||
|
||||
input,
|
||||
textarea {
|
||||
border: 1px solid $color-text;
|
||||
|
||||
&:focus {
|
||||
border: 1px solid $color-blossom;
|
||||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.button,
|
||||
button,
|
||||
input[type="submit"],
|
||||
input[type="reset"],
|
||||
input[type="button"] {
|
||||
display: inline-block;
|
||||
padding: 5px 10px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
|
||||
background-color: $color-blossom;
|
||||
color: $color-bg;
|
||||
border-radius: 1px;
|
||||
border: 1px solid $color-blossom;
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
|
||||
&[disabled] {
|
||||
cursor: default;
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
&:focus:enabled,
|
||||
&:hover:enabled {
|
||||
background-color: $color-fade;
|
||||
border-color: $color-fade;
|
||||
color: $color-bg;
|
||||
outline: 0;
|
||||
}
|
||||
}
|
||||
|
||||
textarea,
|
||||
select,
|
||||
input {
|
||||
color: $color-text;
|
||||
padding: 6px 10px;
|
||||
/* The 6px vertically centers text on FF, ignored by Webkit */
|
||||
margin-bottom: 10px;
|
||||
background-color: $color-bg-alt;
|
||||
border: 1px solid $color-bg-alt;
|
||||
border-radius: 4px;
|
||||
box-shadow: none;
|
||||
box-sizing: border-box;
|
||||
|
||||
&:focus {
|
||||
border: 1px solid $color-blossom;
|
||||
outline: 0;
|
||||
}
|
||||
}
|
||||
|
||||
input[type="checkbox"]:focus {
|
||||
outline: 1px dotted $color-blossom;
|
||||
}
|
||||
|
||||
label,
|
||||
legend,
|
||||
fieldset {
|
||||
display: block;
|
||||
margin-bottom: .5rem;
|
||||
font-weight: 600;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
// Settings for SakuraCSS
|
||||
$color-blossom: #ffffff;
|
||||
$color-fade: #c9c9c9;
|
||||
|
||||
$color-bg: #222222;
|
||||
$color-bg-alt: #4a4a4a;
|
||||
|
||||
/* $color-text: #dedce5; */
|
||||
$color-text: #c9c9c9;
|
||||
$font-size-base: 1.8rem;
|
||||
|
||||
$font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
||||
$font-family-heading: $font-family-base;
|
||||
|
||||
@import "styles/external/sakura";
|
133
src/awl.mdx
133
src/awl.mdx
|
@ -1,133 +0,0 @@
|
|||
---
|
||||
title: awl(1)
|
||||
subtitle: A simple DNS client
|
||||
goimport:
|
||||
url: dns.froth.zone/awl
|
||||
vcs: git
|
||||
repo: https://git.froth.zone/sam/awl
|
||||
branch: master
|
||||
gitea: true
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
[awl](https://git.froth.zone/sam/awl) is a simple DNS query client, much like dig and drill.
|
||||
|
||||
|
||||
```
|
||||
❯ awl NS froth.zone @https://dns.froth.zone/dns-query
|
||||
;; opcode: QUERY, status: NOERROR, id: 46274
|
||||
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 8
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;froth.zone. IN NS
|
||||
|
||||
;; ANSWER SECTION:
|
||||
froth.zone. 1650 IN NS illya.froth.zone.
|
||||
froth.zone. 1650 IN NS rin.froth.zone.
|
||||
froth.zone. 1650 IN NS sakura.froth.zone.
|
||||
froth.zone. 1650 IN NS saber.froth.zone.
|
||||
|
||||
;; ADDITIONAL SECTION:
|
||||
rin.froth.zone. 1650 IN AAAA 2607:5300:201:3100::931b
|
||||
sakura.froth.zone. 1650 IN AAAA 2001:41d0:304:200::d12b
|
||||
saber.froth.zone. 1650 IN AAAA 2602:fe90:100:2::164d:4c70
|
||||
illya.froth.zone. 1650 IN AAAA 2603:c020:4004:62ee::8888
|
||||
rin.froth.zone. 1650 IN A 158.69.1.114
|
||||
sakura.froth.zone. 1650 IN A 141.94.206.97
|
||||
saber.froth.zone. 1650 IN A 45.13.232.162
|
||||
illya.froth.zone. 1650 IN A 129.213.157.255
|
||||
|
||||
;; Query time: 404.9936ms
|
||||
;; SERVER: https://dns.froth.zone/dns-query
|
||||
;; WHEN: Never
|
||||
;; MSG SIZE rcvd: 489
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
`awl` understands DNSSEC, like [`drill(1)`](https://linux.die.net/man/1/drill):
|
||||
|
||||
```
|
||||
❯ awl brokendnssec.net @1.1.1.1 --tcp
|
||||
;; opcode: QUERY, status: SERVFAIL, id: 45766
|
||||
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;brokendnssec.net. IN A
|
||||
|
||||
;; Query time: 6.0461ms
|
||||
;; SERVER: 1.1.1.1:53 (TCP)
|
||||
;; WHEN: Never
|
||||
;; MSG SIZE rcvd: 34
|
||||
❯ awl brokendnssec.net @1.1.1.1 --cd +tcp
|
||||
;; opcode: QUERY, status: NOERROR, id: 37917
|
||||
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;brokendnssec.net. IN A
|
||||
|
||||
;; ANSWER SECTION:
|
||||
brokendnssec.net. 294 IN A 172.67.36.129
|
||||
brokendnssec.net. 294 IN A 104.22.35.212
|
||||
brokendnssec.net. 294 IN A 104.22.34.212
|
||||
|
||||
;; Query time: 8.4461ms
|
||||
;; SERVER: 1.1.1.1:53 (TCP)
|
||||
;; WHEN: Never
|
||||
;; MSG SIZE rcvd: 130
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
It supports many of the flags that [`dig(1)`](https://man.openbsd.org/dig.1)
|
||||
does:
|
||||
|
||||
```
|
||||
❯ awl +noquestion +noauthority +nostats cat-v.org
|
||||
;; opcode: QUERY, status: NOERROR, id: 39675
|
||||
;; flags: qr rd ra; QUERY: 0, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
|
||||
|
||||
;; ANSWER SECTION:
|
||||
cat-v.org. 9418 IN A 168.235.69.224
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
And [some new features](./man), too!
|
||||
|
||||
```xml
|
||||
❯ awl +quic --xml codeberg.org
|
||||
<Msg>
|
||||
<Id>22108</Id>
|
||||
<Response>true</Response>
|
||||
<Opcode>0</Opcode>
|
||||
<Authoritative>false</Authoritative>
|
||||
<Truncated>false</Truncated>
|
||||
<RecursionDesired>true</RecursionDesired>
|
||||
<RecursionAvailable>true</RecursionAvailable>
|
||||
<Zero>false</Zero>
|
||||
<AuthenticatedData>false</AuthenticatedData>
|
||||
<CheckingDisabled>false</CheckingDisabled>
|
||||
<Rcode>0</Rcode>
|
||||
<Compress>false</Compress>
|
||||
<Question>
|
||||
<Name>codeberg.org.</Name>
|
||||
<Qtype>1</Qtype>
|
||||
<Qclass>1</Qclass>
|
||||
</Question>
|
||||
<Answer>
|
||||
<Hdr>
|
||||
<Name>codeberg.org.</Name>
|
||||
<Rrtype>1</Rrtype>
|
||||
<Class>1</Class>
|
||||
<Ttl>3600</Ttl>
|
||||
<Rdlength>4</Rdlength>
|
||||
</Hdr>
|
||||
<A>193.26.156.135</A>
|
||||
</Answer>
|
||||
</Msg>
|
||||
```
|
||||
|
||||
------
|
||||
|
||||
A full list of the features `awl` supports can be found [here](https://git.froth.zone/sam/awl/wiki/Supported).
|
|
@ -1 +0,0 @@
|
|||
@use "styles/base";
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
title: Redirecting...
|
||||
subtitle: https://github.com/SamTherapy/dnscrypt
|
||||
goimport:
|
||||
url: dns.froth.zone/dnscrypt
|
||||
vcs: git
|
||||
repo: https://github.com/SamTherapy/dnscrypt
|
||||
branch: master
|
||||
gitea: false
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
<meta http-equiv="refresh" content="0; url=https://github.com/SamTherapy/dnscrypt" />
|
|
@ -1,22 +0,0 @@
|
|||
---
|
||||
title: Froth DNS Service
|
||||
subtitle: Welcome to the Froth DNS service!
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
#### Hello there.
|
||||
|
||||
This is a landing page for the DNS services that I host.
|
||||
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
\
|
||||
Yes, I know I have a problem.
|
||||
|
||||
No, you don't have to remind me.
|
|
@ -1,36 +0,0 @@
|
|||
---
|
||||
title: Froth.zone Nameservers
|
||||
subtitle:
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
I host four nameservers in servers all over ~~NATO~~ the world,
|
||||
so anybody ~~in the US or Western Europe~~ can more easily access my
|
||||
services:
|
||||
|
||||
The IP addresses are found by using [awl](/awl/):
|
||||
|
||||
- [rin.froth.zone](https://rin.froth.zone) (Hosted in Canada) \
|
||||
❯ awl +short rin.froth.zone && awl +short AAAA rin.froth.zone \
|
||||
158.69.1.114 \
|
||||
2607:5300:201:3100::931b
|
||||
|
||||
- [sakura.froth.zone](https://sakura.froth.zone) (Hosted in France) \
|
||||
❯ awl --short sakura.froth.zone && awl --short AAAA sakura.froth.zone \
|
||||
141.94.206.97 \
|
||||
2001:41d0:304:200::d12b
|
||||
|
||||
- [saber.froth.zone](https://saber.froth.zone) (Hosted in the Netherlands) \
|
||||
❯ awl -s saber.froth.zone && awl -s AAAA saber.froth.zone \
|
||||
185.196.220.241 \
|
||||
2a0f:ca80:0:2a4::5:4b32
|
||||
|
||||
- [illya.froth.zone](https://illya.froth.zone) (Hosted in the US) \
|
||||
❯ awl +short illya.froth.zone && awl -s AAAA illya.froth.zone \
|
||||
129.213.157.255 \
|
||||
2603:c020:4004:62ee::8888
|
||||
|
||||
---
|
||||
|
||||
Want to use them?
|
||||
: If so, just [contact me](https://samtherapy.net/contact)!
|
|
@ -1,11 +0,0 @@
|
|||
---
|
||||
title: Pomme - A web interface
|
||||
subtitle: Coming soon :)
|
||||
goimport:
|
||||
url: dns.froth.zone/pomme
|
||||
vcs: git
|
||||
repo: https://git.freecumextremist.com/grumbulon/pomme
|
||||
branch: master
|
||||
gitea: true
|
||||
layout: layouts/base.pug
|
||||
---
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
title: Froth.zone DNS resolving service
|
||||
subtitle:
|
||||
layout: layouts/base.pug
|
||||
---
|
||||
|
||||
I also host an [OpenNIC](https://www.opennic.org/)-compatible DNS resolving server.
|
||||
|
||||
### Never asked questions (NAQs)
|
||||
|
||||
- *Why OpenNIC?* \
|
||||
Why not? The root servers seamlessly connect to ICANN space, so it's just free extra domains.
|
||||
|
||||
- *Where is it?* \
|
||||
Right here. This domain you're looking at right now.
|
||||
|
||||
- *What about DNS-over-TCP?* \
|
||||
Yes.
|
||||
|
||||
- *DNS-over-TLS?* \
|
||||
Yes, DNS-over-TLS too.
|
||||
|
||||
- *DNSCrypt?* \
|
||||
Nope. ¯\\\_(ツ)\_/¯ \
|
||||
Maybe when it becomes an RFC.
|
||||
|
||||
- *What about DNS-over-HTTPS?* \
|
||||
Yes! Use __ht<span>tp</span>s://dns.froth.zone/dns-query__ as the endpoint URL.
|
||||
|
||||
- *What about QUIC?* \
|
||||
Yes! I do! (as of 2023-03-10) \
|
||||
Thanks, AdGuard!
|
Loading…
Reference in a new issue