| Age | Commit message (Collapse) | Author |
|
Using port makes the IP address of DoT and DoH listen on the same
address with UDP.
If we set ListenAddress to 0.0.0.0 and TLS termination is handled
by proxy, this cause DoT and DoH will also listen on all
addresses.
This behaviour makes the server open DoT and DoH ports to the public,
where it should be on local address only.
|
|
**π§ all: remove prefix "rescached:" on logging**
Adding those prefix make the log context redundant in journald.
**π§ block.d: update blocked hosts for pgl.yoyo.org and someonewhocares.org**
The pgl.yoyo.org updated to "Mon, 19 Jan 2026 15:51:36 GMT".
The someonewhocares.org updated to version "Tue, 27 Jan 2026 at 00:07:12
GMT".
**π± all: add option to set minimum TTL**
In the rescached.cfg, we add option where user can force the minimum
TTL in the DNS answer.
This option is not a standard and not recommended used in public
facing network.
It should be used only for personal and private network.
|
|
|
|
In the rescached.cfg, we add option where user can force the minimum
TTL in the DNS answer.
This option is not a standard and not recommended used in public
facing network.
It should be used only for personal and private network.
|
|
|
|
Changelog on ciigo,
* go.mod: update pakakeh.go to v0.60.3-0.20260115103415-806359d5462f
* all: format README with prettier
* all: embed CSS and index HTML template using memfs
* all: move _example/ directory under _doc/ directory
* all: improve default stylesheet
* _static: simplify the topbar section
* _static: second round for cleaning up styles
* all: conform with Lighthouse recommendations
* go.mod: update asciidoctor-go module
* all: fix test on GoEmbed
Changelog on pakakeh.go:
* all: use SPDX license header format
* lib/test: export the constant for default data file name suffix
* lib/test: implement method ExtractInput on Data
* lib/git: implement Gitignore
* lib/git: add Git type with method IsIgnored
* lib/git: implement Equaler interface on Git
* lib/http: add second return value, statusCode, to FSHandler
* lib/ini: improve error message when parsing variable name
* lib/os: add function IsBinaryStream
* lib/git: fix ignore pattern with single wildcard '*'
* lib/git: add method LogFollow
* README: format the file using prettier
* lib/git: pass "--" when running LogFollow command
* lib/git: expose the API for IgnorePattern
* lib/git: handle pattern "**/foo/**"
* lib/test: ignore line prefixed with "//"
* all: convert license and copyright to use SPDX identifiers
* CHANGELOG: record all of the latest changes
* README: fix broken link and simplify license section
* lib/dns: increase the client default timeout from 6 to 60 seconds
* lib/dns: simplify log message for DebugLevelCache
* make: increase test timeout to 2m due to lib/email/dkim takes more 60s
|
|
|
|
Adding those prefix make the log context redundant in journald.
|
|
For link as an example or does not exist, escaped it from being rendered
into anchor.
|
|
This release mostly chores.
**π§ all: replace golangci-lint with "go vet"**
**π§ all: replace debug package with internal Debug variabel**
The [debug.Value] will be removed in the next release of pakakeh.go.
**π§ internal/cmd/gocheck: add internal static analyzers**
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.
**π§ make: remove build task from install tasks**
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.
**π§ Makefile: do not run "embed" when building rescached**
The embed command should be run once when the assets file in _www changes.
**π§ all: cleaning README and expand the index in documentation**
In the README, we remove the EXIT STATUS and AUTHOR sections.
Those sections are not informative.
In the index, we expand the preamble to include short information about
what is rescached.
**π§ make: fix building resolver**
Seems like the "go tool doc" subcommand has been removed on latest
release of Go.
|
|
Seems like the "go tool doc" subcommand has been removed on latest
release of Go.
|
|
In the README, we remove the EXIT STATUS and AUTHOR sections.
Those sections are not informative.
In the index, we expand the preamble to include short information about
what is rescached.
|
|
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 [debug.Value] will be removed in the next release of pakakeh.go.
|
|
|
|
|
|
=== Enhancements
* cmd/rescached: add sub command to print the current version
Running "rescached version" now will print the program version.
* support SVCB record (type 64) and HTTPS record (type 65)
The latest update on "lib/dns" package support RFC 9460, SVCB record
(type 64) and HTTPS record (type 65).
=== Chores
* all: replace module "share" with "pakakeh.go"
The module "share" has been moved to new repository at SourceHut and
we rename it to make it more unique instead of common English words
"share".
* all: move repository to SourceHut
The new repository and project page for rescached is at
https://sr.ht/~shulhan/rescached .
|
|
|
|
Using ".reuse/dep5" has been deprecated since REUSE v3.2.
|
|
Remove items that has been finished or not related to current
implementation.
|
|
|
|
The web user interface can be run using existing rescached server by
setting the SERVER value in class Rescached (_www/rescached.js).
|
|
|
|
|
|
Seems like the latest Go require the minor version to be explicitly
defined [1][2].
[1] https://github.com/golang/go/issues/65568
[2] https://github.com/golang/go/issues/66175
|
|
|
|
The latest update on "lib/dns" package support RFC 9460, SVCB record
(type 64) and HTTPS record (type 65).
|
|
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 module "share" has been moved to new repository at SourceHut and
we rename it to make it more unique instead of common English words
"share".
|
|
|
|
|
|
|
|
|
|
* all: remove loading system hosts file::
Loading and caching system hosts file (for example, /etc/hosts in
POSIX) will leaks internal hosts if the rescached server is open to
public.
The system hosts file are handled by nssswitch.conf "files" internally
so no need to loading it.
* cmd/resolver: replace "math/rand" with "crypto/rand"::
The random number from "math/rand" is predictable if the seed is
known. Even though the random number here is only for generating unique
request ID, we still need to prevent this by using more secure random
number.
|
|
|
|
|
|
= Release share v0.50.1 (2023-11-05)
This release bring many enhancements to "lib/memfs", a library for
caching file system in memory.
=== Enhancements
* lib/memfs: return nil in AddChild if file not exist
* lib/memfs: quote the path in the returned error
* lib/memfs: add method Child to Node
* lib/memfs: call the Init method in the embedded file
* lib/memfs: include empty directory
* lib/memfs: re-scan directory content on Nodeβs Update
= Release share v0.50.0 (2023-10-04)
This release bring many enhancements thanks to linters like revive,
fieldaligment, and shadow.
This release also replace "math/rand.Seed" with "crypto/rand".
Since Go 1.20 the "math/rand.Seed" is considered deprecated (the initial
value of rand is seeded automatically, not zero).
Now, it is the time to replace "math/rand" with more secure random
number generator, from "crypto/rand".
This changes affect tests in package "lib/email", "lib/http", and
"lib/stmp".
= Release ciigo v0.10.1 (2023-11-07)
In this release, update on asciidoctor-go add new features to parse
unordered list with '-' and some bug fixes related to rendering list.
The update on share module fix for permission error when scanning using
memfs and HTTP redirect for request to directory that does not end with
slash.
|
|
The random number from "math/rand" is predictable if the seed is known.
Even though the random number here is only for generating unique request
ID, we still need to prevent this by using more secure random number.
|
|
The update on share module affect the following changes,
* lib/dns: removing dns.ZoneRecords, replacing it with
map[string][]*dns.ResourceRecord
* lib/dns: file Name in Zone renamed to Origin
* lib/dns: replace call to Caches.InternalPopulate with
InternalPopulateZone that accept zone as parameter
|
|
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.
|
|
Loading and caching system hosts file (for example, /etc/hosts in POSIX)
will leaks internal hosts if the rescached server is open to public.
The system hosts file are handled by nssswitch.conf "files" internally
so no need to loading it.
|
|
=== Enhancements
* go.mod: set Go version to 1.19 and update share module
The latest share module has several fixes and enhancements regarding
DNS library, including
* lib/dns: simplify unpackDomainName return value for end
* lib/dns: use the packet length to derive current offset
* lib/dns: handle zone file with CRLF line ending
* lib/dns: allow parsing TXT rdata without quote in zone file
* lib/dns: fix parsing SRV record from zone file
* lib/dns: fix packing and unpacking resource record HINFO
* lib/dns: fix packing, parsing, and saving MINFO resource data
* _www/doc: update the index and resolver documentation
|
|
While at it, use "_" for unused parameter on methods.
|
|
|
|
The latest share module has several fixes and enhancements regarding
DNS library, including
* lib/dns: simplify unpackDomainName return value for end
* lib/dns: use the packet length to derive current offset
* lib/dns: handle zone file with CRLF line ending
* lib/dns: allow parsing TXT rdata without quote in zone file
* lib/dns: fix parsing SRV record from zone file
* lib/dns: fix packing and unpacking resource record HINFO
* lib/dns: fix packing, parsing, and saving MINFO resource data
|
|
|