2017-07-23 19:56:51 +02:00
{% extends "main.html" %}
2023-01-23 16:24:01 +01:00
{% from 'bootstrap5/utils.html' import render_icon %}
2022-01-14 15:58:06 +01:00
{% from 'bootstrap5/utils.html' import render_messages %}
2020-07-15 18:04:34 +02:00
{% from "macros.html" import shorten_string %}
2020-07-03 18:25:16 +02:00
2022-12-07 14:32:13 +01:00
{% block title %}Capture of {{info.url}}{% endblock %}
2021-01-17 12:41:01 +01:00
{% block card %}
2021-01-17 12:49:29 +01:00
< meta property = "og:title" content = "Lookyloo capture" / >
< meta property = "og:type" content = "website" / >
2021-01-17 12:41:01 +01:00
< meta
2021-01-17 12:49:29 +01:00
property="og:description"
2022-12-07 14:32:13 +01:00
content="URL captured: {{info.url}}"
2021-01-17 12:41:01 +01:00
/>
< meta
2021-01-17 12:49:29 +01:00
property="og:image"
2021-01-18 16:37:17 +01:00
content="https://{{public_domain}}{{ url_for('thumbnail', tree_uuid=tree_uuid, width=1200) }}"
2021-01-17 13:23:30 +01:00
/>
2021-01-18 12:50:58 +01:00
< meta property = "og:image:width" content = "1200" / >
< meta property = "og:image:height" content = "630" / >
2021-01-17 12:41:01 +01:00
< meta
2021-01-17 12:49:29 +01:00
property="og:url"
2021-01-18 16:37:17 +01:00
content="https://{{public_domain}}{{ url_for('tree', tree_uuid=tree_uuid) }}"
2021-01-17 12:41:01 +01:00
/>
2021-01-17 13:13:43 +01:00
< meta name = "twitter:card" content = "summary_large_image" >
2021-01-17 12:41:01 +01:00
{% endblock %}
2017-07-23 19:56:51 +02:00
2017-09-29 14:48:37 +02:00
{% block scripts %}
2019-06-28 12:08:35 +02:00
{{ super() }}
2023-01-20 12:47:45 +01:00
< script src = '{{ url_for(' static ' , filename = 'd3.min.js' ) } } '
2024-04-29 13:09:54 +02:00
{{get_sri('static', 'd3.min.js')}}
2024-09-04 16:30:33 +02:00
nonce="{{ csp_nonce() }}"
2021-06-17 02:36:01 +02:00
crossorigin="anonymous">< / script >
< script src = '{{ url_for(' static ' , filename = 'tree.js' ) } } '
2024-04-29 13:09:54 +02:00
{{get_sri('static', 'tree.js')}}
2024-09-04 16:30:33 +02:00
nonce="{{ csp_nonce() }}"
crossorigin="anonymous">< / script >
< script src = '{{ url_for(' static ' , filename = 'tree_modals.js' ) } } '
{{get_sri('static', 'tree_modals.js')}}
nonce="{{ csp_nonce() }}"
2021-06-17 02:36:01 +02:00
crossorigin="anonymous">< / script >
2020-10-28 18:49:15 +01:00
2024-09-04 16:30:33 +02:00
< script nonce = "{{ csp_nonce() }}" >
$('.modulesForceRefresh').on('click',function(){
2022-10-26 14:35:13 +02:00
$('#modulesModal .modal-body').text("Reloading modules, please wait...")
2020-12-15 01:24:40 +01:00
$('#modulesModal .modal-body').load("{{ url_for('trigger_modules', tree_uuid=tree_uuid, force=True) }}", function(){
2020-10-28 18:49:15 +01:00
$('#modulesModal').modal({show:true});
});
});
2020-05-13 17:31:27 +02:00
< / script >
2020-10-28 18:49:15 +01:00
2024-09-04 16:30:33 +02:00
< script nonce = "{{ csp_nonce() }}" >
$('#fast-categories').submit(function(event){
event.preventDefault();
var query = $('#fast-categories').serialize(); // Serialize form data
$.ajax({
type: 'POST',
url: '{{ url_for('categories_capture', tree_uuid=tree_uuid) }}',
data: query,
success: function(response) {
$('#categoriesModal .modal-body').html(response);
$('#categoriesModal').modal({show:true});
},
error: function(error) {
console.log("An error occurred: ", error);
}
2023-08-28 17:25:55 +02:00
});
2024-09-04 16:30:33 +02:00
});
2021-03-19 17:51:25 +01:00
< / script >
2020-10-28 18:49:15 +01:00
2024-09-04 16:30:33 +02:00
< script nonce = "{{ csp_nonce() }}" >
2021-01-20 01:28:54 +01:00
{% if urlnode_uuid %}
2020-06-29 11:59:01 +02:00
history.scrollRestoration = "manual";
window.addEventListener('DOMContentLoaded', (event) => {
2021-01-20 01:28:54 +01:00
LocateNode('{{urlnode_uuid}}');
});
{% else %}
window.addEventListener('DOMContentLoaded', (event) => {
2021-03-25 18:32:48 +01:00
let thumbnail = document.getElementById('screenshot_thumbnail');
2021-03-30 00:45:24 +02:00
thumbnail.scrollIntoView({behavior: "smooth", block: "end", inline: "center"});
2020-06-29 11:59:01 +02:00
});
{% endif%}
2021-01-20 01:28:54 +01:00
< / script >
2020-11-22 23:23:42 +01:00
{% if auto_trigger_modules %}
2024-09-04 16:30:33 +02:00
< script nonce = "{{ csp_nonce() }}" >
2021-05-20 00:03:07 +02:00
$.get("{{ url_for('trigger_modules', tree_uuid=tree_uuid, auto_trigger=True) }}")
2020-11-22 23:23:42 +01:00
< / script >
{% endif%}
2023-02-27 16:01:46 +01:00
{% if enable_monitoring %}
2024-09-04 16:30:33 +02:00
< script nonce = "{{ csp_nonce() }}" >
2023-02-27 16:01:46 +01:00
const today = new Date()
let tomorrow = new Date()
tomorrow.setDate(today.getDate() + 1)
document.getElementById('expire_at').min = tomorrow.toISOString().split('T')[0];
document.getElementById('expire_at').value = tomorrow.toISOString().split('T')[0];
< / script >
{% endif%}
2021-05-11 19:52:55 +02:00
{% endblock %}
2020-11-22 23:23:42 +01:00
2021-05-11 19:52:55 +02:00
{% block styles %}
{{ super() }}
2024-09-04 16:30:33 +02:00
< link rel = "stylesheet"
{{get_sri('static', 'tree.css')}}
href="{{ url_for('static', filename='tree.css') }}">
2017-09-29 14:48:37 +02:00
{% endblock %}
2017-09-22 00:26:38 +02:00
2021-05-11 19:52:55 +02:00
2017-07-23 19:56:51 +02:00
{% block content %}
2017-09-25 15:11:01 +02:00
{{super()}}
2020-07-27 18:37:22 +02:00
2024-09-04 16:30:33 +02:00
< script nonce = "{{ csp_nonce() }}" >
2020-05-20 19:11:15 +02:00
var treeUUID = "{{ tree_uuid }}";
2020-12-09 19:11:19 +01:00
var screenshot_thumbnail = "{{ screenshot_thumbnail }}";
2023-08-09 16:50:27 +02:00
var favicon = "{{ favicon }}";
2024-02-22 16:14:26 +01:00
var mime_favicon = "{{ mime_favicon }}";
2020-11-29 23:56:42 +01:00
var enable_bookmark = {{ enable_bookmark|tojson }};
2019-06-28 12:08:35 +02:00
var treeData = {{ tree_json | safe }};
2021-05-28 00:23:04 +02:00
var parent_uuid = {{ parent_uuid|tojson }};
2022-12-07 14:32:13 +01:00
var capture_starttime = new Date(Date.parse("{{ info.timestamp.isoformat() }}"));
2020-12-10 16:26:37 +01:00
window.addEventListener('DOMContentLoaded', (event) => {
2023-07-18 14:04:44 +02:00
document.getElementById("start_time").innerHTML = capture_starttime.toString();
2020-12-10 16:26:37 +01:00
});
2017-09-22 00:26:38 +02:00
< / script >
2017-09-25 15:11:01 +02:00
2020-07-03 18:25:16 +02:00
{{ render_messages(container=True, dismissible=True) }}
2020-07-27 18:37:22 +02:00
<!-- Containers -->
2021-04-06 23:34:57 +02:00
< div id = "menu_container_vertical" class = "tree-panel-container" >
< div id = menu_vertical >
< div class = "menu_vertical_header" >
2021-01-29 16:34:59 +01:00
< a href = "{{ url_for('index') }}" title = "Back to captures" >
2021-04-06 23:34:57 +02:00
< img src = "{{ url_for('static', filename='lookyloo.jpeg') }}" alt = "Lookyloo icon"
height="110">
2020-07-27 18:37:22 +02:00
< / a >
< / div >
2020-07-29 13:39:01 +02:00
< hr / >
2024-04-23 12:00:13 +02:00
< div class = "mx-auto" style = "width: 52px;" >
< button type = "button" class = "btn btn-link" data-bs-toggle = "collapse" data-bs-target = "#menu_vertical_content" >
< span class = "if-collapsed" >
< img src = "{{ url_for('static', filename='up.jpg') }}" class = "arrow-down" alt = "Maximize menu" height = "25" width = "25" title = "Expand" >
< / span >
< span class = "if-not-collapsed" >
< img src = "{{ url_for('static', filename='up.jpg') }}" alt = "Minimize menu" height = "25" width = "25" title = "Collapse" >
< / span >
< / button >
2023-01-24 15:00:15 +01:00
< / div >
2024-05-10 15:00:40 +02:00
2021-04-06 23:34:57 +02:00
< div id = menu_vertical_content class = "collapse show" >
2024-04-23 16:02:27 +02:00
< hr / >
2024-04-23 12:00:13 +02:00
< ul class = "list-group list-group-flush" >
< li class = "list-group-item" >
< a href = "{{ url_for('capture_web') }}" role = "button" > New capture< / a >
< / li >
{% if enable_monitoring %}
< li class = "list-group-item" >
< a href = "#monitoringModal" data-bs-toggle = "modal" data-bs-target = "#monitoringModal" role = "button" class = "btn btn-outline-info" > Monitor capture< / a >
< / li >
{% endif %}
{% if enable_mail_notification %}
< li class = "list-group-item" >
< a href = "#emailModal" data-bs-toggle = "modal" data-bs-target = "#emailModal" role = "button" class = "btn btn-outline-danger" > Report suspicious< / br > capture< / a >
< / li >
{% endif %}
< / ul >
2024-04-22 16:47:57 +02:00
< / div >
2020-07-29 17:52:11 +02:00
< / div >
2020-07-27 18:37:22 +02:00
< / div >
2019-02-06 18:01:17 +01:00
< / div >
2018-03-22 17:22:19 +01:00
2024-04-23 12:00:13 +02:00
2022-01-14 17:03:39 +01:00
< div id = "menu_container_horizontal" class = "tree-panel-container" >
< div id = menu_horizontal class = "d-flex" >
2023-01-24 15:00:15 +01:00
< div class = "flex-shrink-1 align-self-center" >
< button type = "button" class = "btn btn-link mr-3" data-bs-toggle = "collapse" data-bs-target = "#menu_horizontal_content" >
2021-04-06 23:34:57 +02:00
< span class = "if-collapsed" >
< img src = "{{ url_for('static', filename='up.jpg') }}" class = "arrow-right" alt = "Maximize menu" height = "25" width = "25" title = "Expand" >
< / span >
< span class = "if-not-collapsed" >
< img src = "{{ url_for('static', filename='up.jpg') }}" class = "arrow-left" alt = "Minimize menu" height = "25" width = "25" title = "Collapse" >
< / span >
2022-01-14 15:58:06 +01:00
< / button >
< / div >
< div id = "menu_horizontal_content" class = "collapse show flex-grow-1 ms-3 container" >
2023-01-24 13:03:49 +01:00
< div class = "hstack gap-3" >
2024-04-22 16:47:57 +02:00
< div class = "vr" > < / div >
2024-04-23 12:00:13 +02:00
2024-04-22 16:47:57 +02:00
< div id = "capture-menu" class = "dropdown" >
< button class = "dropbtn" > Capture< / button >
< div id = "capture-menu-content" class = "dropdown-content" >
2024-04-23 12:00:13 +02:00
< a href = "#detailsModal" data-bs-toggle = "modal" data-bs-target = "#detailsModal"
role="button" title="Details about the capture configuration">Capture Details< / a >
2024-05-10 15:00:40 +02:00
< a href = "#statsModal" data-remote = "{{ url_for('stats', tree_uuid=tree_uuid) }}" data-bs-toggle = "modal"
2024-04-23 12:00:13 +02:00
data-bs-target="#statsModal" role="button" title="The capture in numbers">Statistics< / a >
2024-05-10 15:00:40 +02:00
< a href = "#screenshotModal" data-bs-toggle = "modal" data-bs-target = "#screenshotModal"
2024-04-23 12:00:13 +02:00
role="button" title="Contains the URL rendered in the browser">Page Screenshot< / a >
2024-04-22 16:47:57 +02:00
< / div >
< / div >
2024-04-22 16:55:53 +02:00
2024-04-22 16:47:57 +02:00
< div id = "tools-menu" class = "dropdown" >
< button class = "dropbtn" > Analytical Tools< / button >
< div id = "tools-menu-content" class = "dropdown-content" >
2024-08-29 13:32:38 +02:00
{% if not capture_indexed %}
< a href = "{{ url_for('trigger_indexing', tree_uuid=tree_uuid) }}" role = "button" class = "btn btn-warning"
title="The capture isn't (fully) indexed, index now.">Index capture< / a >
{% endif %}
2024-04-22 16:47:57 +02:00
< a href = "#modulesModal" data-remote = "{{ url_for('trigger_modules', tree_uuid=tree_uuid, force=False) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#modulesModal" role="button"
title="Lookups from supported 3rd party services">Third Party Reports< / a >
2024-04-22 16:47:57 +02:00
< a href = "#historyModal" data-remote = "{{ url_for('historical_lookups', tree_uuid=tree_uuid, force=False) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#historyModal" role="button"
title="Historical data and context about this capture ">Historical lookups< / a >
2024-04-22 16:47:57 +02:00
< a href = "#hashlookupModal" data-remote = "{{ url_for('hashlookup', tree_uuid=tree_uuid) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#hashlookupModal" role="button"
title="Hits in Hashlookup ">Hashlookup hits< / a >
2024-04-22 16:47:57 +02:00
< a href = "#bodyHashesModal" data-remote = "{{ url_for('tree_body_hashes', tree_uuid=tree_uuid) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#bodyHashesModal" role="button"
2024-05-28 09:39:25 +02:00
title="All resources contained in the tree">Resources< / a >
2024-04-23 12:00:13 +02:00
2024-05-14 16:08:38 +02:00
< a href = "#hostnamesModal" data-remote = "{{ url_for('tree_hostnames', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#hostnamesModal" role="button"
2024-05-14 18:52:26 +02:00
title="All hostnames contained in the tree">Hostnames< / a >
< a href = "#urlsModal" data-remote = "{{ url_for('tree_urls', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#urlsModal" role="button"
title="All URLs contained in the tree">URLs< / a >
2024-05-14 16:08:38 +02:00
2024-04-22 16:47:57 +02:00
< a href = "#faviconsModal" data-remote = "{{ url_for('tree_favicons', tree_uuid=tree_uuid) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#faviconsModal" role="button"
2024-05-14 18:52:26 +02:00
title="Favicons found on the rendered page">Favicons< / a >
2024-04-23 12:00:13 +02:00
2024-04-22 16:47:57 +02:00
< a href = "#captureHashesTypesModal" data-remote = "{{ url_for('tree_capture_hashes_types', tree_uuid=tree_uuid) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#captureHashesTypesModal" role="button"
2024-05-14 18:52:26 +02:00
title="Compare hashes of the rendered page">(Fuzzy)Hashes types< / a >
2024-04-23 12:00:13 +02:00
2024-04-22 16:47:57 +02:00
< a href = "#identifiersModal" data-remote = "{{ url_for('tree_identifiers', tree_uuid=tree_uuid) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#identifiersModal" role="button"
2024-05-14 18:52:26 +02:00
title="Identifiers found on the rendered page">Other Identifiers< / a >
2024-04-22 16:47:57 +02:00
< / div >
< / div >
2024-04-22 16:55:53 +02:00
2024-04-22 16:47:57 +02:00
< div id = "actions-menu" class = "dropdown" >
< button class = "dropbtn" > Actions< / button >
< div id = "actions-menu-content" class = "dropdown-content" >
< a href = "#urlsInPageModal" data-remote = "{{ url_for('urls_rendered_page', tree_uuid=tree_uuid) }}"
2024-04-23 12:00:13 +02:00
data-bs-toggle="modal" data-bs-target="#urlsInPageModal" role="button"
title="Start a capture from one of the URLs rendered in the page">Subsequent Captures< / a >
< a href = "{{ url_for('recapture', tree_uuid=tree_uuid) }}" role = "button"
title="Submit the URL again">Re-Capture< / a >
< a href = "#downloadModal" data-bs-toggle = "modal" data-bs-target = "#downloadModal" role = "button"
title="Download specific elements of the capture">Download elements< / a >
2024-04-22 16:47:57 +02:00
< / div >
< / div >
2024-04-22 16:55:53 +02:00
2024-04-23 12:00:13 +02:00
{% if current_user.is_authenticated %}
2024-04-22 16:47:57 +02:00
< div id = "admin-menu" class = "dropdown" >
< button class = "dropbtn" > Admin only< / button >
< div id = "admin-menu-content" class = "dropdown-content" >
< a href = "{{ url_for('rebuild_tree', tree_uuid=tree_uuid) }}" role = "button" > Rebuild capture< / a >
< a href = "{{ url_for('hide_capture', tree_uuid=tree_uuid) }}" role = "button" > Hide capture< / a >
2024-09-04 16:30:33 +02:00
< a href = "{{ url_for('remove_capture', tree_uuid=tree_uuid) }}" role = "button" id = "removeCapture" > Remove capture< / a >
2024-04-22 16:47:57 +02:00
{% if misp_push%}
< a href = "#mispPushModal" data-remote = "{{ url_for('web_misp_push_view', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#mispPushModal" role="button">Prepare push to MISP< / a >
{% endif %}
{% if misp_lookup%}
< a href = "#mispLookupModal" data-remote = "{{ url_for('web_misp_lookup_view', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#mispLookupModal" role="button">Search events on MISP< / a >
{% endif %}
< a href = "{{ url_for('logout') }}" role = "button" style = "color: red" > Logout< / a >
< / div >
< / div >
{% endif %}
{%if enable_categorization or enable_bookmark or enable_context_by_users %}
2024-04-23 12:00:13 +02:00
< div id = "extra-menu" class = "dropdown" >
< button class = "dropbtn" > Extras< / button >
< div id = "extra-menu-content" class = "dropdown-content" >
2024-07-16 14:28:08 +02:00
{% if enable_categorization and current_user.is_authenticated %}
2024-04-23 12:00:13 +02:00
< a href = "#categoriesModal" data-remote = "{{ url_for('categories_capture', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#categoriesModal" role="button">Manage categories< / a >
{% endif %}
{% if enable_bookmark %}
2024-09-04 16:30:33 +02:00
< a href = "#/" role = "button" id = "unbookmarkAllNodes" > Unbookmark all nodes< / a >
2024-04-23 12:00:13 +02:00
{% endif %}
{% if enable_context_by_users %}
2024-09-04 16:30:33 +02:00
< a href = "#/" role = "button" id = "markAsKnown" > Mark all the captures' entries as known< / a >
2024-04-23 12:00:13 +02:00
{% endif %}
< / div >
< / div >
2024-04-22 16:47:57 +02:00
{% endif %}
2019-06-28 12:08:35 +02:00
2024-05-20 10:41:15 +02:00
< a id = "help" href = "https://www.lookyloo.eu/docs/main/usage.html#_investigate_a_capture" role = "button" title = "Lookyloo Manual" target = "_blank" > ?< / a >
2019-06-28 12:08:35 +02:00
2024-04-22 16:47:57 +02:00
< / div >
2023-09-28 17:15:48 +02:00
< / div >
2019-06-28 12:08:35 +02:00
< / div >
2017-09-25 15:11:01 +02:00
< / div >
2019-04-18 17:34:36 +02:00
2024-04-23 12:00:13 +02:00
< div id = "legend_container" class = "tree-panel-container" >
< div id = legend class = "collapse show" >
< center >
< div style = "display: inline" >
< b > Legend< / b >
< / div >
< div style = "display: inline;" >
< button type = "button" class = "btn btn-link" data-bs-toggle = "collapse" data-bs-target = "#legend" >
< img src = "{{ url_for('static', filename='down.jpg') }}" alt = "Minimize legend" height = "25" width = "25" title = "Collapse" >
< / button >
< / div >
< / center >
< hr / >
< div title = "The node contains at least one insecure (not HTTPS) request" >
< img src = "{{ url_for('static', filename='insecure.svg') }}" alt = "Insecure requests"
height="20" width="20"> Unencrypted requests
< / div >
< div title = "This node contains only empty responses" >
< img src = "{{ url_for('static', filename='empty.svg') }}" alt = "Empty responses"
height="20" width="20"> Empty responses
< / div >
< div title = "Number of cookies received in the responses of this node" >
< img src = "{{ url_for('static', filename='cookie_received.png') }}" alt = "Cookie received"
height="20" width="20"> Cookie received
< / div >
< div title = "Number of cookies sent in the requests of this node" >
< img src = "{{ url_for('static', filename='cookie_read.png') }}" alt = "Cookie read"
height="20" width="20"> Cookie read
< / div >
< div title = "Number of redirects initiated by the responses of this node" >
< img src = "{{ url_for('static', filename='redirect.png') }}" alt = "Redirect"
height="20" width="20"> Redirect
< / div >
< div title = "Number of resources loaded from iFrames in the responses in this node" >
< img src = "{{ url_for('static', filename='ifr.png') }}" alt = "iFrame"
height="20" width="20"> iFrame
< / div >
< div title = "Number of JavaScript in the responses in this node" >
< img src = "{{ url_for('static', filename='javascript.png') }}" alt = "JavaScript"
height="20" width="20"> Javascript
< / div >
< div title = "Number of fonts in the responses in this node" >
< img src = "{{ url_for('static', filename='font.png') }}" alt = "Font"
height="20" width="20"> Font
< / div >
< div title = "Number of HTML in the responses in this node" >
< img src = "{{ url_for('static', filename='html.png') }}" alt = "HTML"
height="20" width="20"> HTML
< / div >
< div title = "Number of JSON in the responses in this node" >
< img src = "{{ url_for('static', filename='json.png') }}" alt = "JSON"
height="20" width="20"> JSON
< / div >
< div title = "Number of CSS in the responses in this node" >
< img src = "{{ url_for('static', filename='css.png') }}" alt = "CSS"
height="20" width="20"> CSS
< / div >
< div title = "Number of executables in the responses in this node" >
< img src = "{{ url_for('static', filename='exe.png') }}" alt = "EXE"
height="20" width="20"> EXE
< / div >
< div title = "Number of images in the responses in this node" >
< img src = "{{ url_for('static', filename='img.png') }}" alt = "Image"
height="20" width="20"> Image
< / div >
< div title = "Number of videos in the responses in this node" >
< img src = "{{ url_for('static', filename='video.png') }}" alt = "Video"
height="20" width="20"> Video
< / div >
< div title = "Number of unknown resources in the responses in this node" >
< img src = "{{ url_for('static', filename='wtf.png') }}" alt = "Content type not set/unknown"
height="20" width="20"> Unknown content
< / div >
< div title = "The node contains a downloaded file" >
< img src = "{{ url_for('static', filename='download.png') }}" alt = "Contains a downloaded file"
height="20" width="20"> Downloaded file
< / div >
< / div >
< div style = "width: 70px; float: right;" >
< center >
< button type = "button" class = "btn btn-link" data-bs-toggle = "collapse" data-bs-target = "#legend" >
< img src = "{{ url_for('static', filename='up.jpg') }}" alt = "Maximize legend" height = "40" width = "40" title = "Expand" >
< b > Legend< / b >
< / button >
< / center >
< / div >
< / div >
2024-04-22 16:47:57 +02:00
2021-03-25 18:32:48 +01:00
<!-- Modals -->
< div class = "modal fade" id = "detailsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
2021-04-28 18:12:17 +02:00
< h5 class = "modal-title" id = "detailsModalLabel" > Details of the capture at the time it happened< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2020-07-29 13:35:43 +02:00
< / div >
2021-03-25 18:32:48 +01:00
< div class = "modal-body" >
< dl class = "row" >
< dt class = "col-sm-2" > URL captured< / dt >
2022-12-07 14:32:13 +01:00
< dd class = "col-sm-10" > {{ shorten_string(info.url, 1000) }}< / dd >
2021-03-25 18:32:48 +01:00
< dt class = "col-sm-2" > Page title< / dt >
2022-12-07 14:32:13 +01:00
< dd class = "col-sm-10" > {{ info.title }}< / dd >
2021-03-25 18:32:48 +01:00
< dt class = "col-sm-2" > Capture time< / dt >
< dd class = "col-sm-10" id = "start_time" > < / dd >
< dt class = "col-sm-2" > User Agent< / dt >
2022-12-07 14:32:13 +01:00
< dd class = "col-sm-10" > {{ info.user_agent }}< / dd >
2021-03-25 18:32:48 +01:00
2022-12-07 14:32:13 +01:00
{% if info.referer %}
2021-06-23 01:47:03 +02:00
< dt class = "col-sm-2" > Referer< / dt >
2022-12-07 14:32:13 +01:00
< dd class = "col-sm-10" > {{ info.referer }}< / dd >
2021-06-23 01:47:03 +02:00
{%endif%}
2021-03-25 18:32:48 +01:00
{% if meta %}
{% for k, v in meta.items() if k not in ['user_agent'] %}
< dt class = "col-sm-2" > {{k.title()}}< / dt >
< dd class = "col-sm-10" > {{ v }}< / dd >
{% endfor %}
{%endif%}
2023-05-15 16:33:43 +02:00
{% if capture_settings %}
{% for k, v in capture_settings.items() if v and k in ['proxy']%}
< dt class = "col-sm-2" > {{k.title()}}< / dt >
< dd class = "col-sm-10" > {{ v }}< / dd >
{% endfor %}
{%endif%}
2021-03-25 18:32:48 +01:00
< / div >
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2021-03-25 18:32:48 +01:00
< / div >
2020-07-29 13:35:43 +02:00
< / div >
2020-07-27 18:37:22 +02:00
< / div >
2017-09-25 15:11:01 +02:00
< / div >
2020-05-13 17:31:27 +02:00
< div class = "modal fade" id = "statsModal" tabindex = "-1" role = "dialog" >
2020-07-27 18:37:22 +02:00
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
2020-10-28 18:49:15 +01:00
< h5 class = "modal-title" id = "statsModalLabel" > Statistics< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2020-07-27 18:37:22 +02:00
< / div >
< div class = "modal-body" >
... loading statistics ...
< / div >
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2021-02-04 19:51:43 +01:00
< / div >
< / div >
< / div >
< / div >
2024-03-14 00:56:28 +01:00
< div class = "modal fade" id = "identifiersModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "identifiersModalLabel" > Identifiers found on the rendered page< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading identifiers ...
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
< div class = "modal fade" id = "identifierDetailsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "identifierDetailsModalLabel" > Other occurrences of the identifier< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading identifier details ...
< / div >
< div class = "modal-footer" >
< a class = "btn btn-primary" href = "#identifiersModal"
data-remote="{{ url_for('tree_identifiers', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#identifiersModal" role="button">Back to capture's identifiers< / a >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2024-02-20 01:13:20 +01:00
< div class = "modal fade" id = "faviconsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
2024-02-21 14:36:19 +01:00
< h5 class = "modal-title" id = "faviconsModalLabel" > Favicons found on the rendered page< / h5 >
2024-02-20 01:13:20 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading favicons ...
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2024-02-20 17:01:16 +01:00
< div class = "modal fade" id = "faviconDetailsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "faviconDetailsModalLabel" > Other occurrences of the favicon< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading favicon details ...
< / div >
< div class = "modal-footer" >
< a class = "btn btn-primary" href = "#faviconsModal"
data-remote="{{ url_for('tree_favicons', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#faviconsModal" role="button">Back to capture's favicons< / a >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2024-02-26 17:07:23 +01:00
< / div >
< / div >
< / div >
< / div >
2024-04-11 17:46:04 +02:00
< div class = "modal fade" id = "captureHashesTypesModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "captureHashesTypesModalLabel" > Hashes of the rendered page< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading hash types ...
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
< div class = "modal fade" id = "captureHashesTypesDetailsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "captureHashesTypesDetailsModalLabel" > Other occurrences of the hash< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading hash details ...
< / div >
< div class = "modal-footer" >
< a class = "btn btn-primary" href = "#captureHashesTypesModal"
data-remote="{{ url_for('tree_capture_hashes_types', tree_uuid=tree_uuid) }}"
2024-04-11 18:19:42 +02:00
data-bs-toggle="modal" data-bs-target="#captureHashesTypesModal" role="button">Back to capture's hashes< / a >
2024-04-11 17:46:04 +02:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2024-02-26 17:07:23 +01:00
< div class = "modal fade" id = "faviconDetailsProbabilisticHashModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "faviconDetailsProbabilisticHashModalLabel" > Other occurrences of the favicon from a probabilistic hash< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading favicon details from probabilistic hash ...
< / div >
< div class = "modal-footer" >
< a class = "btn btn-primary" href = "#faviconsModal"
data-remote="{{ url_for('tree_favicons', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#faviconsModal" role="button">Back to capture's favicons< / a >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2024-02-20 17:01:16 +01:00
< / div >
< / div >
< / div >
< / div >
2022-08-01 17:51:43 +02:00
< div class = "modal fade" id = "bodyHashesModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
2024-05-28 09:39:25 +02:00
< h5 class = "modal-title" id = "bodyHashesModalLabel" > Resources in tree< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2022-08-01 17:51:43 +02:00
< / div >
< div class = "modal-body" >
2024-05-28 09:39:25 +02:00
... loading resources ...
2022-08-01 17:51:43 +02:00
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2024-02-20 17:01:16 +01:00
< div class = "modal fade" id = "bodyHashDetailsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
2024-05-28 09:39:25 +02:00
< h5 class = "modal-title" id = "bodyHashDetailsModalLabel" > Other occurrences of the resource< / h5 >
2024-02-20 17:01:16 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
2024-05-28 09:39:25 +02:00
... loading resource details ...
2024-02-20 17:01:16 +01:00
< / div >
< div class = "modal-footer" >
< a class = "btn btn-primary" href = "#bodyHashesModal"
data-remote="{{ url_for('tree_body_hashes', tree_uuid=tree_uuid) }}"
2024-05-28 09:39:25 +02:00
data-bs-toggle="modal" data-bs-target="#bodyHashesModal" role="button">Back to capture's resources< / a >
2024-02-20 17:01:16 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2024-05-14 16:08:38 +02:00
< div class = "modal fade" id = "hostnamesModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "hostnamesModalLabel" > Hostnames in tree< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading hostnames ...
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
< div class = "modal fade" id = "hostnameDetailsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "hostnameDetailsModalLabel" > Other occurrences of the hostname< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading hostname details ...
< / div >
< div class = "modal-footer" >
< a class = "btn btn-primary" href = "#HostnamesModal"
data-remote="{{ url_for('tree_hostnames', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#hostnamesModal" role="button">Back to capture's hostnames< / a >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2024-05-14 18:52:26 +02:00
< div class = "modal fade" id = "urlsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "urlsModalLabel" > URLs in tree< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading urls ...
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
< div class = "modal fade" id = "urlDetailsModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "hostnameDetailsModalLabel" > Other occurrences of the URL< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
... loading url details ...
< / div >
< div class = "modal-footer" >
< a class = "btn btn-primary" href = "#HostnamesModal"
data-remote="{{ url_for('tree_urls', tree_uuid=tree_uuid) }}"
data-bs-toggle="modal" data-bs-target="#urlsModal" role="button">Back to capture's URLs< / a >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2021-02-04 19:51:43 +01:00
< div class = "modal fade" id = "mispPushModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "mispPushModalLabel" > MISP Push< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2021-02-04 19:51:43 +01:00
< / div >
< div class = "modal-body" >
... loading MISP Push view ...
< / div >
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2020-07-27 18:37:22 +02:00
< / div >
< / div >
< / div >
< / div >
2021-06-02 00:31:14 +02:00
< div class = "modal fade" id = "mispLookupModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "mispLookupModalLabel" > MISP Lookup< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2021-06-02 00:31:14 +02:00
< / div >
< div class = "modal-body" >
... loading MISP Lookup view ...
< / div >
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2021-06-02 00:31:14 +02:00
< / div >
< / div >
< / div >
< / div >
2020-07-27 18:37:22 +02:00
< div class = "modal fade" id = "screenshotModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
2020-10-28 18:49:15 +01:00
< h5 class = "modal-title" id = "screenshotModalLabel" > Screenshot< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2020-07-27 18:37:22 +02:00
< / div >
< div class = "modal-body" >
2020-08-13 15:56:46 +02:00
< center >
2021-04-28 18:12:17 +02:00
{% set screenshot_too_big = screenshot_size > 10 * 1024 * 1024 %}
{% if screenshot_too_big %}
Image too big ({{ sizeof_fmt(screenshot_size) }}) to display in the browser, the screenshot below is cropped.
2021-01-13 14:33:20 +01:00
< / br >
2020-08-13 15:56:46 +02:00
{% endif %}
2021-04-28 18:12:17 +02:00
{% if blur_screenshot %}
2024-09-04 16:30:33 +02:00
< button type = "button" class = "btn btn-primary" id = "blurScreenshot" > Unblur< / button >
2021-04-28 18:12:17 +02:00
{% endif %}
2022-03-18 10:48:09 +01:00
< a href = "{{ url_for('image', tree_uuid=tree_uuid) }}" role = "button" class = "btn btn-primary" > Download< / a >
2021-04-28 18:12:17 +02:00
< / br >
< / br >
< img src = "{{ url_for('image', tree_uuid=tree_uuid, width=1024 if screenshot_too_big else '') }}" class = "img-fluid {{ 'blur' if blur_screenshot else '' }}" id = "screenshot" / >
< / br >
2020-08-13 15:56:46 +02:00
< / center >
2020-05-13 17:31:27 +02:00
< / div >
2020-07-27 18:37:22 +02:00
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2020-07-27 18:37:22 +02:00
< / div >
< / div >
< / div >
2020-05-13 17:31:27 +02:00
< / div >
2020-04-20 16:41:42 +02:00
< div class = "modal fade" id = "modulesModal" tabindex = "-1" role = "dialog" >
2020-07-27 18:37:22 +02:00
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
2021-08-11 15:26:12 +02:00
< h4 class = "modal-title" id = "modulesModalLabel" >
Reports from 3rd party services
< / h4 >
< / br >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2020-07-27 18:37:22 +02:00
< / div >
2021-08-11 15:26:12 +02:00
< / br >
< center > < h5 > Note that if you get an error when you click on a
link below, it probably means the capture is still ongoing.
Try reloading the page after a few seconds.< / h5 > < / center >
2020-07-27 18:37:22 +02:00
< div class = "modal-body" >
... loading results from 3rd party modules ...
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-success modulesForceRefresh" > Re-run all modules< / button >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2020-07-27 18:37:22 +02:00
< / div >
< / div >
< / div >
2020-04-20 16:41:42 +02:00
< / div >
2022-07-15 18:53:49 +02:00
< div class = "modal fade" id = "historyModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" id = "historyModalLabel" >
2024-04-23 12:00:13 +02:00
Historical data and context about this capture
2022-07-15 18:53:49 +02:00
< / h4 >
< / br >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2022-07-15 18:53:49 +02:00
< / div >
< / br >
< div class = "modal-body" >
... loading results historical context ...
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2022-11-23 14:09:00 +01:00
< div class = "modal fade" id = "downloadModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" id = "downloadModalLabel" >
Download specific elements of the capture.
< / h4 >
< / br >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< / br >
< div class = "modal-body" >
< ul >
< li >
2024-09-04 16:30:33 +02:00
< a href = "#" id = "dlTreeAsSVG" role = "button" > Download tree as PNG< / a >
2024-05-14 12:09:43 +02:00
< / li >
< li >
2022-11-23 14:09:00 +01:00
< a href = "{{ url_for('image', tree_uuid=tree_uuid) }}" role = "button" > Download screenshot< / a >
< / li >
< li >
< a href = "{{ url_for('cookies', tree_uuid=tree_uuid) }}" role = "button" > Download cookiejar< / a >
< / li >
< li >
< a href = "{{ url_for('hashes_tree', tree_uuid=tree_uuid) }}" role = "button" > Download hashes for all the resources< / a >
< / li >
< li >
< a href = "{{ url_for('export', tree_uuid=tree_uuid) }}" role = "button" > Download full capture< / a >
< / li >
2023-07-20 14:02:14 +02:00
< li >
< a href = "{{ url_for('GenericAPI_misp_export', capture_uuid=tree_uuid) }}" role = "button" > Download as MISP Event< / a >
{% if parent_uuid %}
(< a href = "{{ url_for('GenericAPI_misp_export', capture_uuid=tree_uuid, with_parents=True) }}" role = "button" > with parents< / a > )
{% endif %}
< / li >
2022-11-23 14:09:00 +01:00
{% if has_redirects %}
< li >
< a href = "{{ url_for('redirects', tree_uuid=tree_uuid) }}" role = "button" > Download redirects< / a >
< / li >
{% endif %}
< / ul >
< / div >
< div class = "modal-footer" >
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / div >
< / div >
2021-11-30 14:59:48 +01:00
< div class = "modal fade" id = "hashlookupModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h4 class = "modal-title" id = "hashlookupModalLabel" >
Hits in Hashlookup
< / h4 >
< / br >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2021-11-30 14:59:48 +01:00
< / div >
< / br >
< div class = "modal-body" >
... loading results from hashlookup ...
< / div >
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2021-11-30 14:59:48 +01:00
< / div >
< / div >
< / div >
< / div >
2024-06-24 11:18:47 +02:00
{% if enable_categorization %}
2020-10-28 18:49:15 +01:00
< div class = "modal fade" id = "categoriesModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "categoriesModalLabel" > Categorize the capture< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2020-10-28 18:49:15 +01:00
< / div >
< div class = "modal-body" >
... loading the categorization options ...
< / div >
< p >
2024-07-16 14:28:08 +02:00
< form role = "form" id = "fast-categories" class = "fast-categories" >
2024-07-03 09:43:48 +02:00
< fieldset id = "verification-status" >
2024-07-16 14:28:08 +02:00
< div class = "form-check form-check-inline" >
< input class = "form-check-input" type = "radio" id = "legitimate" name = "verification-status" value = "legitimate" >
< label class = "form-check-label" for = "legitimate" > legitimate< / label >
< / div >
< div class = "form-check form-check-inline" >
< input class = "form-check-input" type = "radio" id = "malicious" name = "verification-status" value = "malicious" >
< label class = "form-check-label" for = "malicious" > malicious< / label >
< / div >
< div class = "form-check form-check-inline" >
< input class = "form-check-input" type = "radio" id = "unclear" name = "verification-status" value = "unclear" checked >
< label class = "form-check-label" for = "unclear" > unclear< / label >
< / div >
2024-07-03 09:43:48 +02:00
< / fieldset >
< div id = "content-categoies" >
< p > Content Categories (Multiple Choices possible)< / p >
2024-07-16 14:28:08 +02:00
< fieldset id = "legitimate-categories" hidden >
2024-07-12 17:50:55 +02:00
< p > Only if legitimate:< / p >
2024-07-16 14:28:08 +02:00
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "parking-page" name = "parking-page" value = "parking-page" >
< label class = "form-check-label" for = "parking-page" > parking-page< / label > < br >
< / div >
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "default-page" name = "default-page" value = "default-page" >
< label class = "form-check-label" for = "default-page" > default-page< / label > < br >
< / div >
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "institution" name = "institution" value = "institution" >
< label class = "form-check-label" for = "institution" > institution / company< / label > < br >
< / div >
2024-07-03 09:43:48 +02:00
<!-- the name of the institution/company could be added here in the future, maybe with propositions
< label for = "institution-name" > Enter the name of the institution/company:< / label > < br >
< input type = "text" id = "institution-name" name = "institution-name" >
-->
< / fieldset >
2024-07-16 14:28:08 +02:00
< fieldset id = "malicious-categories" hidden >
2024-07-03 09:43:48 +02:00
< p > Only if malicious:< / p >
2024-07-16 14:28:08 +02:00
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "clone" name = "clone" value = "clone" >
< label class = "form-check-label" for = "clone" > clone< / label > < br >
< / div >
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "phishing" name = "phishing" value = "phishing" >
< label class = "form-check-label" for = "phishing" > phishing< / label > < br >
< / div >
2024-07-03 09:43:48 +02:00
< / fieldset >
2024-07-16 14:28:08 +02:00
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "captcha" name = "captcha" value = "captcha" >
< label class = "form-check-label" for = "captcha" > captcha< / label > < br >
< / div >
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "authentication-form" name = "authentication-form" value = "authentication-form" >
< label class = "form-check-label" for = "authentication-form" > authentication-form< / label > < br >
< / div >
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "adult-content" name = "adult-content" value = "adult-content" >
< label class = "form-check-label" for = "adult-content" > adult-content< / label > < br >
< / div >
< div class = "form-check" >
< input class = "form-check-input" type = "checkbox" id = "shop" name = "shop" value = "shop" >
< label class = "form-check-label" for = "shop" > shop< / label > < br >
< / div >
2024-07-03 09:43:48 +02:00
< / div >
2022-01-14 15:58:06 +01:00
< label for = "query" class = "form-label" > Category to search< / label >
2020-10-28 18:49:15 +01:00
< input type = "text" class = "form-control" name = "query" id = "query" placeholder = "Query" >
2024-07-03 09:43:48 +02:00
< button type = "submit" class = "btn btn-success" name = "submit" > Submit< / button >
< / form >
2020-10-28 18:49:15 +01:00
< / p >
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2020-10-28 18:49:15 +01:00
< / div >
< / div >
< / div >
< / div >
2020-11-05 15:38:34 +01:00
{% endif %}
2020-10-28 18:49:15 +01:00
2023-02-23 18:37:40 +01:00
{% if enable_monitoring %}
< div class = "modal fade" id = "monitoringModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< form role = "form" action = "{{ tree_uuid }}/monitor" method = post enctype = multipart/form-data >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "monitorModalLabel" > Monitor capture< / h5 >
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
< / div >
< div class = "modal-body" >
2023-02-27 16:01:46 +01:00
{% if monitoring_settings["force_expire"] %}
< div class = "alert alert-warning" role = "alert" >
The monitoring instance is configured to automatically expire what you want to
monitor after < b > {{monitoring_settings["max_captures"]}} captures< / b > .
< / br >
Keep that in mind when you select the frequency.
< / div >
{% endif %}
2023-02-23 18:37:40 +01:00
< p > The capture will be submitted to the monitoring interface.< / p >
< div class = "mb-3" >
2023-02-27 16:01:46 +01:00
< label for = frequency" class = "form-label" > Frequency (must be higher than {{monitoring_settings["min_frequency"]}} seconds)< / label >
< select name = "frequency" id = "frequency" class = "form-select" aria-label = "Select a frequency for the monitoring" required >
2023-02-23 18:37:40 +01:00
< option value = "hourly" selected > Hourly< / option >
< option value = "daily" > Daily< / option >
< / select >
<!-- boat fields -->
< label class = "boatymcboat form-label" for = "name" > Your Name< / label >
< input class = "boatymcboat" autocomplete = "off" type = "text" id = "name" name = "name"
placeholder="Your fav boat name here">
2023-02-27 16:01:46 +01:00
<!-- end -->
< / div >
< div class = "mb-3" >
< label for = "expire_at" class = "form-label" > Expire< / label >
< input type = "date" class = "form-control" name = "expire_at" id = "expire_at"
value="" />
{% if monitoring_settings["force_expire"] %}
< div class = "alert alert-warning" role = "alert" >
The expire date will be ignored if the max amount of captures ({{monitoring_settings["max_captures"]}}) is reached first.
< / div >
{% endif %}
2023-02-23 18:37:40 +01:00
< / div >
< div class = "mb-3" >
2023-03-02 20:51:14 +01:00
{% if monitoring_collections %}
< label for = "collection" class = "form-label" > Pick a collection.< / label >
< input type = "text" class = "form-control" list = "collections" id = "collection" name = "collection" placeholder = "Type a collection name, or select an existing one (arrow down to see them)" >
< datalist id = "collections" >
{% for name in monitoring_collections %}
< option value = "{{name}}" > {{name}}< / option >
{% endfor %}
< / datalist >
{%else%}
< label for = collection" class = "form-label" > Add to a collection.< / label >
2023-02-23 18:37:40 +01:00
< input type = "text" class = "form-control" name = "collection" id = "collection" placeholder = "Name of the collection" >
2023-03-02 20:51:14 +01:00
{% endif %}
2023-02-23 18:37:40 +01:00
< / div >
2023-05-11 16:04:06 +02:00
< div class = "mb-3" >
< label for = notification" class = "form-label" > Get notified when the capture changes (WiP)< / label >
< input type = "email" class = "form-control" name = "notification" id = "notification" placeholder = "Email address to receive the notification" >
< / div >
2023-02-23 18:37:40 +01:00
< div class = "mb-3 form-check" >
2024-02-20 12:21:08 +01:00
< input class = "form-check-input" type = "checkbox" name = "confirm" id = "monitoring_toc" required >
< label for = "monitoring_toc" class = "form-check-label" > {{ confirm_message }}< / label >
2023-02-23 18:37:40 +01:00
< / div >
< / div >
< div class = "modal-footer" >
2024-02-20 12:21:08 +01:00
< button type = "submit" class = "btn btn-success" id = "btn-notification-monitoring" > Send to monitoring< / button >
2023-02-23 18:37:40 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
< / div >
< / div >
< / form >
< / div >
< / div >
{% endif %}
2020-11-05 15:38:34 +01:00
{% if enable_mail_notification %}
2020-05-11 19:01:02 +02:00
< div class = "modal fade" id = "emailModal" tabindex = "-1" role = "dialog" >
2020-07-27 18:37:22 +02:00
< div class = "modal-dialog modal-xl" role = "document" >
< form role = "form" action = "{{ tree_uuid }}/send_mail" method = post enctype = multipart/form-data >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "emailModalLabel" > Notify by email< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2020-07-27 18:37:22 +02:00
< / div >
< div class = "modal-body" >
2020-11-05 15:38:34 +01:00
< p > A notification of this capture will be sent to the owners of this Lookyloo instance. They may or may not act on it.< / p >
2022-01-14 15:58:06 +01:00
< div class = "mb-3" >
< label for = "email" class = "form-label" > Email address - used to get back in touch with you if needed (optional)< / label >
2020-11-05 15:38:34 +01:00
< input type = "email" class = "form-control" name = "email" id = "email" placeholder = "Enter email" >
2021-05-25 22:20:24 +02:00
<!-- boat fields -->
2022-01-14 15:58:06 +01:00
< label class = "boatymcboat form-label" for = "name" > Your Name< / label >
2021-05-25 22:20:24 +02:00
< input class = "boatymcboat" autocomplete = "off" type = "text" id = "name" name = "name"
placeholder="Your fav boat name here">
2020-11-05 15:38:34 +01:00
< / div >
2022-01-14 15:58:06 +01:00
< div class = "mb-3" >
< label for = "comment" class = "form-label" > Please write a comment (optional)< / label >
2020-11-05 15:38:34 +01:00
< textarea class = "form-control" name = "comment" id = comment rows = "3" > < / textarea >
< / div >
2022-01-14 15:58:06 +01:00
< div class = "mb-3 form-check" >
2024-02-20 12:21:08 +01:00
< input class = "form-check-input" type = "checkbox" name = "confirm" id = "mail_notification_toc" required >
< label for = "mail_notification_toc" class = "form-check-label" > {{ confirm_message }}< / label >
2021-05-26 21:07:47 +02:00
< / div >
2020-07-27 18:37:22 +02:00
< / div >
< div class = "modal-footer" >
2024-02-20 12:21:08 +01:00
< button type = "submit" class = "btn btn-success" id = "btn-notification-report" > Send email< / button >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2020-07-27 18:37:22 +02:00
< / div >
< / div >
< / form >
< / div >
2020-05-11 19:01:02 +02:00
< / div >
2020-11-05 15:38:34 +01:00
{% endif %}
2021-03-19 17:51:25 +01:00
< div class = "modal fade" id = "urlsInPageModal" tabindex = "-1" role = "dialog" >
< div class = "modal-dialog modal-xl" role = "document" >
< div class = "modal-content" >
< div class = "modal-header" >
< h5 class = "modal-title" id = "urlsInPageModalLabel" > URLs in the rendered page< / h5 >
2022-11-21 15:02:12 +01:00
< button type = "button" class = "btn btn-close" data-bs-dismiss = "modal" aria-label = "Close" > < / button >
2021-03-19 17:51:25 +01:00
< / div >
< div class = "modal-body" >
... loading URLs in rendered page ...
< / div >
< div class = "modal-footer" >
2022-01-14 15:58:06 +01:00
< button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Close< / button >
2021-03-19 17:51:25 +01:00
< / div >
< / div >
< / div >
< / div >
2017-09-25 15:11:01 +02:00
{% endblock content %}