Converted to bottle, added proper redirect

This commit is contained in:
Alex Kelly 2020-01-03 16:17:43 -05:00
parent ffd7fb37af
commit 3895fcb8ba

View file

@ -1,26 +1,39 @@
#!/usr/bin/env python
"""Utilize crypto domains DNS and either redirect, or display information."""
from flask import Flask, redirect, url_for
from bottle import Bottle, run, response, request
import json
import requests
VERSION = '0.0.1'
app = Flask(__name__)
app = Bottle()
@app.route("/")
def root():
return 'There is nothing here'
host = request.get_header('host')
return f'specify domain in URL like {host}/domain.crypto'
@app.route("/<string:domain>")
@app.route("/<domain>")
def showdomain(domain):
redirect = requests.get(f'https://unstoppabledomains.com/api/v1/{domain}')
apiurl =f'https://unstoppabledomains.com/api/v1/{domain}'
redirect = requests.get(apiurl)
try:
if redirect.status_code == 200:
body = json.loads(redirect.content)
print(body)
redirect_url = body['ipfs']['redirect_domain']
return f'<body onload="window.location = \'{redirect_url}\'"><p></body>'
# TODO: Add handler for the ipfs vs redirect
# if body['ipfs']['html']:
# print('We have html')
response.status = 302
response.set_header('Location',redirect_url)
else:
return f'Error making call to {apiurl} for {domain}'
except KeyError:
return f'Did not find a redirect for {domain}'
if __name__ == "__main__":
app.run()
run(app, host='localhost', port='5000', reloader=True)