Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luka2220/dns-forwarder
DNS Forwarder that can resolve the IP address for a host.
https://github.com/luka2220/dns-forwarder
cli dns-forwarder golang network-programming udp-protocol
Last synced: 19 days ago
JSON representation
DNS Forwarder that can resolve the IP address for a host.
- Host: GitHub
- URL: https://github.com/luka2220/dns-forwarder
- Owner: luka2220
- License: other
- Created: 2024-01-14T16:15:57.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-02T00:37:01.000Z (10 months ago)
- Last Synced: 2024-04-02T01:36:16.107Z (10 months ago)
- Topics: cli, dns-forwarder, golang, network-programming, udp-protocol
- Language: Go
- Homepage: https://medium.com/@piplicaluka64/building-a-dns-forwarder-cli-application-in-golang-79c3fe8eda5a
- Size: 9.78 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Go](https://github.com/luka2220/DNS-Forwarder/actions/workflows/go.yml/badge.svg)](https://github.com/luka2220/DNS-Forwarder/actions/workflows/go.yml)
# DNS Forwarder CLI
A CLI DNS Forwarder application that can resolve the IP address for a host either from its local cache or by forwarding the request to an authoritative nameserver.## Project Setup
Note: Make sure you have GO installed on your system
* Clone the repo on your system
* In the project directory run the following commands:
- `make tidy`
- `make build`* Once you've executed the commands above there will be an executable binary in the bin folder
* You can check the Makefile in the root directory to see a list of available commands and what they do
* To run the program:
- `make start`
- To quit the program while it's running press `control + c`## Testing the DNS Server
- Run the following commands below to ensure the DNS server is configured correctly.- To test the DNS server
* open a separate terminal window while the program is running to run the command below.
* `dig @127.0.0.1 -p 8080 www.google.com`- An example output:
![Screenshot 2024-01-16 at 10 00 23 AM](https://github.com/luka2220/DNS-Forwarder/assets/42144047/f3152265-f9be-4954-a5b2-06f6e1d47cf1)### Updates
If you have any feature requests, updates, or ways I can improve the code please let me know! Any collaborators and contributors are all welcome!!!### Project Details
Check out an article I wrote about my thought process throughout building the project and some challenges I faced: https://medium.com/@piplicaluka64/building-a-dns-forwarder-cli-application-in-golang-79c3fe8eda5a