Enhance DNS resolver functionality and UI settings

- Refactor fetcher tests to improve coverage and add new tests for resolver scoring and query handling.
- Update ResolverChecker to retry every minute until a healthy resolver is found and adjust timeout settings.
- Introduce scatter parameter in the configuration to allow concurrent DNS requests, with UI adjustments for user input.
- Modify metadata fetching logic to utilize cached data efficiently and ensure fresh data is fetched when necessary.
- Implement server-side handling for fetch progress, including countdowns and UI updates during long fetch operations.
This commit is contained in:
Sarto
2026-04-04 14:50:35 +03:30
parent 1311126e71
commit 9c53dad419
10 changed files with 1052 additions and 103 deletions
+4
View File
@@ -35,6 +35,10 @@ func main() {
msgLimit := flag.Int("msg-limit", 15, "Maximum messages to fetch per Telegram channel")
allowManage := flag.Bool("allow-manage", false, "Allow remote channel management and sending via DNS")
showVersion := flag.Bool("version", false, "Show version and exit")
flag.Usage = func() {
fmt.Fprintf(os.Stderr, "thefeed-server %s\n\nServes Telegram channel content over encrypted DNS for censorship-resistant access.\n\nUsage:\n thefeed-server [flags]\n\nFlags:\n", version.Version)
flag.PrintDefaults()
}
flag.Parse()
if *showVersion {