aboutsummaryrefslogtreecommitdiff
path: root/_doc/resolver.adoc
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-05-22 15:57:52 +0700
committerShulhan <ms@kilabit.info>2022-05-22 16:14:35 +0700
commita676f04d2f8c1981fc953cc2e87adf059e23089a (patch)
treed86300df47d53abdf7ccb0342f96ddd3a677fbd4 /_doc/resolver.adoc
parentbb08b5bb6ad6cf3e1c409db7d69ace4364e7bc8d (diff)
downloadrescached-a676f04d2f8c1981fc953cc2e87adf059e23089a.tar.xz
all: move the documentation under _www/doc directory
This also allow the latest/released documentation viewed on the web user interface under /doc path. While at it, reformat HTML and CSS files using js-beautify and JavaScript files using clang-format [1]. [1] https://google.github.io/styleguide/jsguide.html#formatting
Diffstat (limited to '_doc/resolver.adoc')
-rw-r--r--_doc/resolver.adoc458
1 files changed, 0 insertions, 458 deletions
diff --git a/_doc/resolver.adoc b/_doc/resolver.adoc
deleted file mode 100644
index d2d96c5..0000000
--- a/_doc/resolver.adoc
+++ /dev/null
@@ -1,458 +0,0 @@
-// SPDX-FileCopyrightText: 2020 M. Shulhan <ms@kilabit.info>
-// SPDX-License-Identifier: GPL-3.0-or-later
-= RESOLVER(1)
-:doctype: manpage
-:man source: resolver
-:man version: 2022.04.15
-:man manual: resolver
-
-
-== NAME
-
-resolver - command line interface for DNS and rescached server.
-
-
-== SYNOPSIS
-
-resolver [-insecure] [-ns nameserver] [-server] <command> [args...]
-
-
-== DESCRIPTION
-
-resolver is a tool to resolve hostname to IP address or to query services
-on hostname by type (MX, SOA, TXT, etc.) using standard DNS protocol with UDP,
-DNS over TLS (DoT), or DNS over HTTPS (DoH).
-
-
-== OPTIONS
-
-`-insecure`::
-+
---
-Ignore invalid server certificate when querying DoT, DoH, or rescached server.
---
-
-`-ns <nameserver>`::
-+
---
-This option define the parent DNS server where the resolver send the query.
-Default to one of "nameserver" in `/etc/resolv.conf`.
-
-The nameserver is defined in the following format,
-
- ("udp"/"tcp"/"https") "://" (domain / ip-address) [":" port]
-
-Examples,
-
-* udp://194.233.68.184:53 for querying with UDP,
-* tcp://194.233.68.184:53 for querying with TCP,
-* https://194.233.68.184:853 for querying with DNS over TLS (DoT), and
-* https://kilabit.info/dns-query for querying with DNS over HTTPS (DoH).
---
-
-`-server <rescached-URL>`::
-+
---
-Set the rescached HTTP server where commands will send.
-The rescached-URL use HTTP scheme:
-
- ("http" / "https") "://" (domain / ip-address) [":" port]
-
-Default to "https://127.0.0.1:5380" if its empty.
---
-
-== COMMANDS
-
-=== QUERY
-
-query <domain / ip-address> [type] [class]::
-+
---
-Query the domain or IP address with optional type and/or class.
-
-Unless the option "-ns" is given, the query command will use the
-nameserver defined in the system resolv.conf file.
-
-The "type" parameter define DNS record type to be queried.
-List of valid types,
-
-* A (1) - a host Address (default)
-* NS (2) - an authoritative Name Server
-* CNAME (5) - the Canonical NAME for an alias
-* SOA (6) - marks the Start of a zone of Authority
-* MB (7) - a MailBox domain name
-* MG (8) - a Mail Group member
-* MR (9) - a Mail Rename domain name
-* NULL (10) - a null resource record
-* WKS (11) - a Well Known Service description
-* PTR (12) - a domain name PoinTeR
-* HINFO (13) - Host INFOrmation
-* MINFO (14) - mailbox or mail list information
-* MX (15) - Mail Exchange
-* TXT (16) - TeXT strings
-* AAAA (28) - a host address in IPv6
-* SRV (33) - a SerViCe record
-
-The "class" parameter is optional, its either IN (default), CS, or HS.
---
-
-
-=== MANAGING BLOCK.D
-
-block.d disable <name>::
-+
---
-Disable specific hosts on block.d.
---
-
-block.d enable <name>::
-+
---
-Enable specific hosts on block.d.
---
-
-block.d update <name>::
-+
---
-Fetch the latest hosts file from remote block.d URL defined by
-its name.
-On success, the hosts file will be updated and the server will be
-restarted.
---
-
-
-=== MANAGING CACHES
-
-caches::
-+
---
-Fetch and print all caches from rescached server.
---
-
-
-caches search <string>::
-+
---
-Search the domain name in rescached caches.
-This command can also be used to inspect each DNS message on the caches.
---
-
-caches remove <string>::
-+
---
-Remove the domain name from rescached caches.
-If the parameter is "all", it will remove all caches.
---
-
-
-=== MANAGING ENVIRONMENT
-
-env::
-+
---
-Fetch the current server environment and print it as JSON format to stdout.
---
-
-env update <path-to-file / "-">::
-+
---
-Update the server environment from JSON formatted file.
-If the argument is "-", the new environment is read from stdin.
-If the environment is valid, the server will be restarted.
---
-
-
-=== MANAGING HOSTS.D
-
-hosts.d create <name>::
-+
---
-Create new hosts file inside the hosts.d directory with specific file
-name.
---
-
-hosts.d delete <name>::
-+
---
-Delete hosts file inside the hosts.d directory by file name.
---
-
-hosts.d get <name>::
-+
---
-Get the content of hosts file inside the hosts.d directory by file name.
---
-
-
-=== MANAGING RECORD IN HOSTS.D
-
-hosts.d rr add <name> <domain> <value>::
-+
---
-Insert a new record and save it to the hosts file identified by
-"name".
-If the domain name already exists, the new record will be appended
-instead of replaced.
---
-
-hosts.d rr delete <name> <domain>::
-+
---
-Delete record from hosts file "name" by domain name.
---
-
-
-=== MANAGING ZONE.D
-
-`zone.d`::
-+
-Fetch and print all zones in the server, including their SOA.
-
-zone.d create <name>::
-+
-Create new zone file inside the zone.d directory.
-
-zone.d delete <name>::
-+
-Delete zone file inside the zone.d directory.
-
-
-=== MANAGING RECORD IN ZONE.D
-
-`zone.d rr get <zone>`::
-
-Get and print all records in the zone.
-
-zone.d rr add <zone> <"@" | subdomain> <ttl> <type> <class> <value> ...::
-+
---
-Add new record into the zone file.
-
-The domain name can be set to origin using "@" or empty string, subdomain
-(without ending with "."), or fully qualified domain name (end with ".").
-
-If ttl is set to 0, it will default to 604800 (7 days).
-
-List of valid type are A, NS, CNAME, PTR, MX, TXT, and AAAA.
-
-List of valid class are IN, CS, HS.
-
-The value parameter can be more than one, for example, the MX record
-we pass two parameters:
-
- <pref> <exchange>
-
-See the example below for more information.
---
-
-`zone.d rr delete <zone> <"@" | subdomain> <type> <class> <value>`::
-+
---
-Delete record from zone by its subdomain, type, class, and value.
---
-
-
-== EXIT STATUS
-
-Upon exit and success +resolver+ will return 0, or 1 otherwise.
-
-
-== EXAMPLES
-
-=== QUERY
-
-Query the IPv4 address for kilabit.info,
-
- $ resolver query kilabit.info
-
-Query the mail exchange (MX) for domain kilabit.info,
-
- $ resolver query kilabit.info MX
-
-Query the IPv4 address for kilabit.info using 127.0.0.1 at port 53 as
-name server,
-
- $ resolver -ns=udp://127.0.0.1:53 query kilabit.info
-
-Query the IPv4 address of domain name "kilabit.info" using DNS over TLS at
-name server 194.233.68.184,
-
- $ resolver -insecure -ns=https://194.233.68.184 query kilabit.info
-
-Query the IPv4 records of domain name "kilabit.info" using DNS over HTTPS on
-name server kilabit.info,
-
- $ resolver -ns=https://kilabit.info/dns-query query kilabit.info
-
-Inspect the rescached's caches on server at http://127.0.0.1:5380,
-
- $ resolver -server=http://127.0.0.1:5380 caches
-
-
-=== MANAGING CACHES
-
-Search caches that contains "bit" on the domain name,
-
- $ resolver caches search bit
-
-Remove caches that contains domain name "kilabit.info",
-
- $ resolver caches remove kilabit.info
-
-Remove all caches in the server,
-
- $ resolver caches remove all
-
-
-=== MANAGING ENVIRONMENT
-
-Fetch and print current server environment,
-
- $ resolver env
-
-Update the server environment from JSON file in /tmp/env.json,
-
- $ resolver env update /tmp/env.json
-
-Update the server environment by reading JSON from standard input,
-
- $ cat /tmp/env.json | resolver env update -
-
-
-=== MANAGING HOSTS.D
-
-Create new hosts file named "myhosts" inside the hosts.d directory,
-
- $ resolver hosts.d create myhosts
- OK
-
-Delete hosts file named "myhosts" inside the hosts.d directory,
-
- $ resolver hosts.d delete myhosts
- OK
-
-Get the content of hosts file named "myhosts" inside the hosts.d directory,
-
- $ resolver hosts.d get myhosts
- [
- {
- "Value": "127.0.0.1",
- "Name": "localhost",
- "Type": 1,
- "Class": 1,
- "TTL": 604800
- },
- {
- "Value": "::1",
- "Name": "localhost",
- "Type": 28,
- "Class": 1,
- "TTL": 604800
- }
- ]
-
-=== MANAGING RECORD IN HOSTS.D
-
-Add new record "127.0.0.1 my.hosts" to hosts file named "hosts",
-
- $ resolver hosts.d rr add hosts my.hosts 127.0.0.1
- {
- "Value": "127.0.0.1",
- "Name": "my.hosts",
- "Type": 1,
- "Class": 1,
- "TTL": 604800
- }
-
-Delete record "my.hosts" from hosts file "hosts",
-
- $ resolver hosts.d rr delete hosts my.hosts
- {
- "Value": "127.0.0.1",
- "Name": "my.hosts",
- "Type": 1,
- "Class": 1,
- "TTL": 604800
- }
-
-=== MANAGING ZONE.D
-
-Print all zone in the server,
-
- $ resolver zone.d
- my.zone
- SOA: {MName:my.zone RName: Serial:0 Refresh:0 Retry:0 Expire:0 Minimum:0}
-
-
-=== MANAGING RECORD IN ZONE.D
-
-Assume that we have create zone "my.zone".
-
-Get all records in the zone "my.zone",
-
- $ resolver zone.d rr get my.zone
- my.zone
- 604800 MX IN map[Exchange:mail.my.zone Preference:10]
- 604800 A IN 127.0.0.2
- 604800 A IN 127.0.0.3
- www.my.zone
- 604800 A IN 192.168.1.2
-
-Add IPv4 address "127.0.0.1" for domain my.zone,
-
- $ resolver zone.d rr add my.zone @ 0 A IN 127.0.0.1
-
-or
-
- $ resolver zone.d rr add my.zone "" 0 A IN 127.0.0.1
- {
- "Value": "127.0.0.1",
- "Name": "my.zone",
- "Type": 1,
- "Class": 1,
- "TTL": 604800
- }
-
-and to delete the above record,
-
- $ resolver zone.d rr delete my.zone @ A IN 127.0.0.1
- OK
-
-Add subdomain "www" with IPv4 address "192.168.1.2" to zone "my.zone",
-
- $ resolver zone.d rr add my.zone www 0 A IN 192.168.1.2
- {
- "Value": "192.168.1.2",
- "Name": "www.my.zone",
- "Type": 1,
- "Class": 1,
- "TTL": 604800
- }
-
-and to delete the above record,
-
- $ resolver zone.d rr delete my.zone www A IN 192.168.1.2
- OK
-
-== AUTHOR
-
-This software is developed by M. Shulhan (ms@kilabit.info).
-
-
-== LICENSE
-
-Copyright 2018, M. Shulhan (ms@kilabit.info).
-All rights reserved.
-
-Use of this source code is governed by a GPL 3.0 license that can be
-found in the COPYING file.
-
-
-== LINKS
-
-Source code repository: https://github.com/shuLhan/rescached-go
-
-
-== SEE ALSO
-
-*rescached*(1), *rescached.cfg*(5)