2014-08-06 09:43:40 +00:00
<!DOCTYPE html>
< html >
< head >
< title > Analysis Information Leak framework Dashboard< / title >
2018-08-02 08:44:47 +00:00
< link rel = "icon" href = "{{ url_for('static', filename='image/ail-icon.png') }}" >
2014-08-06 09:43:40 +00:00
<!-- Core CSS -->
2019-06-18 14:19:27 +00:00
< 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" >
2014-08-06 09:43:40 +00:00
< link href = "{{ url_for('static', filename='css/dygraph_gallery.css') }}" rel = "stylesheet" type = "text/css" / >
2019-06-18 14:19:27 +00:00
2014-08-06 09:43:40 +00:00
<!-- JS -->
< script type = "text/javascript" src = "{{ url_for('static', filename='js/dygraph-combined.js') }}" > < / script >
2016-07-13 13:57:33 +00:00
< script src = "{{ url_for('static', filename='js/jquery.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/jquery.flot.js') }}" > < / script >
2016-12-26 15:16:44 +00:00
< script src = "{{ url_for('static', filename='js/jquery.flot.time.js') }}" > < / script >
2019-06-18 14:19:27 +00:00
< script src = "{{ url_for('static', filename='js/bootstrap4.min.js')}}" > < / script >
< script type = "text/javascript" src = "{{ url_for('static', filename='js/indexjavascript.js')}}"
data-urlstuff="{{ url_for('dashboard.stuff') }}" data-urllog="{{ url_for('dashboard.logs') }}">
< / script >
< style >
.tableQueue tbody tr td,
.tableQueue tbody tr th,
.tableQueue thead tr td,
.tableQueue thead tr th{
padding: 1px;
}
tr.table-disabled {
background-color: #f2f2f2;
}
tr.table-log-warning {
background-color: #ccfae3;
}
< / style >
2014-08-12 12:00:00 +00:00
< script >
2016-07-15 07:47:00 +00:00
window.default_minute = {{ default_minute }};
2016-08-02 14:39:57 +00:00
window.glob_tabvar = []; // Avoid undefined
2016-11-25 10:54:16 +00:00
window.threshold_stucked_module = {{ threshold_stucked_module }}
2014-08-12 12:00:00 +00:00
function update_values() {
2018-09-25 12:37:14 +00:00
$.getJSON("{{ url_for('dashboard.stuff') }}",
2014-08-12 12:00:00 +00:00
function(data) {
window.glob_tabvar = data;
});
};
update_values();
< / script >
2014-08-06 09:43:40 +00:00
< / head >
< body >
2019-06-18 14:19:27 +00:00
{% include 'nav_bar.html' %}
< div class = "container-fluid" >
< div class = "row" >
{% include 'dashboard/menu_sidebar.html' %}
< div class = "col-12 col-lg-10" id = "core_content" >
2014-08-11 11:41:58 +00:00
2019-04-15 12:30:28 +00:00
{%if update_in_progress%}
2019-06-18 14:19:27 +00:00
< div class = "alert alert-warning alert-dismissible fade show my-2" role = "alert" >
2019-04-18 08:56:00 +00:00
< strong > Warning!< / strong > {{update_warning_message}} < strong > {{update_warning_message_notice_me}}< / strong >
2019-04-17 12:39:29 +00:00
(< a href = "{{ url_for('settings.settings_page') }}" > Check Update Status< / a > )
2019-06-18 14:19:27 +00:00
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
2019-04-15 12:30:28 +00:00
< / div >
{%endif%}
2019-06-18 14:19:27 +00:00
< div class = "alert alert-info alert-dismissible fade show mt-1" role = "alert" >
< strong > Bootstrap 4 migration!< / strong > Some pages are still in bootstrap 3. You can check the migration progress < strong > < a href = "https://github.com/CIRCL/AIL-framework/issues/330" target = "_blank" > Here< / a > < / strong > .
< button type = "button" class = "close" data-dismiss = "alert" aria-label = "Close" >
< span aria-hidden = "true" > × < / span >
< / button >
2019-04-18 08:56:00 +00:00
< / div >
2019-06-18 14:19:27 +00:00
< div class = "row my-2" >
< div class = "col-xl-6" >
< div class = "card" >
< div class = "card-header" >
< i class = "far fa-chart-bar" > < / i > Feeder(s) Monitor:
< / div >
< div class = "card-body" id = "panelbody" style = "height:420px;" >
< strong > Processed pastes< / strong >
< div id = "Proc_feeder" style = "height: 230px; padding: 0px; position: relative;" > < / div >
< hr style = "border-top: 2px solid #eee; margin-top: 7px; margin-bottom: 7px;" >
< strong > Filtered duplicates< / strong >
< div id = "Dup_feeder" style = "height: 100px; padding: 0px; position: relative;" > < / div >
< / div >
< / div >
< / div >
< div class = "col-xl-6" >
< div class = "card" >
< div class = "card-header" >
< i class = "far fa-chart-bar" > < / i > Queues Monitor
< / div >
< div class = "card-body" >
< div class = "" id = "Graph" style = "height:195px; width:88%;" > < / div >
< div style = "height:10px;" > < / div >
< div class = "" id = "Graph2" style = "height:195px; width:88%;" > < / div >
< / div >
< / div >
< / div >
< / div >
< div class = "card" >
< div class = "card-header" >
< i class = "fas fa-clipboard-list" > < / i > Logs
< div class = "float-right" >
2014-08-11 13:07:55 +00:00
< label style = "padding-bottom:2px;" >
2019-06-18 14:19:27 +00:00
< select class = "form-control input-sm" id = "log_select" >
{% for log_selection in log_select %}
{% if log_selection == selected %}
< option value = "{{ log_selection }}" selected > {{ log_selection }}< / option >
{% else %}
< option value = "{{ log_selection }}" > {{ log_selection }}< / option >
{% endif %}
{% endfor %}
< / select >
2014-08-11 13:07:55 +00:00
< / label >
2019-06-18 14:19:27 +00:00
< input id = "checkbox_log_info" type = "checkbox" value = "INFO" > INFO
< input id = "checkbox_log_warning" type = "checkbox" value = "WARNING" checked = "true" > WARNING
< input id = "checkbox_log_critical" type = "checkbox" value = "CRITICAL" checked = "true" > CRITICAL
2016-07-19 16:07:29 +00:00
2019-06-18 14:19:27 +00:00
< / div >
2014-08-11 13:07:55 +00:00
< / div >
2019-06-18 14:19:27 +00:00
< div class = "card-body" >
< table class = "table table-hover table-sm" id = "table_log" >
< thead >
< tr >
< th > Time< / th >
< th > Channel< / th >
< th > Level< / th >
< th > Script Name< / th >
< th > Source< / th >
< th > Date< / th >
< th > Paste name< / th >
< th > Message< / th >
< th > Actions< / th >
< / tr >
< / thead >
< tbody id = "tab_body" >
< / tbody >
< / table >
< / div >
< / div >
2014-08-06 09:43:40 +00:00
< / div >
2019-06-18 14:19:27 +00:00
2014-08-06 09:43:40 +00:00
< / div >
2019-06-18 14:19:27 +00:00
< / div >
2019-04-15 12:30:28 +00:00
2019-06-18 14:19:27 +00:00
< / body >
2020-10-13 14:02:30 +00:00
< script > var url _showSavedPath = "{{ url_for('objects_item.showItem') }}" ; < / script >
2014-08-06 09:43:40 +00:00
2016-08-11 08:55:51 +00:00
< script >
2019-06-18 14:19:27 +00:00
$("#page-Dashboard").addClass("active");
2018-07-25 14:48:44 +00:00
var tableBody = document.getElementById('tab_body')
2018-09-25 12:37:14 +00:00
$.getJSON("{{ url_for('dashboard.get_last_logs_json') }}", function(data) {
2018-07-25 14:48:44 +00:00
data.forEach(function (d) {
var tr = document.createElement('TR')
var time = document.createElement('TD')
var chan = document.createElement('TD')
var level = document.createElement('TD')
var scrpt = document.createElement('TD')
var src = document.createElement('TD')
var pdate = document.createElement('TD')
var nam = document.createElement('TD')
var msage = document.createElement('TD')
var inspect = document.createElement('TD')
2019-06-18 14:19:27 +00:00
tr.className = "table-log-warning";
2018-07-25 14:48:44 +00:00
time.appendChild(document.createTextNode(d.time))
chan.appendChild(document.createTextNode('Script'))
level.appendChild(document.createTextNode('WARNING'))
scrpt.appendChild(document.createTextNode(d.script))
src.appendChild(document.createTextNode(d.domain))
pdate.appendChild(document.createTextNode(d.date_paste))
nam.appendChild(document.createTextNode(d.paste))
var iconspan = document.createElement('SPAN');
var message = d.message.split(" ")
if (message[0] == "Detected"){
2019-06-18 14:19:27 +00:00
iconspan.className = "fas fa-eye";
2018-07-25 14:48:44 +00:00
}
else if (message[0] == "Checked"){
2019-06-18 14:19:27 +00:00
iconspan.className = "far fa-thumbs-up";
2018-07-25 14:48:44 +00:00
}
iconspan.innerHTML = " ";
msage.appendChild(iconspan);
msage.appendChild(document.createTextNode(message.join(" ")));
2018-07-26 08:34:43 +00:00
var action_icon_a = document.createElement("A");
action_icon_a.setAttribute("TARGET", "_blank");
action_icon_a.setAttribute("HREF", d.path);
var action_icon_span = document.createElement('SPAN');
2019-06-18 14:19:27 +00:00
action_icon_span.className = "fas fa-search-plus";
2018-07-26 08:34:43 +00:00
action_icon_a.appendChild(action_icon_span);
inspect.appendChild(action_icon_a)
inspect.setAttribute("style", "text-align:center;");
2018-07-25 14:48:44 +00:00
tr.appendChild(time)
tr.appendChild(chan);
tr.appendChild(level);
tr.appendChild(scrpt);
tr.appendChild(src);
tr.appendChild(pdate);
tr.appendChild(nam);
tr.appendChild(msage);
tr.appendChild(inspect);
tableBody.appendChild(tr);
});
});
2016-08-11 08:55:51 +00:00
2019-06-18 14:19:27 +00:00
function toggle_sidebar(){
if($('#nav_menu').is(':visible')){
$('#nav_menu').hide();
$('#side-bard-dashboard-content').hide();
$('#side_menu').removeClass('border-right')
$('#side_menu').removeClass('col-lg-2')
$('#core_content').removeClass('col-lg-10')
}else{
$('#nav_menu').show();
$('#side-bard-dashboard-content').show();
$('#side_menu').addClass('border-right')
$('#side_menu').addClass('col-lg-2')
$('#core_content').addClass('col-lg-10')
}
}
< / script >
2014-08-06 09:43:40 +00:00
< / html >