frey

Implements a DNS resolver client utilizing miniDns, offering functions to retrieve TXT, A, and AAAA records, and resolve DNS addresses with robust testing capabilities.

Android JVMJVM
GitHub stars0
Authorsremmerw
Dependents1
LicenseApache License 2.0
Creation dateabout 1 year ago

Last activity2 days ago
Latest release0.2.5 (17 days ago)

Kotlin Maven Version Badge Android Badge JVM

Frey

The Frey project implements a DnsResolver client which based on miniDns.

Integration

    
kotlin {
    sourceSets {
        commonMain.dependencies {
            ...
            implementation("io.github.remmerw:frey:0.2.5")
        }
        ...
    }
}
    

API

    
    @Test
    fun testDnsAddr() {
        val resolver = DnsResolver()
        val result = resolver.resolveDnsAddr("bootstrap.libp2p.io")
        assertNotNull(result)
        assertFalse(result.isEmpty())
        result.forEach { text -> println(text) }
    }

    @Test
    fun testDnsLinkFailure() {
        val resolver = DnsResolver()
        val result = resolver.resolveDnsLink("bootstrap.libp2p.io") // this fails, not valid
        assertNotNull(result)
        assertTrue(result.isEmpty())
    }


    @Test
    fun testTXTRecord() {
        val resolver = DnsResolver()
        val result = resolver.retrieveTxtRecords("_dnsaddr.bootstrap.libp2p.io")
        assertNotNull(result)
        assertFalse(result.isEmpty())
        result.forEach { text -> println(text) }
    }

    @Test
    fun testAAAARecord() {
        val resolver = DnsResolver(defaultDnsServerIpv6())
        val addresses = resolver.retrieveAAAARecord("www.welt.de")
        assertNotNull(addresses)
        assertFalse(addresses.isEmpty())
    }

    @Test
    fun testARecord() {
        val resolver = DnsResolver(defaultDnsServerIpv4())
        val addresses = resolver.retrieveARecord("www.welt.de")
        assertNotNull(addresses)
        assertFalse(addresses.isEmpty())
    }

Android JVMJVM
GitHub stars0
Authorsremmerw
Dependents1
LicenseApache License 2.0
Creation dateabout 1 year ago

Last activity2 days ago
Latest release0.2.5 (17 days ago)

Kotlin Maven Version Badge Android Badge JVM

Frey

The Frey project implements a DnsResolver client which based on miniDns.

Integration

    
kotlin {
    sourceSets {
        commonMain.dependencies {
            ...
            implementation("io.github.remmerw:frey:0.2.5")
        }
        ...
    }
}
    

API

    
    @Test
    fun testDnsAddr() {
        val resolver = DnsResolver()
        val result = resolver.resolveDnsAddr("bootstrap.libp2p.io")
        assertNotNull(result)
        assertFalse(result.isEmpty())
        result.forEach { text -> println(text) }
    }

    @Test
    fun testDnsLinkFailure() {
        val resolver = DnsResolver()
        val result = resolver.resolveDnsLink("bootstrap.libp2p.io") // this fails, not valid
        assertNotNull(result)
        assertTrue(result.isEmpty())
    }


    @Test
    fun testTXTRecord() {
        val resolver = DnsResolver()
        val result = resolver.retrieveTxtRecords("_dnsaddr.bootstrap.libp2p.io")
        assertNotNull(result)
        assertFalse(result.isEmpty())
        result.forEach { text -> println(text) }
    }

    @Test
    fun testAAAARecord() {
        val resolver = DnsResolver(defaultDnsServerIpv6())
        val addresses = resolver.retrieveAAAARecord("www.welt.de")
        assertNotNull(addresses)
        assertFalse(addresses.isEmpty())
    }

    @Test
    fun testARecord() {
        val resolver = DnsResolver(defaultDnsServerIpv4())
        val addresses = resolver.retrieveARecord("www.welt.de")
        assertNotNull(addresses)
        assertFalse(addresses.isEmpty())
    }