dns-updater/script.py

38 lines
1.1 KiB
Python
Raw Normal View History

2024-04-02 11:23:21 -04:00
import json
import requests
import time
import logging
RECORDS_FILE = "records.json"
ENDPOINT = "https://hatecomputers.club"
API_KEY = open('apikey.secret', 'r').read().strip()
class HatecomputersDNSAdapter:
def __init__(self, endpoint, api_key):
self.endpoint = endpoint
self.session = requests.Session()
self.headers = {'Authorization': 'Bearer ' + api_key}
def post_record(self, record):
endpoint = self.endpoint + "/dns"
2024-04-02 15:01:40 -04:00
logging.info(f"adding {record} to {endpoint}")
2024-04-02 11:23:21 -04:00
self.session.post(endpoint, headers=self.headers, data=record)
2024-04-02 15:01:40 -04:00
def post_records(self, dns_entries, eepy_time=0.25):
2024-04-02 11:23:21 -04:00
for record in dns_entries:
self.post_record(record)
2024-04-02 15:01:40 -04:00
logging.info(f"sleeping for {eepy_time}")
time.sleep(eepy_time)
2024-04-02 11:23:21 -04:00
if __name__ == "__main__":
logging.basicConfig()
logging.root.setLevel(logging.NOTSET)
records_file = open(RECORDS_FILE, 'r')
dns_records = json.load(records_file)
adapter = HatecomputersDNSAdapter(ENDPOINT, API_KEY)
adapter.post_records(dns_records)