rahulmukati / hetzner-dns
所有新的简单Hetzsner DNS库,适用于PHP。
1.0.1
2020-08-15 06:02 UTC
Requires
- php: >=5.6
This package is auto-updated.
Last update: 2024-09-21 12:18:42 UTC
README
Hetzner DNS
所有新的简单Hetzsner DNS库,适用于PHP。
特点
-
轻量级 - 少于5 KB,仅一个文件即可便携
-
易用 - 非常容易学习和使用,友好的结构
-
强大 - 支持几乎所有Hetzsner DNS功能
-
友好 - 与所有PHP框架兼容良好,如Laravel、Codeigniter、Yii、Slim,以及支持单例扩展或composer的框架
-
免费 - 在MIT许可下,您可以在任何地方使用它,无论您想做什么
要求
PHP 5.6+,建议PHP 7.0+
开始使用
通过composer安装
将其添加到composer.json配置文件中。
$ composer require rahulmukati/hetzner-dns
并更新composer
$ composer update
// If you installed via composer, just use this code to require autoloader on the top of your projects. require 'vendor/autoload.php'; // Using HetznerDNS namespace use HetznerDNS\HetznerDNS; // Initialize $hdns = new HetznerDNS([ 'api_token' => 'YOURAPITOKENHERE' ]);
创建DNS区域
$hdns->createZone([ 'name' => 'example.com', //Required: String 'ttl' => '3600' //Optional: Integer ]);
导入DNS区域文件
$body = '$ORIGIN example.com. $TTL 3600 ; SOA Records @ IN SOA ns1.yourdomain.com. dns.yourdomain.com. 2020081403 86400 10800 3600000 3600 ; NS Records @ IN NS ns1.yourdomain.com. @ IN NS ns2.yourdomain.com. ; A Records @ IN A 192.168.1.1 ; CNAME Records www IN CNAME example.com.'; $hdns->importZoneFile('ZoneIDHere', $body);
导出DNS区域文件
$hdns->exportZoneFile('ZoneIDHere');
获取所有DNS区域
$hdns->getZones([ 'name' => '', //Optional: String 'page' => '', //Optional: Number >= 1 'per_page' => '', //Optional: Number <= 100 'search_name' => '', //Optional: String ]);
获取单个DNS区域
$hdns->getZone('ZoneIDHere');
更新DNS区域
$hdns->updateZone('ZoneIDHere', [ 'name' => 'example.com', //Required: String 'ttl' => '3600' //Optional: Integer ]);
删除DNS区域
$hdns->deleteZone('ZoneIDHere');
创建DNS记录
$hdns->createRecord([ 'zone_id' => 'ZoneIDHere', //Required: String 'name' => '@', //Required: String 'type' => 'CNAME', //Required: String ("A" "AAAA" "NS" "MX" "CNAME" "RP" "TXT" "SOA" "HINFO" "SRV" "DANE" "TLSA" "DS" "CAA") 'value' => 'example.com', //Required 'ttl' => '3600' //Optional: Integer ]);
获取所有DNS记录
$hdns->getRecords([ 'zone_id' => 'ZoneIDHere', //Optional: String 'page' => '1', //Optional: Number 'per_page' => '10', //Optional: Number ]);
获取单个DNS记录
$hdns->getRecord('RecordIDHere');
更新DNS记录
$hdns->updateRecord('RecordIDHere', [ 'zone_id' => 'ZoneIDHere', //Required: String (ID of zone this record is associated with) 'name' => '@', //Required: String 'type' => 'CNAME', //Required: String ("A" "AAAA" "NS" "MX" "CNAME" "RP" "TXT" "SOA" "HINFO" "SRV" "DANE" "TLSA" "DS" "CAA") 'value' => 'example.com', //Required 'ttl' => '3600' //Optional: Integer ]);
删除DNS记录
$hdns->deleteRecord('RecordIDHere');
