45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
|
from lib.all import *
|
||
|
import cloudflare
|
||
|
|
||
|
|
||
|
class CloudflareManager:
|
||
|
def __init__(self):
|
||
|
self.cf = cloudflare.Cloudflare(
|
||
|
api_email="chengdewangyue@outlook.com",
|
||
|
api_key="d03a3857ee796d8b8e584b8311127b334cc27"
|
||
|
)
|
||
|
|
||
|
def __del__(self):
|
||
|
self.cf.close()
|
||
|
|
||
|
def zone_list(self):
|
||
|
ret = self.cf.zones.list(
|
||
|
account={"id": "722b58c5ced87e7bfba175acb9a2a9d6"},
|
||
|
per_page=1000
|
||
|
)
|
||
|
return ret
|
||
|
|
||
|
def create_zone(self, domain):
|
||
|
ret = self.cf.zones.create(
|
||
|
account={"id": "722b58c5ced87e7bfba175acb9a2a9d6"},
|
||
|
name=domain
|
||
|
)
|
||
|
return ret
|
||
|
|
||
|
def add_record(self, zone_id, content, name, typ):
|
||
|
ret = self.cf.dns.records.create(
|
||
|
zone_id=zone_id,
|
||
|
content=content,
|
||
|
name=name,
|
||
|
type=typ,
|
||
|
proxied=False,
|
||
|
ttl=60
|
||
|
)
|
||
|
return ret
|
||
|
|
||
|
|
||
|
# cfm = CloudflareManager()
|
||
|
# ret = cfm.add_record("60abfd3b47de6e0830b413b9fa6e9e1c", "47.242.233.23", "95s35e8s", "A")
|
||
|
# print(ret.json())
|
||
|
# ret = cfm.zone_list().json()
|
||
|
# print(ret)
|