diff options
Diffstat (limited to 'script.py')
-rw-r--r-- | script.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/script.py b/script.py new file mode 100644 index 0000000..ed97e8e --- /dev/null +++ b/script.py @@ -0,0 +1,38 @@ +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} + self.session = requests.Session() + + def post_record(self, record): + endpoint = self.endpoint + "/dns" + logging.info("adding", record, "at", endpoint) + + self.session.post(endpoint, headers=self.headers, data=record) + + def post_records(self, dns_entries, sleep_time=300): + for record in dns_entries: + self.post_record(record) + + logging.info("sleeping", sleep_time) + time.sleep(sleep_time) + +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) |