Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need a document about DinoDNS #19

Open
SpaceTimee opened this issue Aug 4, 2022 · 4 comments
Open

Need a document about DinoDNS #19

SpaceTimee opened this issue Aug 4, 2022 · 4 comments

Comments

@SpaceTimee
Copy link

I'm trying to use DinoDNS. A document would make it much easier. Is there a document introducing the classes & functions in DinoDNS?

@Turnerj
Copy link
Member

Turnerj commented Aug 4, 2022

Hey @SpaceTimee - thanks for raising the issue! Currently the only documentation is the getting started guide on the readme: https://github.com/TurnerSoftware/DinoDNS#-getting-started

I do have plans to write further documentation though they've been on the back burner while I work on a major rewrite of code for another one of my libraries.

Let me know what you're trying to do (what type of query etc) and I should be able to help you out.

@SpaceTimee
Copy link
Author

I meet a special trouble. A DOT server tls://dns.rubyfish.cn:853 is using "certificate" to ban ip requests. It means I can only use "tls://dns.rubyfish.cn:853" to resolve DNS. If I use its ip "tls://175.24.154.66:853" (got from command "ping dns.rubyfish.cn"), It will return an error like "Cannot make the DNS request: getting connection to tls://175.24.154.66:853: connecting to 175.24.154.66: x509: cannot validate certificate for 175.24.154.66 because it doesn't contain any IP SANs".

In the getting started guide, DnsClient in DinoDNS could only receive ips as its NameServer. Is it possible to use DNS domains to resolve domains? XD

@Turnerj
Copy link
Member

Turnerj commented Aug 5, 2022

Interesting case and somewhat of an oversight on my part. Technically you can do what you want if you use your own instance of TurnerSoftware.DinoDNS.Connection.TlsResolver. The constructor of it allows setting a custom SslClientAuthenticationOptions where you can specify SslClientAuthenticationOptions.TargetHost which I believe will fix your problem.

You then just create your own instance of NameServer, passing in your IP address and custom TlsResolver instance.

That would be the fastest way to get the functionality you want right now. In the future, I'll likely change what details are passed into resolvers so domain names can be defined or something.

@SpaceTimee
Copy link
Author

Thanks for ur instruction, I look forward to the exciting improvements

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants