| Age | Commit message (Collapse) | Author |
|
== Breaking changes
* all: remove using tcp scheme in config and documentation
Using TCP for parent name server is discouraged, because most of server
disallow keeping the connection alive.
The valid use case for TCP connection is when server received truncated
UDP answer.
Using UDP as parent scheme, will automatically assume that the server
also capable of handling query in TCP.
This is required when client (for example, your browser) re-send the query
after receiving truncated UDP answer.
Any query received by rescached through TCP will forwarded to the parent
name server as TCP too, using the same address and port defined in one of
UDP parent.
While at it, use Cloudflare DNS server as default in configuration
and as example in documentation.
== New features
* Add support to save and load caches to/from storage upon restart
rescached now able to save and load caches to local storage upon restart.
On POSIX, the caches is stored in /var/cache/rescached/rescached.gob,
encoded using gob.
Update #9
== Bug fixes
* make the TCP forwarders as complementary of UDP
The TCP forwarders only active when client send the DNS request as TCP.
When the server receive that request it should also forward the request
as TCP not as UDP to prevent the truncated response.
Another use case for TCP is when the response is truncated, the client
will send the query back through TCP connection. The server should
forward this request using TCP instead of UDP.
== Enhancements
* remove the fallback name servers (NS) from server options
The original idea of fallback NS is to send the query to the one
define in resolv.conf, instead of using the one defined by user in
ServerOptions NameServers, when an error occured.
But, most of error usually caused by network (disconnected, time out),
so re-sending query to fallback NS does not have any effect if the
network it self is not working.
This changes remove the unnecessary and complex fallback NS from
server.
* Do not cache truncated answer
Previously only answer with non-zero response code is ignored.
This changes ignore also answer where response header is truncated.
|
|
This changes update the code based on refactoring on lib/dns package
on share module.
|
|
Using TCP for parent name server is discouraged, because most of server
disallow keeping the connection alive.
The valid use case for TCP connection is when server received truncated
UDP answer.
Using UDP as parent scheme, will automatically assume that the server
also capable of handling query in TCP.
This is required when client (for example, your browser) re-send the query
after receiving truncated UDP answer.
Any query received by rescached through TCP will forwarded to the parent
name server as TCP too, using the same address and port defined in one of
UDP parent.
While at it, use Cloudflare DNS server as default in configuration
and as example in documentation.
|
|
The update bring new features and enhancements for DNS server.
* add support to save and load caches to/from storage
rescached now able to save and load caches to local storage upon
restart.
On POSIX, the caches is stored in /var/cache/rescached/rescached.gob,
encoded using gob.
Update #9
* remove the fallback name servers (NS) from server options
The original idea of fallback NS is to send the query to the one
define in resolv.conf, instead of using the one defined by user in
ServerOptions NameServers, when an error occured.
But, most of error usually caused by network (disconnected, time out),
so re-sending query to fallback NS does not have any effect if the
network it self is not working.
This changes remove the unnecessary and complex fallback NS from
server.
* do not cache truncated answer
Previously only answer with non-zero response code is ignored.
This changes ignore also answer where response header is truncated.
* lib/dns: make the TCP forwarders as complementary of UDP
The TCP forwarders only active when client send the DNS request as TCP.
When the server receive that request it should also forward the request
as TCP not as UDP to prevent the truncated response.
Another use case for TCP is when the response is truncated, the client
will send the query back through TCP connection. The server should
forward this request using TCP instead of UDP.
|
|
|
|
Previously, the deploy task is to deploy the new version of rescached
to my personal, public server.
To make the task names consistent with macos (install-macos,
deploy-macos, ...), we rename the deploy to deploy-personal-server;
and the deploy task is default to deploying to Linux.
|
|
|
|
Changes affected by update,
* lib/http: changes on Endpoint.Call function signature
* lib/http: changes on CORS configuration
* lib/test: changes on the Assert function signature
|
|
== New features
Rescached now have a web user interface (wui) that can be accessed at
http://127.0.0.1:5380.
The interface can be used to monitoring caches, managing caches, environment,
blocked hosts, internal hosts files, and zone files.
== Breaking changes
* The `rescached::dir.hosts` now default to "/etc/rescached/hosts.d"
* The `rescached::dir.master` now default to "/etc/rescached/zone.d"
|
|
Since the default parent is DNS over TLS, https://18.136.35.199,
which is run using self-signed certificate, we need to allow_insecure
to true to make the forward can connect without error.
|
|
Remove empty options in configurations to minimize confusion and
comment options that have default values.
|
|
The screenshots images point to the latest image in the master branch.
In the man page, the screenshot will be displayed as text.
|
|
|
|
Instead of using px use em unit instead.
|
|
If the RR value is object print the value as "key=value,...".
|
|
Instead of relying on event "oninput" get the value of each record
values from the input element itself.
Also, convert type RR Type and MX Preferences to integer before passing
it to backend.
|
|
While at it fix the binaries path on uninstall-common.
|
|
This is to allow user to install the rescached program through
`go install github.com/shuLhan/rescached-go/cmd/rescached`, without
using make.
|
|
This is to allow user to trigger search by pressing Enter key on the
text input field without clicking button Search.
While at it, display information when no matched records found on search.
|
|
Executing `make deploy-macos` will build the binaries and deploy it
to DIR_BIN and stop the current running rescached service to allow it
to restart automatically.
|
|
|
|
The $(wildcard ...) statements seems either does not works on macOS
or it does not detech updated files.
|
|
When user open the rescached web interface, the front page will
render and refresh the list of non-local caches per 10 seconds.
|
|
|
|
Let the go tools handling the timestamp on source and test source
codes when running build and test.
|
|
This changes affect how the memfs.New and GoGenenerate called, does not
affect the user.
|
|
While at it, add more DNS RR types for displaying in the dashboard.
|
|
|
|
|
|
|
|
* all: generate new .SRCINFO
* PKGBUILD: remove asciidoctor from makedepends
|
|
|
|
* Add function to search and remove non-local caches
* Refactoring no how to create and remove record from hosts file
|
|
* Trim dot "." suffix on RR.Name before creating new one
* Decrease the notification from default (5 seconds) to 3 seconds
* Use the phrase "zone file" instead of "master file"
* Update the SOA fields information to be less technical.
|
|
|
|
Previously, the fields to create new record is name, type, and value.
This commit move the type field to the top so when the type changes,
the fields below it also changes according to its type.
This is to simplify the field format for PTR record.
|
|
|
|
|
|
Since each zone file only allow one SOA record, the form for creating,
updating, or deleting the SOA record should be separated from others
resource record.
|
|
|
|
While at it, remove unused, OS specific, "coverbrowse" task.
|
|
|
|
Fix hostname not converted to lowercase when parsing hosts files.
|
|
This is to minimize user to install additional tools to build and install
this software.
|
|
Add second parameter to method PopulateCachesByXxx for clearity.
|
|
|
|
|
|
|
|
Both type hold the same fields, so use one from dns library.
|
|
|