| Age | Commit message (Collapse) | Author |
|
|
|
Seems like the "go tool doc" subcommand has been removed on latest
release of Go.
|
|
The embed command should be run once when the assets file in _www changes.
|
|
The build task should be run by user, while install tasks run by root.
If we make build depends on install then the binaries will rebuild by
user root.
|
|
Instead of using binary fieldalignment and shadow, run them by creating
command that call the same Analyzer internally.
This analyzers help finding possible panic on httpd.go.
|
|
|
|
The web user interface can be run using existing rescached server by
setting the SERVER value in class Rescached (_www/rescached.js).
|
|
Fix the code as recommended by linters, for example using context for
HTTP client request, using 0600 for file permission, using string
concatenation instead of fmt, using "%w" for error, and reorder defer.
|
|
|
|
The golangci-lint become unusable.
Even running "make" on the their master branch does not works.
Since I use go tip (master) on local, sometimes golangci-lint does not
run.
This changes replace golangci-lint with "go vet", fieldalignment and
shadow (from x/tools), and revive.
|
|
|
|
Executing "resolver version" will print the current version based
on the latest tag, number of commit, and latest commit hash:
v<TAG>.r<number-of-commit>.<commit-hash>
|
|
It is hard to keep the documentation in sync between manual page,
the Go documentation, and command line usage.
A changes in manual page need to be copied into two different places.
To simplify this, we make the Go doc comment as summary and the command
line usage is set from output of `go tool doc ./cmd/resolver`.
|
|
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
|
|
Previously, all files required for installing rescached scattered in
different directories.
This changes move all files into single directory _sys with the
directory structure matched with target system.
|
|
|
|
Previously, running an instance of rescached assume that all
configurations and cache are located in /etc/rescached and
/var/cache/rescached.
It possible that we may want to use different base directory (or $PREFIX,
in the auto tools terms), for example "/opt/rescached" or as showed
in the "dev" task in the Makefile, we use "_test" as base directory
for running test instance.
This changes also fix an error when loading hosts file from non-existant
hosts.d directory.
|
|
This changes add new directory called "block.d" under rescached.
This directory contains hosts file fetched from URL defined in hosts
block configuration.
In this way, we did not mixed between user created hosts file and
external hosts file.
In the configuration file, we changes the hosts block format from
single line
hosts_block = <URL>
into subsection with dynamic name,
[block.d "<name>"]
name = <name>
url = <URL>
|
|
List of changes,
* Remove unused constants keyIsEnabled, keyIsSystem, and keyLastUpdated.
* Use the method String on instance of Duration instead of fmt.Sprintf.
* Replace any usage of io/ioutil package with its replacement.
* Check for error from calling Environment.init and Zone.Add.
* Prefix all returned error on hostsBlock.update method.
* Add "lint" task as part of default target, build.
|
|
The serve-doc command require ciigo [1] command.
[1] git.sr.ht/~shulhan/ciigo
|
|
See https://kilabit.info/journal/2022/gpl/ for more information.
|
|
This two commands is used internally for development.
The "embed" command embed all files inside "_www" directory into
Go file "memfs_generate.go".
This command replace "internal/generate_memfs.go".
The "dev" command run the rescached server in development mode using
"cmd/rescached/rescached.cfg.test" as the configuration.
The "dev" command listen on DNS port 5350, so to prevent conflict with
live rescached server, we run script _bin/nft_dnstest_chain.sh to redirect
UDP and TCP requests from port 53 to port 5350.
|
|
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.
|
|
== 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"
|
|
|
|
While at it fix the binaries path on uninstall-common.
|
|
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.
|
|
|
|
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, remove unused, OS specific, "coverbrowse" task.
|
|
This is to minimize user to install additional tools to build and install
this software.
|
|
|
|
|
|
This is the first web UI (wui) where user can change configuration on
the fly.
The wui is implemented using svelte.dev and can be accessed on
http://127.0.0.1:5380.
|
|
This is to ignore the directory being scanned by Go tools.
|
|
This is to ignore the directory being scanned by Go tools.
|
|
|
|
|
|
|
|
On Makefile the shell compound syntax '{}' may not recognized and will
result in the statement not executed as expected.
Fix #4.
|
|
This changes add the macOS launchd script and make tasks to install
and uninstall in macOS.
|
|
|
|
lint-ing task optional actually, but it will display a warning when
building binary without linting tools exist in user environment.
|
|
Previously, the Common Name (CN) for certificate is not a valid local
domain name, because we tested it using IP address instead of domain name.
This commit use the "localhost" in certificate CN and in configuration for
DoH in browser.
|
|
|
|
|
|
|
|
|