myresolver

package module
v0.0.0-...-b8701e2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2023 License: MIT Imports: 8 Imported by: 0

README

myresolver

Detect who resolved your DNS query.

Try it out

CLI interface

Just query the get.my-resolver.834834.xyz domain, dig get.my-resolver.834834.xyz TXT +short.

$ dig @1.1.1.1 get.my-resolver.834834.xyz TXT +short
"Query resolved by: '162.158.101.80'"
"ASN 13335: 'CLOUDFLARENET'
$ dig @8.8.8.8 get.my-resolver.834834.xyz TXT +short
"Query resolved by: '2a00:1450:4025:800::102'"
"ASN 15169: 'GOOGLE'"
Web interface

https://my-resolver.834834.xyz/

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ListenTCPDNS

func ListenTCPDNS(srcAddr netip.AddrPort, db *IPDB, callback func(q dnsmsg.Question[dnsmsg.ParserName], srcAddr netip.Addr)) error

func ListenUDPDNS

func ListenUDPDNS(srcAddr netip.AddrPort, db *IPDB, callback func(q dnsmsg.Question[dnsmsg.ParserName], srcAddr netip.Addr)) error

Types

type IPDB

type IPDB struct {
	// contains filtered or unexported fields
}

func ParseIPDBFromFile

func ParseIPDBFromFile(file string) (IPDB, error)

func (*IPDB) Close

func (db *IPDB) Close() error

func (*IPDB) LookupIP

func (db *IPDB) LookupIP(addr netip.Addr) (asn uint64, desc string, err error)

Directories

Path Synopsis
cmd
web

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL