<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Tracker Management</title> <link rel="icon" href="{{ url_for('static', filename='image/ail-icon.png') }}"> <!-- 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"> <script src="{{ url_for('static', filename='js/jquery.js') }}"></script> <script src="{{ url_for('static', filename='js/bootstrap4.min.js') }}"></script> <script src="{{ url_for('static', filename='js/jquery.dataTables.min.js') }}"></script> <script src="{{ url_for('static', filename='js/dataTables.bootstrap.min.js') }}"></script> <script src="{{ url_for('static', filename='js/d3.min.js') }}"></script> <script src="{{ url_for('static', filename='js/d3/sparklines.js') }}"></script> <style> .btn-link { color: #000000 } .mouse_pointer { cursor: pointer; } .lb-md { font-size: 16px; } </style> </head> <body> {% include 'nav_bar.html' %} <div class="container-fluid"> <div class="row"> {% include 'hunter/menu_sidebar.html' %} <div class="col-12 col-lg-10" id="core_content"> {% if user_trackers %} <div class="card my-3"> <div class="card-header"> <h5 class="card-title">Your {{ tracker_type }} Trackers</h5> </div> <div class="card-body"> <table id="table_user_trackers" class="table table-striped table-bordered"> <thead class="bg-dark text-white"> <tr> <th>Type</th> <th>Tracker</th> <th>Org</th> <th>First seen</th> <th>Last seen</th> <th>Emails</th> <th>sparkline</th> </tr> </thead> <tbody style="font-size: 15px;"> {% for dict_uuid in user_trackers %} <tr> <td>{{ dict_uuid['type'] }}</td> <td> <span> <a target="_blank" href="{{ url_for('hunters.show_tracker') }}?uuid={{ dict_uuid['uuid'] }}"> {% if dict_uuid['tracked'] %} {% if dict_uuid['tracked']|length > 256 %} {{ dict_uuid['tracked'][0:256] }}... {% else %} {{ dict_uuid['tracked'] }} {% endif %} {% endif %} </a> </span> {% if dict_uuid['description'] %} <div><i>{{ dict_uuid['description'] }}</i></div> {% endif %} <div> {% for tag in dict_uuid['tags'] %} <a href="{{ url_for('tags_ui.get_obj_by_tags') }}?object_type=item<ags={{ tag }}"> <span class="badge badge-{{ bootstrap_label[loop.index0 % 5] }} pull-left">{{ tag }}</span> </a> {% endfor %} </div> </td> <td> {% if dict_uuid['org'] %} {{ dict_uuid['org_name'] }}<br>{{ dict_uuid['org'] }} {% endif %} </td> <td> {% if dict_uuid['first_seen'] %} {{ dict_uuid['first_seen'][0:4] }}/{{ dict_uuid['first_seen'][4:6] }}/{{ dict_uuid['first_seen'][6:8] }} {% endif %} </td> <td> {% if dict_uuid['last_seen'] %} {{ dict_uuid['last_seen'][0:4] }}/{{ dict_uuid['last_seen'][4:6] }}/{{ dict_uuid['last_seen'][6:8] }} {% endif %} </td> <td> {% for mail in dict_uuid['mails'] %} {{ mail }}<br> {% endfor %} </td> <td id="sparklines_{{ dict_uuid['uuid'] }}" style="text-align:center;"></td> </tr> {% endfor %} </tbody> </table> </div> </div> {% endif %} {% if org_trackers %} <div class="card my-3"> <div class="card-header"> <h5 class="card-title">Organisation {{ tracker_type }} Trackers</h5> </div> <div class="card-body"> <table id="table_org_trackers" class="table table-striped table-bordered"> <thead class="bg-dark text-white"> <tr> <th>Type</th> <th>Tracker</th> <th>Org</th> <th>First seen</th> <th>Last seen</th> <th>Emails</th> <th>sparkline</th> </tr> </thead> <tbody style="font-size: 15px;"> {% for dict_uuid in org_trackers %} <tr> <td>{{ dict_uuid['type'] }}</td> <td> <span> <a target="_blank" href="{{ url_for('hunters.show_tracker') }}?uuid={{ dict_uuid['uuid'] }}"> {% if dict_uuid['tracked'] %} {% if dict_uuid['tracked']|length > 256 %} {{ dict_uuid['tracked'][0:256] }}... {% else %} {{ dict_uuid['tracked'] }} {% endif %} {% endif %} </a> </span> {% if dict_uuid['description'] %} <div><i>{{ dict_uuid['description'] }}</i></div> {% endif %} <div> {% for tag in dict_uuid['tags'] %} <a href="{{ url_for('tags_ui.get_obj_by_tags') }}?object_type=item<ags={{ tag }}"> <span class="badge badge-{{ bootstrap_label[loop.index0 % 5] }} pull-left">{{ tag }}</span> </a> {% endfor %} </div> </td> <td> {{ dict_uuid['org_name'] }}<br>{{ dict_uuid['org'] }} </td> <td> {% if dict_uuid['first_seen'] %} {{ dict_uuid['first_seen'][0:4] }}/{{ dict_uuid['first_seen'][4:6] }}/{{ dict_uuid['first_seen'][6:8] }} {% endif %} </td> <td> {% if dict_uuid['last_seen'] %} {{ dict_uuid['last_seen'][0:4] }}/{{ dict_uuid['last_seen'][4:6] }}/{{ dict_uuid['last_seen'][6:8] }} {% endif %} </td> <td> {% for mail in dict_uuid['mails'] %} {{ mail }}<br> {% endfor %} </td> <td id="sparklines_{{ dict_uuid['uuid'] }}" style="text-align:center;"></td> </tr> {% endfor %} </tbody> </table> </div> </div> {% endif %} <div class="card my-3"> <div class="card-header"> <h5 class="card-title">Global {{ tracker_type }} Trackers</h5> </div> <div class="card-body"> <table id="table_global_trackers" class="table table-striped table-bordered"> <thead class="bg-dark text-white"> <tr> <th>Type</th> <th>Tracker</th> <th>Org</th> <th>First seen</th> <th>Last seen</th> <th>Email notification</th> <th>sparkline</th> </tr> </thead> <tbody style="font-size: 15px;"> {% for dict_uuid in global_trackers %} <tr> <td>{{ dict_uuid['type'] }}</td> <td> <span> <a target="_blank" href="{{ url_for('hunters.show_tracker') }}?uuid={{ dict_uuid['uuid'] }}"> {% if dict_uuid['tracked'] %} {% if dict_uuid['tracked']|length > 256 %} {{ dict_uuid['tracked'][0:256] }}... {% else %} {{ dict_uuid['tracked'] }} {% endif %} {% endif %} </a> </span> {% if dict_uuid['description'] %} <div><i>{{ dict_uuid['description'] }}</i></div> {% endif %} <div> {% for tag in dict_uuid['tags'] %} <a href="{{ url_for('tags_ui.get_obj_by_tags') }}?object_type=item<ags={{ tag }}"> <span class="badge badge-{{ bootstrap_label[loop.index0 % 5] }}">{{ tag }}</span> </a> {% endfor %} </div> </td> <td> {% if dict_uuid['org'] %} {{ dict_uuid['org_name'] }}<br>{{ dict_uuid['org'] }} {% endif %} </td> <td> {% if dict_uuid['first_seen'] %} {{ dict_uuid['first_seen'][0:4] }}/{{ dict_uuid['first_seen'][4:6] }}/{{ dict_uuid['first_seen'][6:8] }} {% endif %} </td> <td> {% if dict_uuid['last_seen'] %} {{ dict_uuid['last_seen'][0:4] }}/{{ dict_uuid['last_seen'][4:6] }}/{{ dict_uuid['last_seen'][6:8] }} {% endif %} </td> <td> {% for mail in dict_uuid['mails'] %} {{ mail }}<br> {% endfor %} </td> <td id="sparklines_{{ dict_uuid['uuid'] }}" style="text-align:center;"></td> </tr> {% endfor %} </tbody> </table> </div> </div> <a class="btn btn-info my-4" href="{{ url_for('hunters.add_tracked_menu') }}"> <i class="fas fa-plus-circle ml-auto"></i> Create New Tracker </a> </div> </div> </div> <script> $(document).ready(function () { $("#page-Tracker").addClass("active"); $("#nav_tracker_{{tracker_type}}").addClass("active"); {% for dict_uuid in user_trackers %} sparkline("sparklines_{{ dict_uuid['uuid'] }}", {{ dict_uuid['sparkline'] }}, {height: 40}); {% endfor %} {% for dict_uuid in org_trackers %} sparkline("sparklines_{{ dict_uuid['uuid'] }}", {{ dict_uuid['sparkline'] }}, {height: 40}); {% endfor %} {% for dict_uuid in global_trackers %} sparkline("sparklines_{{ dict_uuid['uuid'] }}", {{ dict_uuid['sparkline'] }}, {height: 40}); {% endfor %} $('#table_user_trackers').DataTable({ "aLengthMenu": [[5, 10, 15, -1], [5, 10, 15, "All"]], "iDisplayLength": 10, "order": [[0, "desc"]] }); $('#table_org_trackers').DataTable({ "aLengthMenu": [[5, 10, 15, -1], [5, 10, 15, "All"]], "iDisplayLength": 10, "order": [[0, "desc"]] }); $('#table_global_trackers').DataTable({ "aLengthMenu": [[5, 10, 15, -1], [5, 10, 15, "All"]], "iDisplayLength": 10, "order": [[0, "desc"]] }); }); 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> </body> </html>