GithubHelp home page GithubHelp logo

fcambus / rrda Goto Github PK

View Code? Open in Web Editor NEW
218.0 218.0 56.0 116 KB

REST API allowing to perform DNS queries over HTTP

Home Page: https://www.statdns.com

License: BSD 2-Clause "Simplified" License

Go 100.00%
api dns http query rest

rrda's People

Contributors

fcambus avatar scouture-bw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rrda's Issues

Allow DNS domain on API request

I have a rrda local server and a dnsmasq local server, composed with Docker.

If I try the following URL: http://rrda/dnsmasq:53/google.fr/A

I get a DNS server could not be reached error.

But, from the rrda machine, if I try the following command:

drill google.fr @dnsmasq

It works.

So I suppose your API does not support dns nameserver.

Could be possible to have this one? I can't pass IPs with Docker.

RRDA as a package?

I'm not a Golang expert, but I think packages can be release.

Could be possible for you?

One go get rrda command would be nicer, isn't it? :-)

Allow multiple querytype

Goal

Currently, we can request only one query type at a time. It would be useful to allow multiple query type at once. something like:

https://rrda.domain.com/8.8.8.8:53/free.fr/A,AAAA,NS

Why

We are using RRDA as an internal service to be used by other applications.

On the current case, we want to replace the dns_get_record php function by it, but we have some calls with multiple record type:

\dns_get_record($hostname, \DNS_A | \DNS_AAAA | \DNS_CNAME | \DNS_MX | \DNS_TXT);

With the current implementation of rrda, we have to make 5 HTTP request to get the same information, which is quite heavy.

line 130 incorrect if statement balance

the code cannot be run or compiled by go as it stands because line 130 includes the "_" parameter in the if statement twice thereby causing the compilation process to complain that there are an incorrect number of parameters (3 = 2). removing the duplicated _ fixes the code in my setup and I can now successfully query dns servers.

My line 130 now reads:

if _, isDomain := dns.IsDomainName(domain); isDomain { // Well-formed domain name

GO build failed

After cloning master and entering the rrda directory, I run the following commands and get error:

$ go get -d -v ./... && go build -v ./... && go install rrda
code.google.com/p/go.net (download)
warning: code.google.com is shutting down; import path code.google.com/p/go.net/idna will stop working
github.com/bmizerany/pat (download)
github.com/miekg/dns (download)
code.google.com/p/go.net/idna
github.com/bmizerany/pat
github.com/miekg/dns
_/go/rrda
can't load package: package rrda: cannot find package "rrda" in any of:
    /usr/local/go/src/rrda (from $GOROOT)
    /go/src/rrda (from $GOPATH)

No idea if it's a rrda issue or my mistake. Any idea? Thanks.

Specify DNS servers

Option to specify DNS servers on rrda command.

In this case, API urls can be simplified by ometing DNS server data.

Support for id.server query

Any chance of implementing the id.server query?

It's very useful to see what anycast node responds to queries.

dig @nsu.dnsnode.net id.server txt -c ch +short
"u4.sub"

Specified in RFC4892

Verbose option

It would be great to have a verbose option on command line.

With that, rrda application could print each request it receive for example.

Useful for dev env.

NXDOMAIN

I'm getting an NX error when contacting https://api.statdns.com/, is this part of the shutdown?

It would be nice if you would allow queries for statdns.net, it's useful for debugging.

Truncated Message Handling

If the TC bit is set dns.Exchange() will return dns.ErrTruncated which is not caught in resolve(). Tested by looking up _http._tcp.dns-sd.org. IN PTR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.