AdguardTeam / AdguardTeam/AdGuardHome

Support for Registration Data Access Protocol (RDAP) as a replacement for WHOIS

Aperta
#4,541 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
feature request
Lingua principale
TypeScript
Stelle
36.9k
Fork
2.5k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Problem Description

IETF are working on a new protocol called Registration Data Access Protocol (RDAP) which will eventually be replacing WHOIS. https://www.icann.org/rdap

One of the primary benefit of this protocol for AGH user is that the whole communication is encrypted using HTTPS unlike WHOIS which is a plain text protocol. This prevents any intermediary between user & RIR's WHOIS server to see what IP addresses are being queried. This is particularly useful if you run a semi-public AGH instance and/or have IPv6 enabled and want to avoid unnecessarily leaking user IP's.

RDAP responses are in JSON. An example response can be viewed here https://rdap.arin.net/registry/ip/8.8.8.8

### Proposed Solution

Adguard Home implements support for RDAP which will replace WHOIS or as an option in addition to WHOIS with weighing towards RDAP over WHOIS unless user chooses otherwise.

### Alternatives Considered

Only alternative I could think is to disable WHOIS in AGH to prevent leaking user IP's. This comes at the expense of less enrichment to statistics page.

### Additional Information

Few RDAP Go libraries/client implementations that might of interest to you
* https://github.com/openrdap/rdap / https://pkg.go.dev/github.com/openrdap/rdap
* https://github.com/registrobr/rdap

Playing around with ICANN's web RDAP client (https://lookup.icann.org/en), IANA has a JSON payload detailing which RIR to contact for which range along with endpoint to reach out to.

IPv4: https://data.iana.org/rdap/ipv4.json
IPv6: https://data.iana.org/rdap/ipv6.json

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.