|
@@ -50,11 +50,13 @@ class Target(db.Model):
|
|
|
ip = db.Column(db.BINARY(length=16))
|
|
|
# Date at which a user asked for measurements to this target
|
|
|
submitted = db.Column(db.DateTime)
|
|
|
+ public = db.Column(db.Boolean)
|
|
|
|
|
|
- def __init__(self, ip):
|
|
|
+ def __init__(self, ip, public=False):
|
|
|
self.unique_id = str(uuid4())
|
|
|
self.ip = IPAddress(ip).packed
|
|
|
self.submitted = datetime.now()
|
|
|
+ self.public = public
|
|
|
|
|
|
def get_ip(self):
|
|
|
return IPAddress(unpack(self.ip))
|
|
@@ -210,12 +212,13 @@ def robots():
|
|
|
def submit_job():
|
|
|
if 'target' in request.form:
|
|
|
target = request.form['target'].strip()
|
|
|
+ public = bool(request.form.get('public'))
|
|
|
if is_valid_ip(target):
|
|
|
# Explicit IP
|
|
|
- targets = [Target(target)]
|
|
|
+ targets = [Target(target, public)]
|
|
|
else:
|
|
|
# DNS name, might give multiple IP
|
|
|
- targets = [Target(ip) for ip in resolve_name(target)]
|
|
|
+ targets = [Target(ip, public) for ip in resolve_name(target)]
|
|
|
if targets == []:
|
|
|
return render_template('submit_error.html', target=request.form['target'])
|
|
|
for t in targets:
|