<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rescached/cmd/resolver/resolver.go, branch dev-telemetry</title>
<subtitle>DNS resolver cache daemon, DNS server with caches support.</subtitle>
<id>http://git.kilabit.info/rescached/atom?h=dev-telemetry</id>
<link rel='self' href='http://git.kilabit.info/rescached/atom?h=dev-telemetry'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/'/>
<updated>2022-06-09T16:39:01Z</updated>
<entry>
<title>all: change the HTTP API to update hosts in block.d</title>
<updated>2022-06-09T16:39:01Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-22T19:27:30Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=03ae9f6bfde5262b44d2318cc1162c20d867a3f6'/>
<id>urn:sha1:03ae9f6bfde5262b44d2318cc1162c20d867a3f6</id>
<content type='text'>
We have HTTP API to enable or disable block.d by batch by passing all
block.d records.
The name of HTTP API is /v2/block.d/update and this is duplicate with
API to update the content of hosts in block.d.

This changes fix this by creating new HTTP API /v2/block.d/fetch
that fetch the latest hosts file from specific block.d by its name.

While at it,

- reformat html and JavaScript files using js-beautify
- rename constants and methods for HTTP APIs
- add and update comments for some HTTP APIs
</content>
</entry>
<entry>
<title>all: use the exported Blockd type instead of interface{}</title>
<updated>2022-05-22T14:56:02Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-22T14:56:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=fdb3c4462417dd1caeb28d263c1f3be6e453f6bb'/>
<id>urn:sha1:fdb3c4462417dd1caeb28d263c1f3be6e453f6bb</id>
<content type='text'>
Since we have exported the Blockd type from rescached package, any
Blockd operation on the HTTP server and on the client on cmd/resolver
can use it instead of using interface{}.
</content>
</entry>
<entry>
<title>cmd/resolver: implement command to list hosts in block.d</title>
<updated>2022-05-22T14:53:46Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-22T14:51:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=e62bf6a1a77f87487ad1fbeae5f30730d441cda4'/>
<id>urn:sha1:e62bf6a1a77f87487ad1fbeae5f30730d441cda4</id>
<content type='text'>
Given the following command

	$ resolver block.d

It will print all hosts in block.d in the JSON format, for example

{
  "pgl.yoyo.org": {
    "Name": "pgl.yoyo.org",
    "URL": "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts\u0026showintro=0\u0026startdate[day]=\u0026startdate[month]=\u0026startdate[year]=\u0026mimetype=plaintext",
    "LastUpdated": "2022-04-20 01:54:30 WIB",
    "IsEnabled": false
  },
  "someonewhocares.org": {
    "Name": "someonewhocares.org",
    "URL": "http://someonewhocares.org/hosts/hosts",
    "LastUpdated": "2022-04-20 00:53:22 WIB",
    "IsEnabled": false
  },
  "winhelp2002.mvps.org": {
    "Name": "winhelp2002.mvps.org",
    "URL": "http://winhelp2002.mvps.org/hosts.txt",
    "LastUpdated": "2022-04-20 01:35:38 WIB",
    "IsEnabled": false
  }
}
</content>
</entry>
<entry>
<title>cmd/resolver: implement command to delete record on zone</title>
<updated>2022-05-17T16:51:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-17T16:39:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=bb08b5bb6ad6cf3e1c409db7d69ace4364e7bc8d'/>
<id>urn:sha1:bb08b5bb6ad6cf3e1c409db7d69ace4364e7bc8d</id>
<content type='text'>
Given the following command

  $ resolver zone.d rr delete &lt;zone&gt; &lt;"@" | subdomain&gt; &lt;type&gt; &lt;class&gt; &lt;value&gt;

It will delete the record in zone by given subdomain, type, class, and
value.
</content>
</entry>
<entry>
<title>cmd/resolver: implement command to get records on zone</title>
<updated>2022-05-16T06:22:52Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-16T06:22:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=58adf877165752bcba4a76f40b70c938af698f56'/>
<id>urn:sha1:58adf877165752bcba4a76f40b70c938af698f56</id>
<content type='text'>
Given the following command,

  $ resolver zone.d rr get &lt;zone&gt;

It will fetch and print all records in the specific &lt;zone&gt;.
</content>
</entry>
<entry>
<title>cmd/resolver: add command to fetch and print all zones</title>
<updated>2022-05-15T19:11:54Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-15T19:11:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=1f210cf3f11c5da5d410cf031f382727ac7b184b'/>
<id>urn:sha1:1f210cf3f11c5da5d410cf031f382727ac7b184b</id>
<content type='text'>
The command has the following format,

	resolver zone.d
</content>
</entry>
<entry>
<title>cmd/resolver: implement command to add new record to zone</title>
<updated>2022-05-15T15:57:26Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-15T15:57:26Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=f21e7c468c4d4479919c4a483451c6672698ab0a'/>
<id>urn:sha1:f21e7c468c4d4479919c4a483451c6672698ab0a</id>
<content type='text'>
The command has the following signature,

  zone.d rr add &lt;zone&gt; &lt;"@" | subdomain&gt; &lt;ttl&gt; &lt;type&gt; &lt;class&gt; &lt;value&gt; ...::

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.
</content>
</entry>
<entry>
<title>cmd/resolver: implement command to create and delete zone file</title>
<updated>2022-05-13T18:22:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-13T17:22:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=e4581728e5c6fd9287e2e60aa908b89cbf6feeaf'/>
<id>urn:sha1:e4581728e5c6fd9287e2e60aa908b89cbf6feeaf</id>
<content type='text'>
The command to create new zone file has the following signature:

  zone.d create &lt;name&gt;

While command to delete zone file has the following signature:

  zone.d delete &lt;name&gt;
</content>
</entry>
<entry>
<title>cmd/resolver: implement command to delete record on hosts file</title>
<updated>2022-05-13T14:14:29Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-13T14:14:29Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=20c3f80e7dfd9e453d757199beb2137c09a9f536'/>
<id>urn:sha1:20c3f80e7dfd9e453d757199beb2137c09a9f536</id>
<content type='text'>
The command has the following signature,

      resolver hosts.d rr delete &lt;name&gt; &lt;domain&gt;

Given the hosts name "hosts" and domain "my.hosts" it will delete
all records that have domain name "my.hosts" inside the file.
</content>
</entry>
<entry>
<title>cmd/resolver: implement command to add new record to hosts file</title>
<updated>2022-05-10T18:55:01Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2022-05-10T18:55:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/rescached/commit/?id=1c3e6525b18f7c88d0155f856518a89415d0d95e'/>
<id>urn:sha1:1c3e6525b18f7c88d0155f856518a89415d0d95e</id>
<content type='text'>
The command has the following signature,

  resolver hosts.d rr add &lt;name&gt; &lt;domain&gt; &lt;value&gt;

Given the hosts file name "hosts" and domain "my.hosts" with value
"127.0.0.1", it will add new line "127.0.0.1 my.hosts" to the "hosts"
file.
If the domain name already exists, the new record will be appended
instead of replaced.
</content>
</entry>
</feed>
