mirror of https://github.com/CIRCL/lookyloo
165 lines
6.8 KiB
HTML
165 lines
6.8 KiB
HTML
{% extends "main.html" %}
|
|
{% from 'bootstrap/utils.html' import render_messages %}
|
|
{% block title %}Capture{% endblock %}
|
|
|
|
{% block card %}
|
|
<meta property="og:title" content="Lookyloo" />
|
|
<meta property="og:type" content="website"/>
|
|
<meta
|
|
property="og:description"
|
|
content="Lookyloo captures websites and let you investigate them."
|
|
/>
|
|
<meta
|
|
property="og:image"
|
|
content="https://{{public_domain}}{{ url_for('static', filename='lookyloo.jpeg') }}"
|
|
/>
|
|
<meta
|
|
property="og:url"
|
|
content="https://{{public_domain}}"
|
|
/>
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container">
|
|
<center>
|
|
<a href="{{ url_for('index') }}" title="Go back to index">
|
|
<img src="{{ url_for('static', filename='lookyloo.jpeg') }}"
|
|
alt="Lookyloo" width="400">
|
|
</a>
|
|
</center>
|
|
</br>
|
|
{{ render_messages(container=True, dismissible=True) }}
|
|
</br>
|
|
<form role="form" action="{{ url_for('capture_web') }}" method=post enctype=multipart/form-data>
|
|
<div class="form-group row">
|
|
<div class="col-sm-10">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" name="listing" checked="true"></input>
|
|
<label for="listing" class="form-check-label">Display results on public page</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="url" class="col-sm-2 col-form-label">URL:</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" name="url" id=url
|
|
placeholder="URL to capture" value="{{predefined_url_to_capture}}" required>
|
|
</div>
|
|
</div>
|
|
|
|
{% if max_depth >= 2 %}
|
|
<div class="form-group row">
|
|
<label for="depth" class="col-sm-2 col-form-label">Link Depth:</label>
|
|
<div class="col-sm-1">
|
|
<select class="form-control" name="depth" id=depth>
|
|
{% for depth in range(max_depth) %}
|
|
<option value="{{ depth + 1 }}">{{ depth + 1 }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
{%endif%}
|
|
|
|
<div class="form-group row">
|
|
<label for="referer" class="col-sm-2 col-form-label">Referer (Optional):</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" name="referer" id=referer placeholder="Pass referer of the URL">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label for="proxy" class="col-sm-2 col-form-label">Proxy (Optional):</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" name="proxy" id="proxy" placeholder="Expected format: [scheme]://[username]:[password]@[hostname]:[port]">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label for="cookies" class="col-sm-6">Cookies (JSON export from the Firefox plugin Cookie Quick Manager)</label>
|
|
<div class="col-sm-4">
|
|
<input type="file" class="form-control-file" id="cookies" name="cookies">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
<p style="font-size: x-large"><b>Browser Configuration</b> (Lookyloo uses an emulated browser for all captures)</p>
|
|
{% if personal_ua %}
|
|
<div class="form-group row">
|
|
<div class="col-sm-10">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" name="personal_ua"></input>
|
|
<label for="personal_ua" class="form-check-label">Tick the box to use the current <a href="https://en.wikipedia.org/wiki/User_agent">user-agent</a> of your own browser:</br>
|
|
{{ personal_ua }}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</br>
|
|
<div>Or pick the user agent of your choice:</div>
|
|
</br>
|
|
{% endif %}
|
|
|
|
<div class="form-group row">
|
|
<label for="os" class="col-sm-2 col-form-label">Operating System:</label>
|
|
<div class="col-sm-10">
|
|
<select class="form-control" name="os" id="os">
|
|
{% for os in user_agents.keys() %}
|
|
<!-- Select the default os -->
|
|
<option value="{{ os }}" {% if os==default['os'] %}selected{% endif %}>{{ os }}</option>
|
|
{% endfor%}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
{% for os, browsers in user_agents.items() %}
|
|
<!-- Hide the browsers that aren't part of the default os -->
|
|
<div id="{{os.replace(' ', '_')}}" class="style-sub-1 form-group row" {% if not os==default['os'] %}style="display: none;"{%endif%}>
|
|
<label for="browser" class="col-sm-2 col-form-label">Browser Type:</label>
|
|
<div class="col-sm-10">
|
|
<!-- Disable all the selects not related to the default os -->
|
|
<select class="form-control" name="browser" {% if not os==default['os'] %}disabled{%endif%}>
|
|
{% for browser in browsers.keys()%}
|
|
<!-- Select the default browser -->
|
|
<option value="{{ browser }}" {% if browser==default['browser'] %}selected{% endif %}>{{ browser }}</option>
|
|
{% endfor%}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
{% for browser, user_agents in browsers.items()%}
|
|
<!-- Hide the user agents that aren't part of the default OS and browsers that aren't part of the default os -->
|
|
<div id="{{os.replace(' ', '_')}}_{{browser.replace(' ', '_')}}" class="style-sub-2 form-group row" {% if not os==default['os'] or not browser==default['browser']%} style="display: none;"{%endif%}>
|
|
<label for="user_agent" class="col-sm-2 col-form-label">User Agent:</label>
|
|
<div class="col-sm-10">
|
|
<!-- Disable all the selects, unless it is in default os and browser -->
|
|
<select class="form-control" name="user_agent" {% if not os==default['os'] or not browser==default['browser'] %}disabled{%endif%}>
|
|
{% for user_agent in user_agents %}
|
|
<!-- Select the default ua -->
|
|
<option value="{{ user_agent }}" {% if user_agent==default['useragent'] %}selected{% endif %}>{{ user_agent }}</option>
|
|
{% endfor%}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
{% endfor%}
|
|
{% endfor%}
|
|
<div class="dropdown-divider"></div>
|
|
<center>
|
|
<b>By default, the capture is public. If you do not want that, untick the box at the top of the form.</b>
|
|
</br>
|
|
</br>
|
|
<button type="submit" class="new-capture-button" id="btn-looking">Start looking!</button>
|
|
<div id="long" style="display:none">Please wait, it can take a while on big websites...</div>
|
|
<div id="too-long" style="display:none">... No, really, I mean it.</div>
|
|
<div id="way-too-long" style="display:none">Told ya!</div>
|
|
</center>
|
|
</form>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block scripts %}
|
|
{{ super() }}
|
|
<script src='{{ url_for('static', filename='capture.js') }}'
|
|
integrity="{{get_sri('static', 'capture.js')}}"
|
|
crossorigin="anonymous"></script>
|
|
{% endblock %}
|