2016-07-11 15:05:04 +02:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
2016-07-01 16:59:08 +02:00
|
|
|
|
2016-07-11 15:05:04 +02:00
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
2016-07-01 16:59:08 +02:00
|
|
|
|
2016-08-09 11:59:36 +02:00
|
|
|
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
|
|
|
|
<meta http-equiv="Pragma" content="no-cache" />
|
|
|
|
<meta http-equiv="Expires" content="0" />
|
|
|
|
|
2016-07-11 15:05:04 +02:00
|
|
|
<title>Analysis Information Leak framework Dashboard</title>
|
2016-07-01 16:59:08 +02:00
|
|
|
|
2016-07-11 15:05:04 +02:00
|
|
|
<!-- Core CSS -->
|
|
|
|
<link href="{{ url_for('static', filename='css/bootstrap.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/sb-admin-2.css') }}" rel="stylesheet">
|
|
|
|
<link href="{{ url_for('static', filename='css/dygraph_gallery.css') }}" rel="stylesheet" type="text/css" />
|
|
|
|
<!-- JS -->
|
|
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/dygraph-combined.js') }}"></script>
|
|
|
|
<script language="javascript" src="{{ url_for('static', filename='js/jquery.js')}}"></script>
|
2016-07-21 13:44:22 +02:00
|
|
|
<script src="{{ url_for('static', filename='js/jquery.flot.js') }}"></script>
|
|
|
|
<script src="{{ url_for('static', filename='js/jquery.flot.pie.js') }}"></script>
|
|
|
|
<script src="{{ url_for('static', filename='js/jquery.flot.time.js') }}"></script>
|
2016-07-11 16:57:45 +02:00
|
|
|
<script>
|
|
|
|
var default_display = {{ default_display }};
|
|
|
|
var current_displayed_graph;
|
|
|
|
</script>
|
2016-07-01 16:59:08 +02:00
|
|
|
|
2016-07-11 15:05:04 +02:00
|
|
|
</head>
|
|
|
|
<body>
|
2016-07-01 16:59:08 +02:00
|
|
|
|
2016-07-11 15:05:04 +02:00
|
|
|
<div id="wrapper">
|
|
|
|
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
|
|
|
|
<div class="navbar-header">
|
|
|
|
<ul class="nav navbar-nav">
|
2016-07-12 14:44:59 +02:00
|
|
|
<li><a href="{{ url_for('index') }}"><i class="fa fa-dashboard fa-fw"></i> Dashboard</a></li>
|
|
|
|
<li class="active"><a href="{{ url_for('trending') }}"><i class="glyphicon glyphicon-stats"></i> Trending charts</a></li>
|
2016-07-28 09:52:07 +02:00
|
|
|
<li><a href="{{ url_for('moduletrending') }}"><i class="glyphicon glyphicon-stats"></i> Modules statistics</a></li>
|
2016-08-08 09:17:44 +02:00
|
|
|
<li><a href="{{ url_for('browseImportantPaste') }}"><i class="fa fa-search-plus "></i> Browse important pastes</a></li>
|
2016-07-12 14:33:54 +02:00
|
|
|
</ul>
|
2016-07-01 16:59:08 +02:00
|
|
|
</div>
|
|
|
|
<!-- /.navbar-top-links -->
|
|
|
|
<div class="navbar-default sidebar" role="navigation">
|
|
|
|
<div class="sidebar-collapse">
|
|
|
|
<ul class="nav" id="side-menu">
|
|
|
|
<li class="sidebar-search">
|
2016-07-12 14:38:22 +02:00
|
|
|
{% include 'searchbox.html' %}
|
2016-07-01 16:59:08 +02:00
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<!-- /#side-menu -->
|
|
|
|
</div>
|
|
|
|
<!-- /.sidebar-collapse -->
|
|
|
|
<a href="{{ url_for('index') }}"><img src="{{ url_for('static', filename='image/AIL.png') }}" /></a>
|
|
|
|
</div>
|
|
|
|
<!-- /.navbar-static-side -->
|
|
|
|
</nav>
|
|
|
|
<div id="page-wrapper">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-12">
|
2016-07-08 15:08:37 +02:00
|
|
|
<h1 class="page-header">Trending charts</h1>
|
2016-07-01 16:59:08 +02:00
|
|
|
</div>
|
|
|
|
<!-- /.col-lg-12 -->
|
|
|
|
</div>
|
|
|
|
<!-- /.row -->
|
|
|
|
<div class="row">
|
2016-07-19 18:07:29 +02:00
|
|
|
|
2016-07-08 15:08:37 +02:00
|
|
|
<!-- /.nav-tabs -->
|
|
|
|
<ul class="nav nav-tabs">
|
2016-07-21 13:44:22 +02:00
|
|
|
<li class="active"><a data-toggle="tab" href="#tld-tab" data-attribute-name="tld" data-pannel="TldTrending" data-path="../static//csv/tldstrendingdata.csv">Top level domains</a></li>
|
|
|
|
<li><a data-toggle="tab" href="#domain-tab" data-attribute-name="domain" data-pannel="DomainTrending" data-path="../static//csv/domainstrendingdata.csv">Domains</a></li>
|
|
|
|
<li><a data-toggle="tab" href="#protocol-tab" data-attribute-name="scheme" data-pannel="ProtocolTrending" data-path="../static//csv/protocolstrendingdata.csv">Protocols</a></li>
|
2016-07-12 14:33:54 +02:00
|
|
|
<li><a data-toggle="tab" href="#words-tab" data-pannel="WordTrending" data-path="../static//csv/wordstrendingdata.csv">Words</a></li>
|
2016-07-08 15:08:37 +02:00
|
|
|
</ul>
|
|
|
|
</br>
|
|
|
|
|
2016-07-21 13:44:22 +02:00
|
|
|
<script>
|
|
|
|
var chart_1_num_day = 5;
|
|
|
|
var chart_2_num_day = 15;
|
|
|
|
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
|
|
|
|
</script>
|
2016-07-19 18:07:29 +02:00
|
|
|
|
2016-07-21 13:44:22 +02:00
|
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/trendingchart.js')}}"></script>
|
|
|
|
|
2016-07-08 15:08:37 +02:00
|
|
|
<div class="tab-content">
|
|
|
|
<div class="col-lg-12 tab-pane fade in active" id="tld-tab" >
|
2016-07-12 14:33:54 +02:00
|
|
|
{% include 'trending_graphs/Tldstrending.html' %}
|
2016-07-01 16:59:08 +02:00
|
|
|
</div>
|
2016-07-08 15:08:37 +02:00
|
|
|
<div class="col-lg-12 tab-pane fade" id="domain-tab">
|
2016-07-12 14:33:54 +02:00
|
|
|
{% include 'trending_graphs/Domainstrending.html' %}
|
|
|
|
</div>
|
|
|
|
<div class="col-lg-12 tab-pane fade" id="protocol-tab">
|
|
|
|
{% include 'trending_graphs/Protocolstrending.html' %}
|
2016-07-04 11:43:38 +02:00
|
|
|
</div>
|
2016-07-21 13:48:44 +02:00
|
|
|
<div class="col-lg-12 tab-pane fade" id="words-tab">
|
|
|
|
{% include 'trending_graphs/Wordstrending.html' %}
|
|
|
|
</div>
|
2016-07-08 15:08:37 +02:00
|
|
|
</div> <!-- tab-content -->
|
2016-07-01 16:59:08 +02:00
|
|
|
<!-- /.row -->
|
|
|
|
</div>
|
|
|
|
<!-- /#page-wrapper -->
|
2016-07-08 15:08:37 +02:00
|
|
|
|
|
|
|
<!-- import graph function -->
|
|
|
|
<script src="{{ url_for('static', filename='js/plot-graph.js') }}"></script>
|
|
|
|
|
2016-07-21 13:44:22 +02:00
|
|
|
<script type="text/javascript">
|
|
|
|
var refresh_interval = 1000*60*2; //number of miliseconds between each call
|
|
|
|
var launched_refresher = []; //Avoid launching mutliple refresher
|
|
|
|
var active_tab_name = "tld"; //Avoid a redraw of the graph is the tab is not active
|
|
|
|
function refresh_top_chart(attr_name, immediate){
|
|
|
|
if (immediate){
|
|
|
|
plot_top_graph(attr_name);
|
|
|
|
}
|
|
|
|
setTimeout(function() {
|
|
|
|
$("[flash-"+attr_name+"]").css('color', '#fece00');
|
|
|
|
setTimeout(function() { $("[flash-"+attr_name+"]").css('color', 'black'); }, 1000);
|
|
|
|
refresh_top_chart(attr_name, false);
|
|
|
|
if (active_tab_name == attr_name)
|
|
|
|
plot_top_graph(attr_name);
|
|
|
|
}, refresh_interval);
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
2016-07-08 15:08:37 +02:00
|
|
|
<!-- instanciate and plot graphs -->
|
|
|
|
<script type="text/javascript">
|
2016-07-11 15:05:04 +02:00
|
|
|
// Create, plot and set the limit of displayed headers
|
|
|
|
function create_and_plot(pannel, path){
|
|
|
|
//var graph_domain = new Graph($(event.target).attr('data-pannel'), $(event.target).attr('data-path'));
|
|
|
|
$.get(path, function(myContentFile) {
|
|
|
|
var lines = myContentFile.split("\r\n");
|
|
|
|
var header_size = lines[0].split(',').length-1;
|
2016-07-11 16:57:45 +02:00
|
|
|
current_displayed_graph = new Graph(pannel, path, header_size);
|
|
|
|
setTimeout(function() { current_displayed_graph.set_Visibility(default_display)}, 300);
|
2016-07-11 15:05:04 +02:00
|
|
|
}, 'text');
|
2016-07-19 18:07:29 +02:00
|
|
|
|
2016-07-11 15:05:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// When a pannel is shown, create_and_plot.
|
2016-07-08 15:08:37 +02:00
|
|
|
$('.nav-tabs a').on('shown.bs.tab', function(event){
|
2016-07-11 15:05:04 +02:00
|
|
|
create_and_plot($(event.target).attr('data-pannel'), $(event.target).attr('data-path'));
|
2016-07-21 13:44:22 +02:00
|
|
|
active_tab_name = $(event.target).attr('data-attribute-name')
|
|
|
|
//Top progression chart
|
|
|
|
if(launched_refresher.indexOf($(event.target).attr('data-attribute-name')) == -1){
|
|
|
|
launched_refresher.push($(event.target).attr('data-attribute-name'));
|
|
|
|
refresh_top_chart($(event.target).attr('data-attribute-name'), true);
|
|
|
|
}
|
2016-07-08 15:08:37 +02:00
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
$(document).ready(function(){
|
2016-07-11 15:05:04 +02:00
|
|
|
// Create the graph when the page has just loaded
|
2016-07-12 14:33:54 +02:00
|
|
|
create_and_plot("TldTrending", '../static//csv/tldstrendingdata.csv')
|
2016-07-21 13:44:22 +02:00
|
|
|
//Top progression chart
|
|
|
|
refresh_top_chart("tld", true);
|
2016-07-08 15:08:37 +02:00
|
|
|
});
|
2016-07-19 18:07:29 +02:00
|
|
|
|
2016-07-12 11:47:51 +02:00
|
|
|
// Used when we modify the number of displayed curves
|
2016-07-12 10:02:01 +02:00
|
|
|
function take_top(new_display){
|
2016-07-11 16:57:45 +02:00
|
|
|
current_displayed_graph.set_Visibility_andHide(new_display, default_display);
|
|
|
|
default_display = new_display;
|
|
|
|
}
|
2016-07-19 18:07:29 +02:00
|
|
|
|
2016-07-08 15:08:37 +02:00
|
|
|
</script>
|
|
|
|
|
2016-07-01 16:59:08 +02:00
|
|
|
</div>
|
|
|
|
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|