fpdns | Fast Private DNS,提供自定义的DNS记录配置和DNS解析缓存。 | DNS library

 by   QLeelulu Go Version: v0.1 License: No License

kandi X-RAY | fpdns Summary

kandi X-RAY | fpdns Summary

fpdns is a Go library typically used in Networking, DNS applications. fpdns has no bugs, it has no vulnerabilities and it has low support. You can download it from GitHub.

Fast Private DNS,提供自定义的DNS记录配置和DNS解析缓存。

            kandi-support Support

              fpdns has a low active ecosystem.
              It has 21 star(s) with 5 fork(s). There are 1 watchers for this library.
              It had no major release in the last 12 months.
              fpdns has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of fpdns is v0.1

            kandi-Quality Quality

              fpdns has no bugs reported.

            kandi-Security Security

              fpdns has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              fpdns does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              fpdns releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed fpdns and discovered the below as its top functions. This is intended to give you an instant insight into fpdns implemented functionality, and help decide if they suit your requirements.
            • queryDnsResult extracts DNS record from the query
            • Lookup performs a lookup request .
            • Load dns conf file from disk
            • getDiffDNSConf returns a list of changes between oldC and a change .
            • handleRequest is used to handle a DNS request
            • NewMemoryCache returns a new memory cache
            • set application logger
            • StartServer starts the server
            • listenAndServe is the main entry point for testing
            • reload the dnsconf file
            Get all kandi verified functions for this library.

            fpdns Key Features

            No Key Features are available at this moment for fpdns.

            fpdns Examples and Code Snippets

            fpdns,HTTP接口,/reload_conf 接口
            Godot img1Lines of Code : 16dot img1no licencesLicense : No License
            copy iconCopy
            curl "http://host:port/reload_conf"
            reload dns conf done.
            dns conf add: 4
            	 add new1new.web.: class:IN, type:A
            	 add new-new.web.: class:IN, type:A
            	 add c252.fpdns.cn.: class:IN, type:A
            	 add c254.fpdns.cn.: class:IN, type:A
            dns conf delete: 2
            Godot img2Lines of Code : 14dot img2no licencesLicense : No License
            copy iconCopy
            ./fpdns -conf_dir ./conf
            Usage of ./fpdns:
              -addr string
                	监听的ip和端口, 例如 :53 或者 (default ":53")
              -cache_ttl int
                	缓存DNS解析结果的过期时间,单位秒。默认30秒。 (default 30)
              -conf_dir string
              -http_addr string
                	http服务监听的ip和端口, 例如   
            Godot img3Lines of Code : 11dot img3no licencesLicense : No License
            copy iconCopy
            1. .dns-conf 配置文件是否配置了对应记录
            	2. 是:
            		3. 返回配置的记录
            	4. 否:
            		5. 检查缓存中是否有对应的缓存记录
            			6. 是:
            				7. 检查缓存记录是否过期
            					8. 已过期,跳到 11
            					9. 未过期,返回缓存的记录值
            			10. 否:
            				11. 查询 resolv.conf 配置的上游DNS服务器

            Community Discussions


            Email DNS Setup: How do I make HELO publish an SPF record? SPF_HELO_NONE - SPF: HELO does not publish an SPF Record
            Asked 2022-Apr-10 at 22:48

            My environment: hMailServer 5.6.8 on Windows Server 2022 Standard

            Let's say I have two domains (I don't really own these domains, they're just examples), www.myblog.com and www.mailserver.com. They are both hosted on the same machine and have the same IP address

            The blog site www.myblog.com uses www.mailserver.com to send emails. The site www.mailserver.com only serves as a mail server; it is not accessible from a browser. I have set it up so that when www.myblog.com sends an email to someone, the recipient's email server receives SENT: EHLO www.mailserver.com, but sees SENT: MAIL FROM: message, so the recipient sees that the email came from myblog.com.

            Everything is working fine so far. Recently I decided to check the "spam rating" of my setup at https://www.mail-tester.com. I sent an email to the spam tester using the setup described above, and I saw a warning under the SpamAssassin section that says

            SPF_HELO_NONE        SPF: HELO does not publish an SPF Record

            My question is, how do I get rid of this warning? Are the DNS records as they should be? See below for the DNS records for each domain.

            The DNS records for each domain are as follows (note the PTR record for



            Answered 2022-Apr-10 at 22:48

            I was able to get rid of the warning by adding an extra TXT record with the name "www" to the www.mailserver.com DNS:

            Source https://stackoverflow.com/questions/71786859


            Parsing DNS response Answer section doesn't give expected results
            Asked 2022-Apr-04 at 15:33

            I'm trying to parse a DNS response using java. I'm following RFC-1035 for guidelines on how to send requests and receieve responses, the format that is.

            According to said RFC the answer section of a response should look like so:



            Answered 2022-Apr-04 at 15:33

            My problem is that I can't seem to parse the NAME in the answer section. It seems to start with a pointer which makes no sense.

            I probably know at lot less about this than you but am wondering why you say that? firstByte is telling you there's a pointer and the following value (0x0c) shows you the offset of the name for compression purposes (if I've got that right). None of the other bits in the same byte as firstByte is set so that can be ignored from the point of view of the offset value

            Source https://stackoverflow.com/questions/71737369


            Not able to access statefulset pod via headless service using fqdn
            Asked 2022-Mar-22 at 22:21

            I have a k8 setup that looks like this

            ingress -> headless service (k8 service with clusterIp: none) -> statefulsets ( 2pods)

            Fqdn looks like this:



            Answered 2021-Aug-01 at 02:02

            example statefulset called foo with image nginx:

            Source https://stackoverflow.com/questions/68605948


            Custom DNS server on AWS
            Asked 2022-Mar-11 at 03:02

            I am trying to create a custom DNS server for my domain on an AWS EC2 Instance. The instance is running Ubuntu 20.04 LTS and the DNS server is configured using bind 9. When I restart the bind server using

            sudo service bind9 restart

            The /var/log/syslog shows a successful start with no errors.

            Now if I run a dig on the server itself like:



            Answered 2022-Feb-21 at 07:10

            From Modify the DNS attributes for your VPC - Amazon Virtual Private Cloud:

            Amazon provides a DNS server (the Amazon Route 53 Resolver) for your VPC. To use your own DNS server instead, create a new set of DHCP options for your VPC.

            See also: Add custom domain name resolution with DHCP options sets - Amazon Virtual Private Cloud

            Source https://stackoverflow.com/questions/71200728


            Use Custom DNS resolver for any request in NodeJS
            Asked 2022-Feb-11 at 04:11

            I'm looking to find a way to use a custom DNS resolver for a nodejs request using node-fetch. I think there is a star of explaining here : Node override request IP resolution but I can't manage to make it work for any request. My goal is to use an alternative DNS resolver, such as cloudflare ( or Google public DNS ( instead the OS / ISP default DNS resolution.



            Answered 2022-Feb-11 at 04:11

            Thanks to Martheen who answered in my first post I was able to achieve the result here :

            Source https://stackoverflow.com/questions/71074255


            Max retries exceeded with url Caused by NewConnectionError Failed to establish a new connection: [Errno -3] Temporary failure in name resolution
            Asked 2022-Feb-01 at 12:47

            I am requesting an API using the python requests library:

            My python script is run once a day by the scheduler, Once the python script gets run, I am getting this error and the PID of the python script is getting killed showing OOM. I am not getting whether it's a DNS issue or an OOM (Out of memory) issue as the process is getting killed.

            Previously script was running fine.

            Any clues/help will be highly appreciable.



            Answered 2021-Sep-27 at 10:41

            I found the issue, in my case it was not DNS issue. The issue is related to the OOM(Out of memory) of the ec2 instance which is killing the process of a python script due to which the "Instance reachability check failed" and I was getting "Failed to establish a new connection: [Errno -3] Temporary failure in name resolution".

            After upgrading ec2 instance, the instance reachability didn't fail and able to run python script containing api.


            The instance status check failure indicates an issue with the reachability of the instance. This issue occurs due to operating system-level errors such as the following:

            Failure to boot the operating system Failure to mount the volumes correctly Exhausted CPU and memory- This is happening in our case. Kernel panic

            Source https://stackoverflow.com/questions/69323728


            GCE custom hostname reverse lookup in private DNS zones
            Asked 2022-Feb-01 at 09:38

            I want to create an instance in Google Cloud Engine with a custom (private) hostname. For that reason, when creating the instance from the Console (or from an SDK) I supply the hostname, or example instance0.custom.hostname.

            The instance is created and the search domain is set correctly in /etc/resolv.conf For Ubuntu in particular I have to set the hostname with hostnamectl but it is irrelevant to the question.

            Forward DNS lookups work as normal for instance0.custom.hostname. The problem comes when I do a reverse lookup for the private IP address of the instace. In that case the answer I get is the GCE "long" name instead of my custom hostname.

            How can I make the reverse lookup reply with my custom name instead of the GCE?

            I know in Azure you can use a Private DNS Zone with VM auto-registration to handle the "custom hostnames". I tried using a private zone with Google Cloud DNS (PTR records) but with no luck.



            Answered 2022-Feb-01 at 09:38

            After some serious digging I found a solution and tested it.

            Reverse DNS works even without a "regular" DNS records for your custom.hostname domain.

            To get reverse dns working lets assume your VM's in network. Their IP's are 24,27,54,55 as in my example.

            I created a private dns zone and named it "my-reverse-dns-zone" - the name is just for information and can be anything.

            "DNS name" field however is very important. Since my network address starts with 10 I want all the instances that are created in that network segment to be subject to reverse dns. So the DNS name has to be 10.in-addr.arpa in this case. If you're using 192.168.... or 172.16.... then adjust everything accordingly.

            If you wanted just 10.128.0 then you can put 0.128.10.in-addr.arpa. Then you select the VPC networks zone has to be visible in and voila:

            Then you add the PTR records that will allow this to work. I'm setting all TTL's to 1 minute to shorten the wait :)

            After accepting wait a minute (literally) and test it:

            Source https://stackoverflow.com/questions/70784616


            Why is ArgoCD confusing GitHub.com with my own public IP?
            Asked 2022-Jan-10 at 17:37

            I have just set up a kubernetes cluster on bare metal using kubeadm, Flannel and MetalLB. Next step for me is to install ArgoCD.

            I installed the ArgoCD yaml from the "Getting Started" page and logged in.

            When adding my Git repositories ArgoCD gives me very weird error messages: The error message seems to suggest that ArgoCD for some reason is resolving github.com to my public IP address (I am not exposing SSH, therefore connection refused).

            I can not find any reason why it would do this. When using https:// instead of SSH I get the same result, but on port 443.

            I have put a dummy pod in the same namespace as ArgoCD and made some DNS queries. These queries resolved correctly.

            What makes ArgoCD think that github.com resolves to my public IP address?


            I have also checked for network policies in the argocd namespace and found no policy that was restricting egress.

            I have had this working on clusters in the same network previously and have not changed my router firewall since then.



            Answered 2022-Jan-08 at 21:04

            That looks like argoproj/argo-cd issue 1510, where the initial diagnostic was that the cluster is blocking outbound connections to GitHub. And it suggested to check the egress configuration.

            Yet, the issue was resolved with an ingress rule configuration:

            need to define in values.yaml.
            argo-cd default provide subdomain but in our case it was /argocd

            Source https://stackoverflow.com/questions/70600322


            Github pages redirection the URL is not changing
            Asked 2022-Jan-06 at 09:22

            I purchased a custom domain name, I want now to modify my Github pages website which was accessible with : https://jeromevdev.github.io/santaclaus_nft/ to be accessible with https://santaclaus-nft.com.

            What I did :

            1. Added a file CNAME to my repository which contains santaclaus-nft.com
            2. Added a redirection on my hosting provider to redirect https://santaclaus-nft.com to https://jeromevdev.github.io/santaclaus_nft/
            3. In my project settings under pages I added custom domain and I setted it to : and here is the problem happening.

            What am I missing ?



            Answered 2022-Jan-06 at 09:22

            Did you add the IPv4 addresses for the A record to your DNS provider as explained on the Github Docs ? When you configure a custom domain with the Github Pages, you need to set a list of IPv4 addresses such as:

            Source https://stackoverflow.com/questions/70596035


            C# BitConverter.GetBytes() padding is incorrect?
            Asked 2022-Jan-05 at 05:20

            I am working on writing my own DNS server in .net core. I'm at the stage where I am encoding the response payload to send back, and the schema shows that most of the numbers are encoded as 16 bit numbers. C#'s ints are 32 bit numbers. Not a big deal, I'm just dropping off the remaining 16 bits from the front of the number I have no problem with that.

            I was doing this by hand until I discovered the System.BitConverter class. I tried using it, however, and the results I came up with were reversed of what it came up with.

            For example:



            Answered 2022-Jan-05 at 05:20

            As per the comments on the Question, the answer resides in Endianness.

            Network byte order sent from the dig command I am using to test with uses Big Endian order. However, my CPU architecture is Small Endian.

            Dotnet behind the scenes in their UDPClient class reverses the bytes if your system is Small Endian when sending bytes, and vice verse when receiving bytes. But because I was creating the bytes by hand using bit shifting in the Big Endian format, they were then reversed to be in Non-Network Byte order while everything else was in Network Byte order.

            The solution here is to either have conditional logic to test if your system is IsLittleEndian According to the Microsoft dotnet docs, or let the System.BitConverter class handle it for you.

            For instance: in my above example I was trying to convert a 32 bit int into a 16 bit unsigned bit. I ended up replacing the above code with:

            Source https://stackoverflow.com/questions/70587210

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install fpdns

            You can download it from GitHub.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone QLeelulu/fpdns

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular DNS Libraries


            by AdguardTeam


            by coredns


            by fanux


            by sshuttle


            by miekg

            Try Top Libraries by QLeelulu


            by QLeeluluGo


            by QLeeluluGo


            by QLeeluluJavaScript


            by QLeeluluJavaScript


            by QLeeluluJavaScript