|
|
|
@ -11,51 +11,75 @@ app = Flask(__name__) |
|
|
|
from flask import Flask |
|
|
|
app = Flask(__name__) |
|
|
|
|
|
|
|
token = os.environ['TOKEN'] |
|
|
|
|
|
|
|
@app.route('/') |
|
|
|
def hello(): |
|
|
|
greet = '<h1>You should not be here!</h1>' |
|
|
|
link = '<p><a href="https://www.google.com">Click me!</a></p>' |
|
|
|
return greet + link |
|
|
|
return greet + link + token |
|
|
|
|
|
|
|
@app.route('/ping/<name>') |
|
|
|
@app.route('/ping/<name>/') |
|
|
|
def ping(name): |
|
|
|
response = os.system("ping -c 1 " + name) |
|
|
|
now = str(datetime.datetime.now()) |
|
|
|
if response == 0: |
|
|
|
instruc = ' up' |
|
|
|
apiToken = request.args.get('token') |
|
|
|
if apiToken == token: |
|
|
|
response = os.system("ping -c 1 " + name) |
|
|
|
if response == 0: |
|
|
|
instruc = ' up' |
|
|
|
else: |
|
|
|
instruc = ' down' |
|
|
|
else: |
|
|
|
instruc = ' down' |
|
|
|
instruc = ' wrong token' |
|
|
|
ip_addr = request.remote_addr |
|
|
|
out = '%s - Unauthorized from IP: %s' %(now, ip_addr) |
|
|
|
print (out) |
|
|
|
return now + instruc |
|
|
|
|
|
|
|
@app.route('/http/<name>') |
|
|
|
@app.route('/http/<name>/') |
|
|
|
def http(name): |
|
|
|
address = 'http://%s' %name |
|
|
|
apiToken = request.args.get('token') |
|
|
|
now = str(datetime.datetime.now()) |
|
|
|
try: |
|
|
|
r = requests.get(address) |
|
|
|
status = r.status_code |
|
|
|
status_string = ' %s' %str(status) |
|
|
|
except requests.exceptions.Timeout: |
|
|
|
status_string = " Timeout" |
|
|
|
except requests.exceptions.TooManyRedirects: |
|
|
|
status_string = " TooManyRedirects" |
|
|
|
except requests.exceptions.RequestException as e: |
|
|
|
status_string = ' %s' %str(e) |
|
|
|
if apiToken == token: |
|
|
|
address = 'http://%s' %name |
|
|
|
try: |
|
|
|
r = requests.get(address) |
|
|
|
status = r.status_code |
|
|
|
status_string = ' %s' %str(status) |
|
|
|
except requests.exceptions.Timeout: |
|
|
|
status_string = " Timeout" |
|
|
|
except requests.exceptions.TooManyRedirects: |
|
|
|
status_string = " TooManyRedirects" |
|
|
|
except requests.exceptions.RequestException as e: |
|
|
|
status_string = ' %s' %str(e) |
|
|
|
else: |
|
|
|
status_string = ' wrong token' |
|
|
|
ip_addr = request.remote_addr |
|
|
|
out = '%s - Unauthorized from IP: %s' %(now, ip_addr) |
|
|
|
print (out) |
|
|
|
return now + status_string |
|
|
|
|
|
|
|
@app.route('/https/<name>') |
|
|
|
@app.route('/https/<name>/') |
|
|
|
def https(name): |
|
|
|
address = 'https://%s' %name |
|
|
|
try: |
|
|
|
r = requests.get(address) |
|
|
|
status = r.status_code |
|
|
|
status_string = ' %s' %str(status) |
|
|
|
except requests.exceptions.Timeout: |
|
|
|
status_string = " Timeout" |
|
|
|
except requests.exceptions.TooManyRedirects: |
|
|
|
status_string = " TooManyRedirects" |
|
|
|
except requests.exceptions.RequestException as e: |
|
|
|
status_string = ' %s' %str(e) |
|
|
|
apiToken = request.args.get('token') |
|
|
|
now = str(datetime.datetime.now()) |
|
|
|
if apiToken == token: |
|
|
|
address = 'https://%s' %name |
|
|
|
try: |
|
|
|
r = requests.get(address) |
|
|
|
status = r.status_code |
|
|
|
status_string = ' %s' %str(status) |
|
|
|
except requests.exceptions.Timeout: |
|
|
|
status_string = " Timeout" |
|
|
|
except requests.exceptions.TooManyRedirects: |
|
|
|
status_string = " TooManyRedirects" |
|
|
|
except requests.exceptions.RequestException as e: |
|
|
|
status_string = ' %s' %str(e) |
|
|
|
else: |
|
|
|
status_string = ' wrong token' |
|
|
|
ip_addr = request.remote_addr |
|
|
|
out = '%s - Unauthorized from IP: %s' %(now, ip_addr) |
|
|
|
print (out) |
|
|
|
return now + status_string |
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
|