dns: use hickory-resolver for fallback when overlay UDP fails #16

Open
zaelgohary wants to merge 2 commits from master_fix_dns_forward into master
Member

Add system-wide DNS resolver that forwards queries to Mycelium overlay network nodes when routes are available, falling back to 1.1.1.1 via hickory-resolver when overlay is unavailable.

  • Background task periodically updates best DNS node selection
  • Initial node check runs immediately on startup
  • Uses hickory-server for DNS server functionality
  • Uses hickory-resolver for fallback DNS resolution
  • Logs DNS queries and responses at warn level for visibility

Related Issue: #12

Add system-wide DNS resolver that forwards queries to Mycelium overlay network nodes when routes are available, falling back to 1.1.1.1 via hickory-resolver when overlay is unavailable. - Background task periodically updates best DNS node selection - Initial node check runs immediately on startup - Uses hickory-server for DNS server functionality - Uses hickory-resolver for fallback DNS resolution - Logs DNS queries and responses at warn level for visibility Related Issue: https://forge.ourworld.tf/geomind_code/mycelium_network/issues/12
dns: use hickory-resolver for fallback when overlay UDP fails
Some checks failed
ci / check_android_library (pull_request) Failing after 3h23m37s
ci / check_fmt (pull_request) Failing after 0s
ci / clippy (ubuntu-latest) (pull_request) Failing after 2s
ci / check_library (ubuntu-latest) (pull_request) Failing after 1s
ci / check_binaries (myceliumd-private, ubuntu-latest) (pull_request) Failing after 1s
ci / check_binaries (myceliumd, ubuntu-latest) (pull_request) Failing after 2s
ci / check_flake (ubuntu-latest) (pull_request) Failing after 1s
ci / check_library (macos-latest) (pull_request) Has been cancelled
ci / clippy (macos-latest) (pull_request) Has been cancelled
ci / clippy (windows-latest) (pull_request) Has been cancelled
ci / check_library (windows-latest) (pull_request) Has been cancelled
ci / check_ios_library (pull_request) Has been cancelled
ci / check_binaries (myceliumd, macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd, windows-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd-private, macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd-private, windows-latest) (pull_request) Has been cancelled
ci / check_flake (macos-latest) (pull_request) Has been cancelled
95ab62e4ce
Refactor DNS resolver to use overlay forwarding, Add best node selection based on route metrics, Implement fallback to 1.1.1.1 via hickory-resolver, Add readiness mechanism for DNS resolver startup, Update mobile library to wait for DNS resolver readiness, Reduce DNS timeout from 5s to 3s, Simplify socket binding and error handling
Some checks failed
ci / check_fmt (pull_request) Failing after 1s
ci / clippy (ubuntu-latest) (pull_request) Failing after 1s
ci / check_binaries (myceliumd-private, ubuntu-latest) (pull_request) Failing after 2s
ci / check_binaries (myceliumd, ubuntu-latest) (pull_request) Failing after 2s
ci / check_library (ubuntu-latest) (pull_request) Failing after 1s
ci / check_flake (ubuntu-latest) (pull_request) Failing after 1s
ci / check_android_library (pull_request) Failing after 3h1m17s
ci / clippy (windows-latest) (pull_request) Has been cancelled
ci / check_library (macos-latest) (pull_request) Has been cancelled
ci / check_library (windows-latest) (pull_request) Has been cancelled
ci / check_ios_library (pull_request) Has been cancelled
ci / clippy (macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd, macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd, windows-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd-private, macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd-private, windows-latest) (pull_request) Has been cancelled
ci / check_flake (macos-latest) (pull_request) Has been cancelled
9634adcdbb
Some checks failed
ci / check_fmt (pull_request) Failing after 1s
ci / clippy (ubuntu-latest) (pull_request) Failing after 1s
ci / check_binaries (myceliumd-private, ubuntu-latest) (pull_request) Failing after 2s
ci / check_binaries (myceliumd, ubuntu-latest) (pull_request) Failing after 2s
ci / check_library (ubuntu-latest) (pull_request) Failing after 1s
ci / check_flake (ubuntu-latest) (pull_request) Failing after 1s
ci / check_android_library (pull_request) Failing after 3h1m17s
ci / clippy (windows-latest) (pull_request) Has been cancelled
ci / check_library (macos-latest) (pull_request) Has been cancelled
ci / check_library (windows-latest) (pull_request) Has been cancelled
ci / check_ios_library (pull_request) Has been cancelled
ci / clippy (macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd, macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd, windows-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd-private, macos-latest) (pull_request) Has been cancelled
ci / check_binaries (myceliumd-private, windows-latest) (pull_request) Has been cancelled
ci / check_flake (macos-latest) (pull_request) Has been cancelled
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin master_fix_dns_forward:master_fix_dns_forward
git switch master_fix_dns_forward
Sign in to join this conversation.
No reviewers
No labels
Urgent
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/mycelium_network!16
No description provided.