All Projects β†’ picatz β†’ flareon

picatz / flareon

Licence: MIT License
🦊A cloudflare DNS over HTTPs resolver client library.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to flareon

AdGuard-WireGuard-Unbound-Cloudflare
The Ultimate Network Security Guide πŸ”’ Protection | πŸ”Ž Privacy | πŸš€ Performance on home network 24/7 πŸ•› Accessible anywhere 🌏
Stars: ✭ 160 (+1042.86%)
Mutual labels:  dns, cloudflare, dns-over-https
dohjs
DNS over HTTPS client for use in the browser
Stars: ✭ 71 (+407.14%)
Mutual labels:  dns, https, dns-over-https
Encrypted Dns
Configuration profiles for DNS HTTPS and DNS over TLS for iOS 14 and MacOS Big Sur
Stars: ✭ 455 (+3150%)
Mutual labels:  dns, https, cloudflare
Sites Using Cloudflare
πŸ’” Archived list of domains using Cloudflare DNS at the time of the CloudBleed announcement.
Stars: ✭ 1,914 (+13571.43%)
Mutual labels:  dns, https, cloudflare
C Ares
A C library for asynchronous DNS requests
Stars: ✭ 1,193 (+8421.43%)
Mutual labels:  resolver, dns
Unbound
Unbound is a validating, recursive, and caching DNS resolver.
Stars: ✭ 1,103 (+7778.57%)
Mutual labels:  resolver, dns
solvere
A validating recursive DNS resolver library and standalone server with DNSSEC support
Stars: ✭ 32 (+128.57%)
Mutual labels:  resolver, dns
aio-doh
Asynchronous DNS-over-HTTPS client for Python
Stars: ✭ 14 (+0%)
Mutual labels:  https, dns-over-https
DNS-over-Discord
A 1.1.1.1 DNS resolver built for Discord
Stars: ✭ 228 (+1528.57%)
Mutual labels:  cloudflare, dns-over-https
detect-cloudflare-plus
True Sight Firefox extension.
Stars: ✭ 34 (+142.86%)
Mutual labels:  https, cloudflare
cloudflare-ddns-updater
Dynamic DNS (DDNS) service based on Cloudflare! Access your home network remotely via a custom domain name without a static IP! Written in pure BASH~
Stars: ✭ 434 (+3000%)
Mutual labels:  dns, cloudflare
Domain
A DNS library for Rust
Stars: ✭ 37 (+164.29%)
Mutual labels:  resolver, dns
Sdns
Privacy important, fast, recursive dns resolver server with dnssec support
Stars: ✭ 658 (+4600%)
Mutual labels:  resolver, dns
ssrf-agent
make http(s) request to prevent SSRF
Stars: ✭ 16 (+14.29%)
Mutual labels:  dns, https
Aiodnsbrute
Python 3.5+ DNS asynchronous brute force utility
Stars: ✭ 370 (+2542.86%)
Mutual labels:  resolver, dns
Which Dns
Detects which DNS server is being used
Stars: ✭ 360 (+2471.43%)
Mutual labels:  resolver, dns
dnsredir
Yet another seems better forward/proxy plugin for CoreDNS
Stars: ✭ 58 (+314.29%)
Mutual labels:  dns, dns-over-https
HostSpider
Domain information gathering tool
Stars: ✭ 61 (+335.71%)
Mutual labels:  dns, cloudflare
cup
CUP - Cloudflare (DNS) Updater Program
Stars: ✭ 30 (+114.29%)
Mutual labels:  dns, cloudflare
Chameleon
Customizable honeypots for monitoring network traffic, bots activities and username\password credentials (DNS, HTTP Proxy, HTTP, HTTPS, SSH, POP3, IMAP, STMP, RDP, VNC, SMB, SOCKS5, Redis, TELNET, Postgres and MySQL)
Stars: ✭ 230 (+1542.86%)
Mutual labels:  dns, https

Flareon

A cloudflare DNS over HTTPs resolver client library.

Pokemon, gott'a catch 'em all!

Cloudflare’s DNS over HTTPs endpoint supports JSON format for querying DNS data -- and this gem helps to use it!

Installation

$ gem install flareon

Usage

Perform a basic DNS query over HTTPs:

Flareon.query("google.com")
# => {
#     "Status"=>0,
#     "TC"=>false,
#     "RD"=>true,
#     "RA"=>true,
#     "AD"=>false,
#     "CD"=>false,
#     "Question"=>[{"name"=>"google.com.", "type"=>1}],
#     "Answer"=>[{"name"=>"google.com.", "type"=>1, "TTL"=>83, "data"=>"172.217.1.46"}]
#    }

Single-threaded DNS query (IPv6) over HTTPs for multiple domains:

domains = ["google.com", "github.com", "microsoft.com", "apple.com"]

results = Flareon.batch_query(domains, type: "AAAA")

Multi-threaded DNS query (IPv4) over HTTPs for multiple domains:

domains = ["google.com", "github.com", "microsoft.com", "apple.com"]

results = Flareon.batch_query_multithreaded(domains, threads: 4) 

Get the raw JSON response:

json = Flareon.query("google.com", json: true)

Specify DNS query type:

Flareon.query("google.com", type: "A")
Flareon.query("google.com", type: "AAAA")
Flareon.query("google.com", type: "MX")

The nslookup method is an alias for the query method:

Flareon.nslookup("google.com")

The dig method is an alias for the query method:

Flareon.dig("google.com")

Check if a given name is resolvable:

Flareon.resolve?("google.com")
# => true

Resolve a given domain to an IP address:

Flareon.resolve("google.com")
# => "172.217.1.46"

Resolve a given domain to an IPv4 address:

Flareon.resolve("google.com")
Flareon.resolve("google.com", type: "A")
Flareon.resolve("google.com", type: 1)

Resolve a given domain to an IPv6 address:

Flareon.resolve("google.com", type: "AAAA")
Flareon.resolve("google.com", type: 28)

Resolve a give domain to all IPv4 and IPv6 addresses:

ip_addresses = Flareon.resolve_all("google.com")

# or

Flareon.resolve_all("google.com") do |ip_address|
  # do something with each ip_address
  puts ip_address
end

Inspiration

Saw hrbrmstr working on dnsflare and wanted something similiar in Ruby.

License

The gem is available as open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].