#!/usr/bin/env python3
import subprocess
import sys
curl = "curl"
challtestsrv = "localhost:8055"
def run(args):
sys.stderr.write(f"run: {' '.join(args)}\n" )
p = subprocess.Popen(args, stdin=None , stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, errput = p.communicate(None )
rv = p.wait()
if rv != 0:
sys.stderr.write(errput.decode())
sys.stdout.write(output.decode())
return rv
def teardown(domain):
rv = run([curl, '-s' , '-d' , f'{{"host":"_acme-challenge.{domain}"}}' ,
f'{challtestsrv}/clear-txt' ])
if rv == 0:
rv = run([curl, '-s' , '-d' , f'{{"host":"{domain}"}}' ,
f'{challtestsrv}/set-txt' ])
return rv
def setup(domain, challenge):
teardown(domain)
rv = run([curl, '-s' , '-d' , f'{{"host":"{domain}", "addresses":["127.0.0.1"]}}' ,
f'{challtestsrv}/set-txt' ])
if rv == 0:
rv = run([curl, '-s' , '-d' , f'{{"host":"_acme-challenge.{domain}.", "value":"{challenge}"}}' ,
f'{challtestsrv}/set-txt' ])
return rv
def main(argv):
if len(argv) > 1:
if argv[1] == 'setup' :
if len(argv) != 4:
sys.stderr.write("wrong number of arguments: dns01.py setup \n" )
sys.exit(2)
rv = setup(argv[2], argv[3])
elif argv[1] == 'teardown' :
if len(argv) != 3:
sys.stderr.write("wrong number of arguments: dns01.py teardown \n" )
sys.exit(1)
rv = teardown(argv[2])
else :
sys.stderr.write(f"unknown option {argv[1]}\n" )
rv = 2
else :
sys.stderr.write("dns01.py wrong number of arguments\n" )
rv = 2
sys.exit(rv)
if __name__ == "__main__" :
main(sys.argv)
Messung V0.5 C=97 H=100 G=98
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland