PHPackages                             astrotomic/laravel-dns - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. astrotomic/laravel-dns

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

astrotomic/laravel-dns
======================

0.3.0(2y ago)327.4k↑12.5%2MITPHPPHP ^8.1

Since Jun 1Pushed 2y ago2 watchersCompare

[ Source](https://github.com/Astrotomic/laravel-dns)[ Packagist](https://packagist.org/packages/astrotomic/laravel-dns)[ Docs](https://astrotomic.info)[ Fund](https://forest.astrotomic.info)[ GitHub Sponsors](https://github.com/Gummibeer)[ RSS](/packages/astrotomic-laravel-dns/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (10)Versions (4)Used By (0)

Laravel DNS
===========

[](#laravel-dns)

[![Latest Version](https://camo.githubusercontent.com/5128f1c4afcbea703bd396436ed4d0703c91cc963f839c18d8dac80c78970daa/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f617374726f746f6d69632f6c61726176656c2d646e732e7376673f6c6162656c3d52656c65617365267374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/astrotomic/laravel-dns)[![MIT License](https://camo.githubusercontent.com/31c602b5644918ac4eab90c4cd83a2bee66ceea3526c82c8b20d5c8b9ce11f98/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f417374726f746f6d69632f6c61726176656c2d646e732e7376673f6c6162656c3d4c6963656e736526636f6c6f723d626c7565267374796c653d666f722d7468652d6261646765)](https://github.com/Astrotomic/laravel-dns/blob/master/LICENSE)[![Offset Earth](https://camo.githubusercontent.com/d204555ebe1fb0ae82d10c97b4f4ffc2dfdd2ba1489f98be7f7e8708333a0466/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f54726565776172652d2546302539462538432542332d677265656e3f7374796c653d666f722d7468652d6261646765)](https://plant.treeware.earth/Astrotomic/laravel-dns)[![Larabelles](https://camo.githubusercontent.com/a2c8d5126ddd8c5ddc627176d1d2e0568f8399b50038e71fd7f774c3e24dbe4b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726162656c6c65732d2546302539462541362538342d6c6967687470696e6b3f7374796c653d666f722d7468652d6261646765)](https://www.larabelles.com/)

[![](https://camo.githubusercontent.com/c6e59a5b9ef9f6eed76e619593b2da4ae31038fee20a6752c4a79e82e3d6f5b5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e302d3737374242343f7374796c653d666f722d7468652d6261646765266c6f676f3d706870266c6f676f436f6c6f723d7768697465)](https://camo.githubusercontent.com/c6e59a5b9ef9f6eed76e619593b2da4ae31038fee20a6752c4a79e82e3d6f5b5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e302d3737374242343f7374796c653d666f722d7468652d6261646765266c6f676f3d706870266c6f676f436f6c6f723d7768697465)[![](https://camo.githubusercontent.com/ff407c7953249d773244190deb81d97470f95b2737ef2bb26f541c628ee6c9e3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d253545382e302d4646324432303f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465)](https://camo.githubusercontent.com/ff407c7953249d773244190deb81d97470f95b2737ef2bb26f541c628ee6c9e3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d253545382e302d4646324432303f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465)

[![GitHub Workflow Status](https://camo.githubusercontent.com/e96e55cc6cbcb3c456588615f634a948f2dd027350ebe84b67fa3380aeabdab2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f417374726f746f6d69632f6c61726176656c2d646e732f706573743f7374796c653d666c61742d737175617265266c6f676f436f6c6f723d7768697465266c6f676f3d676974687562266c6162656c3d5465737473)](https://github.com/Astrotomic/laravel-dns/actions?query=workflow%3Apest)[![GitHub Workflow Status](https://camo.githubusercontent.com/0530033206e6213a546a63096ee1c88d4e2eb5236e1aca1d5aa17a80cedfdfc4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f417374726f746f6d69632f6c61726176656c2d646e732f7068702d63732d66697865723f7374796c653d666c61742d737175617265266c6f676f436f6c6f723d7768697465266c6f676f3d676974687562266c6162656c3d436f64652b5374796c65)](https://github.com/Astrotomic/laravel-dns/actions?query=workflow%3Aphp-cs-fixer)[![Total Downloads](https://camo.githubusercontent.com/d4ffb17f1bed0e047c4642e6cc963364b93f71e1ffe62fe469d44641832bc609/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f617374726f746f6d69632f6c61726176656c2d646e732e7376673f6c6162656c3d446f776e6c6f616473267374796c653d666c61742d737175617265)](https://packagist.org/packages/astrotomic/laravel-dns)

Installation
------------

[](#installation)

```
composer require astrotomic/laravel-dns
```

Usage
-----

[](#usage)

```
use Astrotomic\Dns\Facades\Dns;

/** @var \Illuminate\Support\Collection $records */
$records = Dns::records('astrotomic.info', DNS_A);
```

```
use Astrotomic\Dns\Rules\DnsRecordExists;
use Spatie\Dns\Records\A;
use Spatie\Dns\Records\TXT;

return [
    'url' => [
        'required',
        'string',
        'url',
        // verify that domain of entered url
        // has any A, AAAA or CNAME record
        // and a TXT record with the users token
        DnsRecordExists::make()
            ->expect(DNS_A|DNS_AAAA|DNS_CNAME)
            ->expect(DNS_TXT, fn(TXT $record): bool => $record->txt() === 'token='.$this->user()->public_token),
    ],
    'email' => [
        'required',
        'string',
        'email',
        // verify that domain of entered email
        // has any MX record
        // and SPF setup
        DnsRecordExists::make()
            ->expect(DNS_MX)
            ->expect(DNS_TXT, fn(TXT $record): bool => str_starts_with($record->txt(), 'v=spf1 ')),
    ],
    'domain' => [
        'required',
        'string',
        // verify that entered domain
        // has an A record
        // pointing to our IP-address
        DnsRecordExists::make()
            ->expect(DNS_A, fn(A $record): bool => $record->ip() === '127.0.0.1'),
    ],
    'something' => [
        'required',
        'string',
        // verify that value is something with DNS
        DnsRecordExists::make(),
    ],
];
```

```
use Astrotomic\Dns\Domain;

protected $casts = [
    'domain' => Domain::class,
];
```

```
use Astrotomic\Dns\Domain;

/** @var \Astrotomic\Dns\Domain $domain */
$domain = Domain::make('dns@astrotomic.info');

/** @var string|null $domain */
$domain = Domain::parse('dns@astrotomic.info');
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity32

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 86.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~409 days

Total

3

Last Release

988d ago

PHP version history (2 changes)0.1.0PHP ^8.0

0.3.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/eb5d60f7dd33ef3680490f11b3cd461b0c7a5dcddfe69d57fb1f6a3406be4570?d=identicon)[Gummibeer](/maintainers/Gummibeer)

---

Top Contributors

[![Gummibeer](https://avatars.githubusercontent.com/u/6187884?v=4)](https://github.com/Gummibeer "Gummibeer (25 commits)")[![mattvb91](https://avatars.githubusercontent.com/u/11991564?v=4)](https://github.com/mattvb91 "mattvb91 (4 commits)")

---

Tags

dnslaravelphplaraveldnsastrotomiclaravel-dns

###  Code Quality

TestsPest

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/astrotomic-laravel-dns/health.svg)

```
[![Health](https://phpackages.com/badges/astrotomic-laravel-dns/health.svg)](https://phpackages.com/packages/astrotomic-laravel-dns)
```

###  Alternatives

[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[illuminate/events

The Illuminate Events package.

13454.3M1.8k](/packages/illuminate-events)[psalm/plugin-laravel

Psalm plugin for Laravel

3274.9M308](/packages/psalm-plugin-laravel)[illuminate/validation

The Illuminate Validation package.

18936.7M1.4k](/packages/illuminate-validation)[illuminate/broadcasting

The Illuminate Broadcasting package.

7126.5M178](/packages/illuminate-broadcasting)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
