mirror of https://github.com/CIRCL/AIL-framework
chg: [decoded items] bootstrap 4 migration
parent
6480744641
commit
cca69def71
|
@ -66,13 +66,13 @@ def get_file_icon(estimated_type):
|
||||||
if file_type == 'application':
|
if file_type == 'application':
|
||||||
file_icon = 'fa-file '
|
file_icon = 'fa-file '
|
||||||
elif file_type == 'audio':
|
elif file_type == 'audio':
|
||||||
file_icon = 'fa-file-video-o '
|
file_icon = 'fa-file-audio '
|
||||||
elif file_type == 'image':
|
elif file_type == 'image':
|
||||||
file_icon = 'fa-file-image-o'
|
file_icon = 'fa-file-image'
|
||||||
elif file_type == 'text':
|
elif file_type == 'text':
|
||||||
file_icon = 'fa-file-text-o'
|
file_icon = 'fa-file-alt'
|
||||||
else:
|
else:
|
||||||
file_icon = 'fa-file-o'
|
file_icon = 'fa-sticky-note'
|
||||||
|
|
||||||
return file_icon
|
return file_icon
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ def get_file_icon_text(estimated_type):
|
||||||
elif file_type == 'text':
|
elif file_type == 'text':
|
||||||
file_icon_text = '\uf15c'
|
file_icon_text = '\uf15c'
|
||||||
else:
|
else:
|
||||||
file_icon_text = '\uf15b'
|
file_icon_text = '\uf249'
|
||||||
|
|
||||||
return file_icon_text
|
return file_icon_text
|
||||||
|
|
||||||
|
|
|
@ -1,157 +1,147 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<title>Decoded - AIL</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<link rel="icon" href="{{ url_for('static', filename='image/ail-icon.png') }}">
|
||||||
|
|
||||||
<title>HashesDecoded - AIL</title>
|
<!-- Core CSS -->
|
||||||
|
<link href="{{ url_for('static', filename='css/bootstrap4.min.css') }}" rel="stylesheet">
|
||||||
|
<link href="{{ url_for('static', filename='css/font-awesome.min.css') }}" rel="stylesheet">
|
||||||
|
<link href="{{ url_for('static', filename='css/dataTables.bootstrap.min.css') }}" rel="stylesheet">
|
||||||
|
<link href="{{ url_for('static', filename='css/daterangepicker.min.css') }}" rel="stylesheet">
|
||||||
|
|
||||||
<!-- Core CSS -->
|
<!-- JS -->
|
||||||
<link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
|
<script src="{{ url_for('static', filename='js/jquery.js')}}"></script>
|
||||||
<link href="{{ url_for('static', filename='font-awesome/css/font-awesome.css') }}" rel="stylesheet">
|
<script src="{{ url_for('static', filename='js/popper.min.js')}}"></script>
|
||||||
<link href="{{ url_for('static', filename='css/sb-admin-2.css') }}" rel="stylesheet">
|
<script src="{{ url_for('static', filename='js/bootstrap4.min.js')}}"></script>
|
||||||
<link href="{{ url_for('static', filename='css/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
|
<script src="{{ url_for('static', filename='js/jquery.dataTables.min.js')}}"></script>
|
||||||
<link href="{{ url_for('static', filename='css/daterangepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
<script src="{{ url_for('static', filename='js/dataTables.bootstrap.min.js')}}"></script>
|
||||||
<!-- JS -->
|
<script language="javascript" src="{{ url_for('static', filename='js/moment.min.js') }}"></script>
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/jquery.js')}}"></script>
|
<script language="javascript" src="{{ url_for('static', filename='js/jquery.daterangepicker.min.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
|
<script language="javascript" src="{{ url_for('static', filename='js/d3.min.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/jquery.dataTables.min.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/dataTables.bootstrap.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.flot.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.flot.time.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.flot.stack.js') }}"></script>
|
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/moment.min.js') }}"></script>
|
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/jquery.daterangepicker.min.js') }}"></script>
|
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/d3.min.js') }}"></script>
|
|
||||||
<style>
|
|
||||||
.input-group .form-control {
|
|
||||||
position: unset;
|
|
||||||
}
|
|
||||||
.red_table thead{
|
|
||||||
background: #d91f2d;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
.line {
|
|
||||||
fill: none;
|
|
||||||
stroke: #000;
|
|
||||||
stroke-width: 2.0px;
|
|
||||||
}
|
|
||||||
.bar {
|
|
||||||
fill: steelblue;
|
|
||||||
}
|
|
||||||
.bar:hover{
|
|
||||||
fill: brown;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.bar_stack:hover{
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.pie_path:hover{
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.svgText {
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
div.tooltip {
|
|
||||||
position: absolute;
|
|
||||||
text-align: center;
|
|
||||||
padding: 2px;
|
|
||||||
font: 12px sans-serif;
|
|
||||||
background: #ebf4fb;
|
|
||||||
border: 2px solid #b7ddf2;
|
|
||||||
border-radius: 8px;
|
|
||||||
pointer-events: none;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
{% include 'navbar.html' %}
|
<style>
|
||||||
|
.input-group .form-control {
|
||||||
|
position: unset;
|
||||||
|
}
|
||||||
|
.line {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000;
|
||||||
|
stroke-width: 2.0px;
|
||||||
|
}
|
||||||
|
.bar {
|
||||||
|
fill: steelblue;
|
||||||
|
}
|
||||||
|
.bar:hover{
|
||||||
|
fill: brown;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.bar_stack:hover{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.pie_path:hover{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.svgText {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
div.tooltip {
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
padding: 2px;
|
||||||
|
font: 12px sans-serif;
|
||||||
|
background: #ebf4fb;
|
||||||
|
border: 2px solid #b7ddf2;
|
||||||
|
border-radius: 8px;
|
||||||
|
pointer-events: none;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
{% include 'nav_bar.html' %}
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
{% include 'decoded/menu_sidebar.html' %}
|
||||||
|
|
||||||
|
<div class="col-12 col-lg-10" id="core_content">
|
||||||
|
|
||||||
<div id="page-wrapper">
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-xl-10">
|
||||||
<h1 class="page-header" data-page="page-termsfrequency" >Hashed Files</h1>
|
<div class="mt-1" id="barchart_type">
|
||||||
<div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- /.col-lg-12 -->
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-10">
|
|
||||||
<div id="barchart_type">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-md-2">
|
|
||||||
<div class="panel panel-info" style="text-align:center;">
|
|
||||||
<div class="panel-heading">
|
|
||||||
Select a date range :
|
|
||||||
<form action="{{ url_for('hashDecoded.all_hash_search') }}" id="hash_selector_form" method='post'>
|
|
||||||
<div class="input-group">
|
|
||||||
<span class="input-group-addon"><i class="fa fa-calendar fa" aria-hidden="true"></i></span>
|
|
||||||
<input class="form-control" id="date-range-from" placeholder="yyyy-mm-dd" value="{{ date_from }}" name="date_from">
|
|
||||||
</div>
|
|
||||||
<div class="input-group">
|
|
||||||
<span class="input-group-addon"><i class="fa fa-calendar fa" aria-hidden="true"></i></span>
|
|
||||||
<input class="form-control" id="date-range-to" placeholder="yyyy-mm-dd" value="{{ date_to }}" name="date_to">
|
|
||||||
</div>
|
|
||||||
Encoding :
|
|
||||||
<select class="form-control" name="encoding" style="width=100%;">
|
|
||||||
<option>All encoding</option>
|
|
||||||
{% for encod in all_encoding %}
|
|
||||||
{% if encoding|string() == encod|string() %}
|
|
||||||
<option selected>{{ encod }}</option>
|
|
||||||
{% else %}
|
|
||||||
<option>{{ encod }}</option>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
File Type :
|
|
||||||
<select class="form-control" name="type" style="width=100%;">
|
|
||||||
<option>All types</option>
|
|
||||||
{% for typ in l_type %}
|
|
||||||
{% if type|string() == typ|string() %}
|
|
||||||
<option selected>{{ typ }}</option>
|
|
||||||
{% else %}
|
|
||||||
<option>{{ typ }}</option>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
<div class="checkbox">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" name="show_decoded_files" value="True" {% if show_decoded_files %}checked{% endif %}>
|
|
||||||
<div style="color:#286090; display:inline-block">
|
|
||||||
Show decoded files <i class="fa fa-file"></i>
|
|
||||||
</div>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-primary" style="text-align:center;">
|
|
||||||
<i class="fa fa-files-o"></i> Search
|
|
||||||
</button>
|
|
||||||
<form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="pie_chart_encoded">
|
|
||||||
</div>
|
|
||||||
<div id="pie_chart_top5_types">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- /#page-wrapper -->
|
<div class="col-xl-2">
|
||||||
{% if l_64|length != 0 %}
|
|
||||||
{% if date_from|string == date_to|string %}
|
<div class="card mb-3 mt-2" style="background-color:#d9edf7;">
|
||||||
<h3> {{ date_from }} Hashed files: </h3>
|
<div class="card-body text-center py-2">
|
||||||
{% else %}
|
<h6 class="card-title" style="color:#286090;">Select a date range :</h5>
|
||||||
<h3> {{ date_from }} to {{ date_to }} Hashed files: </h3>
|
<form action="{{ url_for('hashDecoded.all_hash_search') }}" id="hash_selector_form" method='post'>
|
||||||
{% endif %}
|
<div class="input-group" id="date-range-from">
|
||||||
<table id="tableb64" class="red_table table table-striped table-bordered">
|
<div class="input-group-prepend"><span class="input-group-text"><i class="far fa-calendar-alt" aria-hidden="true"></i></span></div>
|
||||||
<thead>
|
<input class="form-control" id="date-range-from-input" placeholder="yyyy-mm-dd" value="{{ date_from }}" name="date_from" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
<div class="input-group" id="date-range-to">
|
||||||
|
<div class="input-group-prepend"><span class="input-group-text"><i class="far fa-calendar-alt" aria-hidden="true"></i></span></div>
|
||||||
|
<input class="form-control" id="date-range-to-input" placeholder="yyyy-mm-dd" value="{{ date_to }}" name="date_to" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
<div class="mt-1" style="font-size: 14px;color:#286090;">Encoding :</div>
|
||||||
|
<select class="custom-select" name="encoding">
|
||||||
|
<option>All encoding</option>
|
||||||
|
{% for encod in all_encoding %}
|
||||||
|
{% if encoding|string() == encod|string() %}
|
||||||
|
<option selected>{{ encod }}</option>
|
||||||
|
{% else %}
|
||||||
|
<option>{{ encod }}</option>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
<div class="mt-1" style="font-size: 14px;color:#286090;">File Type :</div>
|
||||||
|
<select class="custom-select" name="type">
|
||||||
|
<option>All types</option>
|
||||||
|
{% for typ in l_type %}
|
||||||
|
{% if type|string() == typ|string() %}
|
||||||
|
<option selected>{{ typ }}</option>
|
||||||
|
{% else %}
|
||||||
|
<option>{{ typ }}</option>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
<div class="form-check my-1">
|
||||||
|
<input class="form-check-input" type="checkbox" id="checkbox-input-show" name="show_decoded_files" value="True" {% if show_decoded_files %}checked{% endif %}>
|
||||||
|
<label class="form-check-label" for="checkbox-input-show">
|
||||||
|
<div style="color:#286090; font-size: 14px;">
|
||||||
|
Show decoded files <i class="fas fa-file"></i>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-primary" style="text-align:center;">
|
||||||
|
<i class="fas fa-copy"></i> Search
|
||||||
|
</button>
|
||||||
|
<form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="pie_chart_encoded">
|
||||||
|
</div>
|
||||||
|
<div id="pie_chart_top5_types">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if l_64|length != 0 %}
|
||||||
|
{% if date_from|string == date_to|string %}
|
||||||
|
<h3> {{ date_from }} Decoded files: </h3>
|
||||||
|
{% else %}
|
||||||
|
<h3> {{ date_from }} to {{ date_to }} Decoded files: </h3>
|
||||||
|
{% endif %}
|
||||||
|
<table id="tableb64" class="table table-striped table-bordered">
|
||||||
|
<thead class="bg-dark text-white">
|
||||||
<tr>
|
<tr>
|
||||||
<th>estimated type</th>
|
<th>estimated type</th>
|
||||||
<th>hash</th>
|
<th>hash</th>
|
||||||
|
@ -162,121 +152,136 @@
|
||||||
<th>Virus Total</th>
|
<th>Virus Total</th>
|
||||||
<th>Sparkline</th>
|
<th>Sparkline</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody style="font-size: 15px;">
|
||||||
{% for b64 in l_64 %}
|
{% for b64 in l_64 %}
|
||||||
<tr>
|
<tr>
|
||||||
<td><i class="fa {{ b64[0] }}"></i> {{ b64[1] }}</td>
|
<td><i class="fas {{ b64[0] }}"></i> {{ b64[1] }}</td>
|
||||||
<td><a target="_blank" href="{{ url_for('hashDecoded.showHash') }}?hash={{ b64[2] }}">{{ b64[2] }}</a></td>
|
<td><a target="_blank" href="{{ url_for('hashDecoded.showHash') }}?hash={{ b64[2] }}">{{ b64[2] }}</a></td>
|
||||||
<td>{{ b64[5] }}</td>
|
<td>{{ b64[5] }}</td>
|
||||||
<td>{{ b64[6] }}</td>
|
<td>{{ b64[6] }}</td>
|
||||||
<td>{{ b64[3] }}</td>
|
<td>{{ b64[3] }}</td>
|
||||||
<td>{{ b64[4] }}</td>
|
<td>{{ b64[4] }}</td>
|
||||||
<td style="text-align:center;max-width:150px;">
|
<td>
|
||||||
{% if vt_enabled %}
|
{% if vt_enabled %}
|
||||||
{% if not b64[7] %}
|
{% if not b64[7] %}
|
||||||
<darkbutton_{{ b64[2] }}>
|
<darkbutton_{{ b64[2] }}>
|
||||||
<button id="submit_vt_{{ b64[2] }}" class="btn btn-primary" onclick="sendFileToVT('{{ b64[2] }}')">
|
<button id="submit_vt_{{ b64[2] }}" class="btn btn-secondary" style="font-size: 14px;" onclick="sendFileToVT('{{ b64[2] }}')">
|
||||||
<i class="fa fa-paper-plane"></i> Send this file to VT
|
<i class="fas fa-paper-plane"></i> Send this file to VT
|
||||||
</button>
|
|
||||||
</darkbutton_{{ b64[2] }}>
|
|
||||||
{% else %}
|
|
||||||
<a class="btn btn-primary" target="_blank" href="{{ b64[8] }}"><i class="fa fa-link"> VT Report</i></a>
|
|
||||||
{% endif %}
|
|
||||||
<button class="btn btn-default" onclick="updateVTReport('{{ b64[2] }}')">
|
|
||||||
<div id="report_vt_{{ b64[2] }}"><span class="glyphicon glyphicon-refresh"></span> {{ b64[9] }}</div>
|
|
||||||
</button>
|
</button>
|
||||||
{% else %}
|
</darkbutton_{{ b64[2] }}>
|
||||||
Virus Total submission is disabled
|
{% else %}
|
||||||
{% endif %}
|
<a class="btn btn-secondary" target="_blank" href="{{ b64[8] }}" style="font-size: 14px;"><i class="fas fa-link"></i> VT Report</a>
|
||||||
|
{% endif %}
|
||||||
|
<button class="btn btn-outline-dark" onclick="updateVTReport('{{ b64[2] }}')" style="font-size: 14px;">
|
||||||
|
<div id="report_vt_{{ b64[2] }}"><i class="fas fa-sync-alt"></i> {{ b64[9] }}</div>
|
||||||
|
</button>
|
||||||
|
{% else %}
|
||||||
|
Virus Total submission is disabled
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td id="sparklines_{{ b64[2] }}" style="text-align:center;">
|
<td id="sparklines_{{ b64[2] }}" style="text-align:center;"></td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
{% endfor %}
|
||||||
{% endfor %}
|
</tbody>
|
||||||
</tbody>
|
</table>
|
||||||
</table>
|
{% else %}
|
||||||
{% else %}
|
{% if show_decoded_files %}
|
||||||
{% if show_decoded_files %}
|
{% if date_from|string == date_to|string %}
|
||||||
{% if date_from|string == date_to|string %}
|
<h3> {{ date_from }}, No Hashes</h3>
|
||||||
<h3> {{ date_from }}, No Hashes</h3>
|
{% else %}
|
||||||
{% else %}
|
<h3> {{ date_from }} to {{ date_to }}, No Hashes</h3>
|
||||||
<h3> {{ date_from }} to {{ date_to }}, No Hashes</h3>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
|
||||||
|
|
||||||
<script>
|
</div>
|
||||||
var chart = {};
|
</div>
|
||||||
$(document).ready(function(){
|
</div>
|
||||||
activePage = "page-hashDecoded"
|
|
||||||
$("#"+activePage).addClass("active");
|
|
||||||
|
|
||||||
$('#date-range-from').dateRangePicker({
|
<script>
|
||||||
separator : ' to ',
|
var chart = {};
|
||||||
getValue: function()
|
$(document).ready(function(){
|
||||||
{
|
$("#page-Decoded").addClass("active");
|
||||||
if ($('#date-range-from').val() && $('#date-range-to').val() )
|
$("#nav_dashboard").addClass("active");
|
||||||
return $('#date-range-from').val() + ' to ' + $('#date-range-to').val();
|
|
||||||
else
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
setValue: function(s,s1,s2)
|
|
||||||
{
|
|
||||||
$('#date-range-from').val(s1);
|
|
||||||
$('#date-range-to').val(s2);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('#date-range-to').dateRangePicker({
|
|
||||||
separator : ' to ',
|
|
||||||
getValue: function()
|
|
||||||
{
|
|
||||||
if ($('#date-range-from').val() && $('#date-range-to').val() )
|
|
||||||
return $('#date-range-from').val() + ' to ' + $('#date-range-to').val();
|
|
||||||
else
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
setValue: function(s,s1,s2)
|
|
||||||
{
|
|
||||||
$('#date-range-from').val(s1);
|
|
||||||
$('#date-range-to').val(s2);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#tableb64').DataTable({
|
$('#date-range-from').dateRangePicker({
|
||||||
"aLengthMenu": [[5, 10, 15, -1], [5, 10, 15, "All"]],
|
separator : ' to ',
|
||||||
"iDisplayLength": 10,
|
getValue: function()
|
||||||
"order": [[ 3, "desc" ]]
|
{
|
||||||
});
|
if ($('#date-range-from-input').val() && $('#date-range-to').val() )
|
||||||
|
return $('#date-range-from-input').val() + ' to ' + $('#date-range-to').val();
|
||||||
|
else
|
||||||
|
return '';
|
||||||
|
},
|
||||||
|
setValue: function(s,s1,s2)
|
||||||
|
{
|
||||||
|
$('#date-range-from-input').val(s1);
|
||||||
|
$('#date-range-to-input').val(s2);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#date-range-to').dateRangePicker({
|
||||||
|
separator : ' to ',
|
||||||
|
getValue: function()
|
||||||
|
{
|
||||||
|
if ($('#date-range-from-input').val() && $('#date-range-to').val() )
|
||||||
|
return $('#date-range-from-input').val() + ' to ' + $('#date-range-to').val();
|
||||||
|
else
|
||||||
|
return '';
|
||||||
|
},
|
||||||
|
setValue: function(s,s1,s2)
|
||||||
|
{
|
||||||
|
$('#date-range-from-input').val(s1);
|
||||||
|
$('#date-range-to-input').val(s2);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
{% if type %}
|
$('#tableb64').DataTable({
|
||||||
chart.stackBarChart =barchart_type_stack("{{ url_for('hashDecoded.hash_by_type_json') }}?type={{type}}", 'id');
|
"aLengthMenu": [[5, 10, 15, -1], [5, 10, 15, "All"]],
|
||||||
{% elif daily_type_chart %}
|
"iDisplayLength": 10,
|
||||||
chart.stackBarChart =barchart_type_stack("{{ url_for('hashDecoded.range_type_json') }}?date_from={{daily_date}}&date_to={{daily_date}}", 'id');
|
"order": [[ 3, "desc" ]]
|
||||||
{% else %}
|
});
|
||||||
chart.stackBarChart = barchart_type_stack("{{ url_for('hashDecoded.range_type_json') }}?date_from={{date_from}}&date_to={{date_to}}", 'id');
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
draw_pie_chart("pie_chart_encoded" ,"{{ url_for('hashDecoded.decoder_type_json') }}?date_from={{date_from}}&date_to={{date_to}}&type={{type}}", "{{ url_for('hashDecoded.hashDecoded_page') }}?date_from={{date_from}}&date_to={{date_to}}&type={{type}}&encoding=");
|
{% if type %}
|
||||||
draw_pie_chart("pie_chart_top5_types" ,"{{ url_for('hashDecoded.top5_type_json') }}?date_from={{date_from}}&date_to={{date_to}}&type={{type}}", "{{ url_for('hashDecoded.hashDecoded_page') }}?date_from={{date_from}}&date_to={{date_to}}&type=");
|
chart.stackBarChart =barchart_type_stack("{{ url_for('hashDecoded.hash_by_type_json') }}?type={{type}}", 'id');
|
||||||
|
{% elif daily_type_chart %}
|
||||||
|
chart.stackBarChart =barchart_type_stack("{{ url_for('hashDecoded.range_type_json') }}?date_from={{daily_date}}&date_to={{daily_date}}", 'id');
|
||||||
|
{% else %}
|
||||||
|
chart.stackBarChart = barchart_type_stack("{{ url_for('hashDecoded.range_type_json') }}?date_from={{date_from}}&date_to={{date_to}}", 'id');
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
draw_pie_chart("pie_chart_encoded" ,"{{ url_for('hashDecoded.decoder_type_json') }}?date_from={{date_from}}&date_to={{date_to}}&type={{type}}", "{{ url_for('hashDecoded.hashDecoded_page') }}?date_from={{date_from}}&date_to={{date_to}}&type={{type}}&encoding=");
|
||||||
|
draw_pie_chart("pie_chart_top5_types" ,"{{ url_for('hashDecoded.top5_type_json') }}?date_from={{date_from}}&date_to={{date_to}}&type={{type}}", "{{ url_for('hashDecoded.hashDecoded_page') }}?date_from={{date_from}}&date_to={{date_to}}&type=");
|
||||||
|
|
||||||
|
chart.onResize();
|
||||||
|
$(window).on("resize", function() {
|
||||||
|
chart.onResize();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function toggle_sidebar(){
|
||||||
|
if($('#nav_menu').is(':visible')){
|
||||||
|
$('#nav_menu').hide();
|
||||||
|
$('#side_menu').removeClass('border-right')
|
||||||
|
$('#side_menu').removeClass('col-lg-2')
|
||||||
|
$('#core_content').removeClass('col-lg-10')
|
||||||
|
}else{
|
||||||
|
$('#nav_menu').show();
|
||||||
|
$('#side_menu').addClass('border-right')
|
||||||
|
$('#side_menu').addClass('col-lg-2')
|
||||||
|
$('#core_content').addClass('col-lg-10')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
chart.onResize();
|
|
||||||
$(window).on("resize", function() {
|
|
||||||
chart.onResize();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<script>
|
<script>
|
||||||
function updateVTReport(hash) {
|
function updateVTReport(hash) {
|
||||||
//updateReport
|
//updateReport
|
||||||
$.getJSON("{{ url_for('hashDecoded.update_vt_result') }}?hash="+hash,
|
$.getJSON("{{ url_for('hashDecoded.update_vt_result') }}?hash="+hash,
|
||||||
function(data) {
|
function(data) {
|
||||||
content = '<span class="glyphicon glyphicon-refresh"></span> ' +data['report_vt']
|
content = '<i class="fas fa-sync-alt"></i> ' +data['report_vt']
|
||||||
$( "#report_vt_"+hash ).html(content);
|
$( "#report_vt_"+hash ).html(content);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -489,7 +494,7 @@ function removePopovers () {
|
||||||
function showPopover (d) {
|
function showPopover (d) {
|
||||||
$(this).popover({
|
$(this).popover({
|
||||||
title: d.name,
|
title: d.name,
|
||||||
placement: 'auto top',
|
placement: 'top',
|
||||||
container: 'body',
|
container: 'body',
|
||||||
trigger: 'manual',
|
trigger: 'manual',
|
||||||
html : true,
|
html : true,
|
||||||
|
@ -692,6 +697,6 @@ function barchart_type(url, id) {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -3,27 +3,20 @@
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
|
|
||||||
<title>Hash Information - AIL</title>
|
<title>Hash Information - AIL</title>
|
||||||
|
<link rel="icon" href="{{ url_for('static', filename='image/ail-icon.png') }}">
|
||||||
|
|
||||||
<!-- Core CSS -->
|
<!-- Core CSS -->
|
||||||
<link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
|
<link href="{{ url_for('static', filename='css/bootstrap4.min.css') }}" rel="stylesheet">
|
||||||
<link href="{{ url_for('static', filename='font-awesome/css/font-awesome.css') }}" rel="stylesheet">
|
<link href="{{ url_for('static', filename='css/font-awesome.min.css') }}" rel="stylesheet">
|
||||||
<link href="{{ url_for('static', filename='css/sb-admin-2.css') }}" rel="stylesheet">
|
|
||||||
<link href="{{ url_for('static', filename='css/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="{{ url_for('static', filename='css/daterangepicker.min.css') }}" rel="stylesheet" type="text/css" />
|
|
||||||
<!-- JS -->
|
<!-- JS -->
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/jquery.js')}}"></script>
|
<script src="{{ url_for('static', filename='js/jquery.js')}}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/popper.min.js')}}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/jquery.dataTables.min.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/bootstrap4.min.js')}}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/dataTables.bootstrap.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.flot.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.flot.time.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.flot.stack.js') }}"></script>
|
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/moment.min.js') }}"></script>
|
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/jquery.daterangepicker.min.js') }}"></script>
|
|
||||||
<script language="javascript" src="{{ url_for('static', filename='js/d3.min.js') }}"></script>
|
<script language="javascript" src="{{ url_for('static', filename='js/d3.min.js') }}"></script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
line.link {
|
line.link {
|
||||||
stroke: #666;
|
stroke: #666;
|
||||||
|
@ -88,178 +81,191 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
{% include 'navbar.html' %}
|
{% include 'nav_bar.html' %}
|
||||||
|
|
||||||
<div id="page-wrapper">
|
<div class="container-fluid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
|
{% include 'decoded/menu_sidebar.html' %}
|
||||||
|
|
||||||
</div>
|
<div class="col-12 col-lg-10" id="core_content">
|
||||||
|
|
||||||
<!-- /#page-wrapper -->
|
|
||||||
<div class="panel panel-info">
|
|
||||||
<div class="panel-heading panelText">
|
|
||||||
<h3>{{ hash }} :</h3>
|
|
||||||
<span class="pull-right"> </span>
|
|
||||||
<span class="badge pull-right">6 / 26</span>
|
|
||||||
<ul class="list-group"><li class="list-group-item">
|
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-header" style="background-color:#d9edf7;font-size: 15px">
|
||||||
|
<h4 class="text-secondary">{{ hash }} :</h4>
|
||||||
|
<ul class="list-group mb-2">
|
||||||
|
<li class="list-group-item py-0">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
|
<table class="table">
|
||||||
<table class="table table-condensed">
|
<thead>
|
||||||
<thead>
|
<tr>
|
||||||
<tr>
|
<th>Estimated type</th>
|
||||||
<th>Estimated type</th>
|
<th>First_seen</th>
|
||||||
<th>First_seen</th>
|
<th>Last_seen</th>
|
||||||
<th>Last_seen</th>
|
<th>Size (Kb)</th>
|
||||||
<th>Size (Kb)</th>
|
<th>Nb seen</th>
|
||||||
<th>Nb seen</th>
|
</tr>
|
||||||
</tr>
|
</thead>
|
||||||
</thead>
|
<tbody>
|
||||||
<tbody>
|
<tr>
|
||||||
<tr>
|
<td><i class="fas {{ file_icon }}"></i> {{ estimated_type }}</td>
|
||||||
<td class="panelText"><i class="fa {{ file_icon }}"></i> {{ estimated_type }}</td>
|
<td>{{ first_seen }}</td>
|
||||||
<td class="panelText">{{ first_seen }}</td>
|
<td>{{ last_seen }}</td>
|
||||||
<td class="panelText">{{ last_seen }}</td>
|
<td>{{ size }}</td>
|
||||||
<td class="panelText">{{ size }}</td>
|
<td>{{ nb_seen_in_all_pastes }}</td>
|
||||||
<td class="panelText">{{ nb_seen_in_all_pastes }}</td>
|
</tr>
|
||||||
</tr>
|
</tbody>
|
||||||
</tbody>
|
</table>
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-1">
|
<div class="col-md-1">
|
||||||
<div id="sparkline"></div>
|
<div id="sparkline"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li></ul>
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
{% if vt_enabled %}
|
{% if vt_enabled %}
|
||||||
{% if not b64_vt %}
|
{% if not b64_vt %}
|
||||||
<darkbutton>
|
<darkbutton>
|
||||||
<button id="submit_vt_b" class="btn btn-primary" onclick="sendFileToVT('{{ hash }}')">
|
<button id="submit_vt_b" class="btn btn-primary" onclick="sendFileToVT('{{ hash }}')" style="font-size: 15px">
|
||||||
<i class="fa fa-paper-plane"></i> Send this file to VT
|
<i class="fas fa-paper-plane"></i> Send this file to VT
|
||||||
</button>
|
</button>
|
||||||
</darkbutton>
|
</darkbutton>
|
||||||
{% else %}
|
|
||||||
<a class="btn btn-primary" target="_blank" href="{{ b64_vt_link }}"><i class="fa fa-link"> VT Report</i></a>
|
|
||||||
{% endif %}
|
|
||||||
<button class="btn btn-default" onclick="updateVTReport('{{ hash }}')">
|
|
||||||
<div id="report_vt_b"><span class="glyphicon glyphicon-refresh"></span> {{ b64_vt_report }}</div>
|
|
||||||
</button>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
Virus Total submission is disabled
|
<a class="btn btn-primary" target="_blank" href="{{ b64_vt_link }}" style="font-size: 15px"><i class="fas fa-link"></i> VT Report</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<button class="btn btn-outline-secondary" onclick="updateVTReport('{{ hash }}')" style="font-size: 15px">
|
||||||
|
<div id="report_vt_b"><i class="fas fa-sync-alt"></i> {{ b64_vt_report }}</div>
|
||||||
|
</button>
|
||||||
|
{% else %}
|
||||||
|
Virus Total submission is disabled
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<a href="{{ url_for('hashDecoded.downloadHash') }}?hash={{hash}}" target="blank">
|
<a href="{{ url_for('hashDecoded.downloadHash') }}?hash={{hash}}" target="blank" class="float-right" style="font-size: 15px">
|
||||||
<button class='btn btn-info pull-right'><i id="flash-tld" class="glyphicon glyphicon-download-alt " flash-tld=""></i> Download Hashed file
|
<button class='btn btn-info'><i class="fas fa-download"></i> Download Decoded file
|
||||||
</button>
|
</button>
|
||||||
</a>
|
</a>
|
||||||
</div></div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-10">
|
<div class="col-xl-10">
|
||||||
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<i id="flash-tld" class="glyphicon glyphicon-flash " flash-tld=""></i> Graph
|
|
||||||
</div>
|
|
||||||
<div class="panel-body graph_panel">
|
|
||||||
<div id="graph">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-md-2">
|
|
||||||
|
|
||||||
<div class="panel panel-info">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<i class="fa fa-unlock-alt" aria-hidden="true"></i> Encoding
|
|
||||||
</div>
|
|
||||||
<div class="panel-body" style="text-align:center;">
|
|
||||||
{% for encoding in list_hash_decoder %}
|
|
||||||
<button id="" class="btn btn-default">
|
|
||||||
{{encoding['encoding']}} <span class="badge">{{encoding['nb_seen']}}</span>
|
|
||||||
</button>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<i id="flash-tld" class="glyphicon glyphicon-flash " flash-tld=""></i> Graph
|
|
||||||
</div>
|
|
||||||
<div class="panel-body" style="text-align:center;">
|
|
||||||
<button class="btn btn-primary" onclick="resize_graph();">
|
|
||||||
<span class="glyphicon glyphicon-refresh"></span> Resize Graph</div>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
|
|
||||||
<ul class="list-group">
|
|
||||||
<li class="list-group-item list-group-item-info" style="text-align:center;"><i class="fa fa-info-circle fa-2x"></i></li>
|
|
||||||
<li class="list-group-item">
|
|
||||||
<p>Double click on a node to open Hash/Paste<br><br>
|
|
||||||
<svg height="12" width="12"><g class="nodes"><circle cx="6" cy="6" r="6" fill="orange"></circle></g></svg>
|
|
||||||
Current Hash<br>
|
|
||||||
<svg height="12" width="12"><g class="nodes"><circle cx="6" cy="6" r="6" fill="rgb(141, 211, 199)"></circle></g></svg>
|
|
||||||
Hashes<br>
|
|
||||||
<svg height="12" width="12"><g class="nodes"><circle cx="6" cy="6" r="6" fill="#1f77b4"></circle></g></svg>
|
|
||||||
Pastes
|
|
||||||
</p>
|
|
||||||
</li>
|
|
||||||
<li class="list-group-item list-group-item-info">
|
|
||||||
Hash Types:
|
|
||||||
</li>
|
|
||||||
<li class="list-group-item">
|
|
||||||
<i class="fa fa-file"></i> Application<br>
|
|
||||||
<i class="fa fa-file-video-o"></i> Audio<br>
|
|
||||||
<i class="fa fa-file-image-o"></i> Image<br>
|
|
||||||
<i class="fa fa-file-text-o"></i> Text<br>
|
|
||||||
<i class="fa fa-file-o"></i> Other
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<i id="flash-tld" class="glyphicon glyphicon-stats" flash-tld=""></i> Graph
|
|
||||||
</div>
|
|
||||||
<div class="panel-body ">
|
|
||||||
<div id="graph_line">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="card mb-3">
|
||||||
|
<div class="card-header">
|
||||||
|
<i class="fas fa-project-diagram"></i> Graph
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-body graph_panel">
|
||||||
|
<div id="graph">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-xl-2">
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<i class="fas fa-unlock-alt" aria-hidden="true"></i> Encoding
|
||||||
|
</div>
|
||||||
|
<div class="card-body text-center">
|
||||||
|
{% for encoding in list_hash_decoder %}
|
||||||
|
<button class="btn" disabled>
|
||||||
|
{{encoding['encoding']}} <span class="badge">{{encoding['nb_seen']}}</span>
|
||||||
|
</button>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card my-3">
|
||||||
|
<div class="card-header">
|
||||||
|
<i class="fas fa-project-diagram"></i> Graph
|
||||||
|
</div>
|
||||||
|
<div class="card-body text-center px-0 py-0">
|
||||||
|
<button class="btn btn-primary my-4" onclick="resize_graph();">
|
||||||
|
<i class="fas fa-sync"></i> Resize Graph
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
<ul class="list-group">
|
||||||
|
<li class="list-group-item list-group-item-info"><i class="fas fa-info-circle fa-2x"></i></li>
|
||||||
|
<li class="list-group-item text-left">
|
||||||
|
<p>Double click on a node to open Hash/Paste<br><br>
|
||||||
|
<svg height="12" width="12"><g class="nodes"><circle cx="6" cy="6" r="6" fill="orange"></circle></g></svg>
|
||||||
|
Current Hash<br>
|
||||||
|
<svg height="12" width="12"><g class="nodes"><circle cx="6" cy="6" r="6" fill="rgb(141, 211, 199)"></circle></g></svg>
|
||||||
|
Hashes<br>
|
||||||
|
<svg height="12" width="12"><g class="nodes"><circle cx="6" cy="6" r="6" fill="#1f77b4"></circle></g></svg>
|
||||||
|
Pastes
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item list-group-item-info">
|
||||||
|
Hash Types:
|
||||||
|
</li>
|
||||||
|
<li class="list-group-item text-left">
|
||||||
|
<i class="fas fa-file"></i> Application<br>
|
||||||
|
<i class="fas fa-file-video"></i> Audio<br>
|
||||||
|
<i class="fas fa-file-image"></i> Image<br>
|
||||||
|
<i class="fas fa-file-alt"></i> Text<br>
|
||||||
|
<i class="fas fa-sticky-note"></i> Other
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<i class="fas fa-chart-bar"></i> Graph
|
||||||
|
</div>
|
||||||
|
<div class="panel-body ">
|
||||||
|
<div id="graph_line">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var all_graph = {};
|
var all_graph = {};
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
sparklines("sparkline", {{ sparkline_values }})
|
$("#page-Decoded").addClass("active");
|
||||||
|
sparklines("sparkline", {{ sparkline_values }})
|
||||||
|
|
||||||
all_graph.node_graph = create_graph("{{ url_for('hashDecoded.hash_graph_node_json') }}?hash={{hash}}");
|
all_graph.node_graph = create_graph("{{ url_for('hashDecoded.hash_graph_node_json') }}?hash={{hash}}");
|
||||||
all_graph.line_chart = create_line_chart('graph_line', "{{ url_for('hashDecoded.hash_graph_line_json') }}?hash={{hash}}");
|
all_graph.line_chart = create_line_chart('graph_line', "{{ url_for('hashDecoded.hash_graph_line_json') }}?hash={{hash}}");
|
||||||
all_graph.onResize();
|
all_graph.onResize();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(window).on("resize", function() {
|
||||||
|
all_graph.onResize();
|
||||||
|
});
|
||||||
|
|
||||||
|
function toggle_sidebar(){
|
||||||
|
if($('#nav_menu').is(':visible')){
|
||||||
|
$('#nav_menu').hide();
|
||||||
|
$('#side_menu').removeClass('border-right')
|
||||||
|
$('#side_menu').removeClass('col-lg-2')
|
||||||
|
$('#core_content').removeClass('col-lg-10')
|
||||||
|
}else{
|
||||||
|
$('#nav_menu').show();
|
||||||
|
$('#side_menu').addClass('border-right')
|
||||||
|
$('#side_menu').addClass('col-lg-2')
|
||||||
|
$('#core_content').addClass('col-lg-10')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
$(window).on("resize", function() {
|
|
||||||
all_graph.onResize();
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<script>
|
<script>
|
||||||
function sendFileToVT(hash) {
|
function sendFileToVT(hash) {
|
||||||
//send file to vt
|
//send file to vt
|
||||||
$.getJSON("{{ url_for('hashDecoded.send_file_to_vt_js') }}?hash="+hash,
|
$.getJSON("{{ url_for('hashDecoded.send_file_to_vt_js') }}?hash="+hash,
|
||||||
function(data) {
|
function(data) {
|
||||||
var content = '<a id="submit_vt_b" class="btn btn-primary" target="_blank" href="'+ data['vt_link'] +'"><i class="fa fa-link"> '+ ' VT Report' +'</i></a>';
|
var content = '<a id="submit_vt_b" class="btn btn-primary" target="_blank" href="'+ data['vt_link'] +'"><i class="fas fa-link"> '+ ' VT Report' +'</i></a>';
|
||||||
$('#submit_vt_b').remove();
|
$('#submit_vt_b').remove();
|
||||||
$('darkbutton').append(content);
|
$('darkbutton').append(content);
|
||||||
});
|
});
|
||||||
|
@ -269,7 +275,7 @@
|
||||||
//updateReport
|
//updateReport
|
||||||
$.getJSON("{{ url_for('hashDecoded.update_vt_result') }}?hash="+hash,
|
$.getJSON("{{ url_for('hashDecoded.update_vt_result') }}?hash="+hash,
|
||||||
function(data) {
|
function(data) {
|
||||||
var content = '<span class="glyphicon glyphicon-refresh"></span> ' +data['report_vt'];
|
var content = '<i class="fas fa-sync-alt"></i> ' +data['report_vt'];
|
||||||
$( "#report_vt_b" ).html(content);
|
$( "#report_vt_b" ).html(content);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
<div class="col-12 col-lg-2 p-0 bg-light border-right" id="side_menu">
|
||||||
|
|
||||||
|
<button type="button" class="btn btn-outline-secondary mt-1 ml-3" onclick="toggle_sidebar()">
|
||||||
|
<i class="fas fa-align-left"></i>
|
||||||
|
<span>Toggle Sidebar</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav class="navbar navbar-expand navbar-light bg-light flex-md-column flex-row align-items-start py-2" id="nav_menu">
|
||||||
|
<h5 class="d-flex text-muted w-100">
|
||||||
|
<span>Items Decoded </span>
|
||||||
|
<a class="ml-auto" href="{{url_for('hiddenServices.manual')}}">
|
||||||
|
<i class="fas fa-plus-circle ml-auto"></i>
|
||||||
|
</a>
|
||||||
|
</h5>
|
||||||
|
<ul class="nav flex-md-column flex-row navbar-nav justify-content-between w-100"> <!--nav-pills-->
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{url_for('hashDecoded.hashDecoded_page')}}" id="nav_dashboard">
|
||||||
|
<i class="fas fa-search"></i>
|
||||||
|
<span>Dashboard</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="{{url_for('hiddenServices.Crawler_Splash_last_by_type')}}?type=onion" id="nav_onion_crawler">
|
||||||
|
<i class="fas fa-user-secret"></i>
|
||||||
|
Onion Crawler
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
|
@ -25,7 +25,7 @@
|
||||||
<a class="nav-link" id="page-Crawler" href="{{ url_for('hiddenServices.dashboard') }}" tabindex="-1" aria-disabled="true"><i class="fas fa-spider"></i> Crawlers</a>
|
<a class="nav-link" id="page-Crawler" href="{{ url_for('hiddenServices.dashboard') }}" tabindex="-1" aria-disabled="true"><i class="fas fa-spider"></i> Crawlers</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item mr-3">
|
<li class="nav-item mr-3">
|
||||||
<a class="nav-link" href="{{ url_for('hashDecoded.hashDecoded_page') }}" aria-disabled="true"><i class="fas fa-lock-open"></i> Decoded</a>
|
<a class="nav-link" id="page-Decoded" href="{{ url_for('hashDecoded.hashDecoded_page') }}" aria-disabled="true"><i class="fas fa-lock-open"></i> Decoded</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item mr-3">
|
<li class="nav-item mr-3">
|
||||||
<a class="nav-link" href="{{ url_for('trendingmodules.moduletrending') }}" aria-disabled="true"><i class="fas fa-chart-bar"></i> Statistics</a>
|
<a class="nav-link" href="{{ url_for('trendingmodules.moduletrending') }}" aria-disabled="true"><i class="fas fa-chart-bar"></i> Statistics</a>
|
||||||
|
|
Loading…
Reference in New Issue