<!DOCTYPE html>
<html lang="en">
<head>
  <title>Paste information - AIL</title>
  <link rel="icon" href="{{ url_for('static', filename='image/ail-icon.png') }}">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

   <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/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
   <link href="{{ url_for('static', filename='css/tags.css') }}" rel="stylesheet" type="text/css" />

   <script language="javascript" 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/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 src="{{ url_for('static', filename='js/tags.js') }}"></script>

  <style>
    .scrollable-menu {
      height: auto;
      max-height: 200px;
      overflow-x: hidden;
      width:100%;
    }

		.red_table thead{
			background: #d91f2d;
			color: #fff;
		}
  </style>

</head>
<body>
    <div class="panel panel-default">
      <div class="panel-heading">
        <h1 class="page-header" >Paste: {{ request.args.get('paste') }}</h1>
        <h2 class="page-header" >
          <div>

            <div id="mymodal" class="modal fade" role="dialog">
              <div class="modal-dialog modal-lg">

                <!-- Modal content-->
                <div id="mymodalcontent" class="modal-content">
                  <div class="modal-header" style="border-bottom: 4px solid #cccccc; background-color: #cccccc; color: #ffffff;">
                    <p class="heading">Edit this tag</p>

                  </div>

                  <div class="modal-body">

                    <div class="form-group input-group" >
                      <input id="ltags" style="width:850%;" type="text" name="ltags">
                    </div>

                    <div class="btn-group btn-block">
                        <button type="button" class="btn btn-primary dropdown-toggle btn-block" data-toggle="dropdown">Taxonomie Selection
                          <i class="fa fa-chevron-down"></i>
                        </button>
                        <ul class="dropdown-menu scrollable-menu" role="menu">
                            <li><a href="#" id="all-tags-taxonomies">All Tags <i class="fa fa-tags"></i></a></li>
                            <li role="separator" class="divider"></li>
                            {% for taxo in active_taxonomies %}
                                <li><a href="#" id="{{ taxo }}-id{{ loop.index0 }}">{{ taxo }}</a></li>
                            {% endfor %}
                        </ul>
                    </div>
                     <br/><br/>

                    <div class="form-group input-group" >
                      <input id="ltagsgalaxies" style="width:850%;" type="text" name="ltagsgalaxies">
                    </div>

                    <div class="btn-group btn-block">
                        <button type="button" class="btn btn-primary dropdown-toggle btn-block" data-toggle="dropdown">Galaxy Selection
                          <i class="fa fa-chevron-down"></i>
                        </button>
                        <ul class="dropdown-menu scrollable-menu" role="menu">
                            <li><a href="#" id="all-tags-galaxies">All Tags <i class="fa fa-tags"></i></a></li>
                            <li role="separator" class="divider"></li>
                            {% for galaxy in active_galaxies %}
                                <li><a href="#" id="{{ galaxy }}-idgalax{{ loop.index0 }}">{{ galaxy }}</a></li>
                            {% endfor %}
                        </ul>
                    </div>
                  </div>

                  <div class="modal-footer">
                    <a class="btn btn-tags pull-left" href="{{ url_for('Tags.taxonomies') }}" target="_blank">
                        <span class="label-icon">Edit Taxonomies List </span>
                        <i class="fa fa-wrench fa-2x"></i>
                    </a>
                    <a class="btn btn-tags pull-left" href="{{ url_for('Tags.galaxies') }}" target="_blank">
                        <span class="label-icon">Edit Galaxies List</span>
                        <i class="fa fa-rocket fa-2x"></i>
                    </a>
                    <button class="btn btn-primary btn-tags" onclick="addTags()">
                        <span class="glyphicon glyphicon-plus"></span>
                        <span class="label-icon">Add Tags</span>
                    </button>
                    <button type="button" class="btn btn-default" data-dismiss="modal" >Close</button>

                  </div>
                </div>
              </div>
            </div>


            {% for tag in list_tags %}
            <span class="btn btn-{{ bootstrap_label[loop.index0 % 5] }} btn-lg pull-left" data-toggle="modal" data-target="#myModal_{{ loop.index0 }}">{{ tag[0] }}</span>

              <!-- Modal edit this tag -->
              <div class="modal fade" id="myModal_{{ loop.index0 }}" role="dialog">
                <div class="modal-dialog">

                  <div class="modal-content text-center">
                    <div class="modal-header" style="border-bottom: 4px solid #cccccc; background-color: #cccccc; color: #ffffff;">
                      <p class="heading">Edit this tag</p>

                    </div>
                    <div class="modal-body">
                      <span class="label label-{{ bootstrap_label[loop.index0 % 5] }}" >{{ tag[0] }}</span>
                    </div>
                    <div class="modal-footer center">

                        {% if not tag[2] %}
                          <a href="{{ url_for('Tags.tag_validation') }}?paste={{ request.args.get('paste') }}&tag={{ tag[0] }}&status=tp" class="btn btn-success pull-left" data-toggle="tooltip" title="Good Detection">
                            <span class="glyphicon glyphicon-thumbs-up "></span>
                          </a>
                        {% endif %}
                        {% if tag[2] %}
                          <button class="btn btn-success pull-left disabled" data-toggle="tooltip" title="Good Detection">
                            <span class="glyphicon glyphicon-thumbs-up "></span>
                          </button>
                        {% endif %}
                        {% if not tag[3] %}
                          <a href="{{ url_for('Tags.tag_validation') }}?paste={{ request.args.get('paste') }}&tag={{ tag[0] }}&status=fp" class="btn btn-danger pull-left" data-toggle="tooltip" title="Bad Detection">
                            <span class="glyphicon glyphicon-thumbs-down "></span>
                          </a>
                        {% endif %}
                        {% if tag[3] %}
                          <button class="btn btn-danger pull-left disabled" data-toggle="tooltip" title="Bad Detection">
                            <span class="glyphicon glyphicon-thumbs-down "></span>
                          </button>
                        {% endif %}

                      {% if tag[1] %}
                        <a href="{{ url_for('Tags.confirm_tag') }}?paste={{ request.args.get('paste') }}&tag={{ tag[0] }}" class="btn btn-primary">
                          <span class="glyphicon glyphicon-ok "></span> Confirm this Tag
                        </a>
                      {% endif %}
                      <a href="{{ url_for('Tags.remove_tag') }}?paste={{ request.args.get('paste') }}&tag={{ tag[0] }}" class="btn btn-danger">
                        <span class="glyphicon glyphicon-trash "></span> Delete this Tag
                      </a>
                    </div>
                  </div>

                </div>
              </div>

            {%  endfor %}
            <button type="button" class="btn btn-light btn-lg" data-toggle="modal" data-target="#mymodal" data-url="{{ url_for('Tags.taxonomies') }}">
              <span class="glyphicon glyphicon-plus "></span>
            </button>
          </div>
        </h2>

        <table class="table table-condensed">
          <thead>
            <tr>
              <th>Date</th>
              <th>Source</th>
              <th>Encoding</th>
              <th>Language</th>
              <th>Size (Kb)</th>
              <th>Mime</th>
              <th>Number of lines</th>
              <th>Max line length</th>
            </tr>
          </thead>
          <tbody>
            <tr>
            <td>{{ date }}</td>
            <td>{{ source }}</td>
            <td>{{ encoding }}</td>
            <td>{{ language }}</td>
            <td>{{ size }}</td>
            <td>{{ mime }}</td>
            <td>{{ lineinfo.0 }}</td>
            <td>{{ lineinfo.1 }}</td>
            </tr>
          </tbody>
        </table>

        <div>
          {% if misp %}
          <button class="btn btn-default btn-lg" data-toggle="modal" data-target="#myModal_MISP">
            Create
            <img id="misp-logo" src="{{url_for('static', filename='image/misp-logo.png') }}" height="32">
            Event
          </button>
          <!-- Modal MISP-->
          <div class="modal fade" id="myModal_MISP" role="dialog">
            <div class="modal-dialog">

              <div class="modal-content">
                <div class="modal-header text-center">
                  <img id="misp-logo" src="{{url_for('static', filename='image/misp-logo.png') }}" >
                </div>
                <div class="modal-body">

                  <form method="post" action="{{ url_for('PasteSubmit.create_misp_event') }}" target="_blank">

                  <div class="input select required">
                    <label for="EventDistribution">Distribution</label>
                    <select name="misp_data[Event][distribution]" id="EventDistribution" required="required">
                      <option value="0" selected="selected">Your organisation only</option>
                      <option value="1">This community only</option>
                      <option value="2">Connected communities</option>
                      <option value="3">All communities</option>
                    </select>
                  </div>
                  <div class="input clear required">
                    <label for="EventThreatLevelId">Threat Level</label>
                    <select name="misp_data[Event][threat_level_id]" id="EventThreatLevelId" required="required">
                      <option value="1">High</option>
                      <option value="2" selected="selected">Medium</option>
                      <option value="3">Low</option>
                      <option value="4">Undefined</option>
                    </select>
                  </div>
                  <div class="input select required">
                    <label for="EventAnalysis">Analysis</label>
                    <select name="misp_data[Event][analysis]" id="EventAnalysis" required="required">
                      <option value="0">Initial</option>
                      <option value="1">Ongoing</option>
                      <option value="2">Completed</option>
                    </select>
                  </div>
                  <div class="clear required">
                    <label for="EventInfo">Event Info</label>
                    <input name="misp_data[Event][info]" class="form-control span6" placeholder="Quick Event Description or Tracking Info" type="text" id="EventInfo" required="required"/>
                  </div>
                  <div class="clear">
                    <label for="EventInfo">Publish Event</label>
                    <input type="checkbox" value="True" id="misp_publish" name="misp_publish" >
                  </div>
                  <input type="hidden" id="paste" name="paste" value="{{ request.args.get('paste') }}">

                  {% if misp_eventid %}
                  <br>
                  <div class="list-group" id="misp_event">
                    <li class="list-group-item active">MISP Events already Created</li>
                      <a target="_blank" href="{{ misp_url }}" class="list-group-item">{{ misp_url }}</a></div>
                  {% endif %}

                </div>
                <div class="modal-footer center">
                  <button class="btn btn-primary">
                    <span class="glyphicon glyphicon-ok "></span> Create Event
                  </button>

                </form>
                  <button type="button" class="btn btn-default" data-dismiss="modal" >Close</button>

                </div>
              </div>

            </div>
          </div>
          {% endif %}

          {% if hive %}
          <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal_hive">
            Create
            <img id="thehive-icon" src="{{url_for('static', filename='image/thehive_icon.png') }}">
            Case
          </button>
          <!-- Modal HIVE-->
          <div class="modal fade" id="myModal_hive" role="dialog">
            <div class="modal-dialog">

              <div class="modal-content">
                <div class="modal-header text-center">
                  <img id="misp-logo" src="{{url_for('static', filename='image/thehive-logo.png') }}" width="500" >
                </div>

                <div class="modal-body">

                  <form method="post" action="{{ url_for('PasteSubmit.create_hive_case') }}" target="_blank">

                  <div class="input clear required">
                    <label for="EventThreatLevelId">Threat Level</label>
                    <select name="threat_level_hive" id="EventThreatLevelId" required="required">
                      <option value="1">High</option>
                      <option value="2" selected="selected">Medium</option>
                      <option value="3">Low</option>
                    </select>
                  </div>
                  <div class="input select required">
                    <label for="TLP">TLP</label>
                    <select name="hive_tlp" id="hive_tlp" required="required" class="selectpicker">
                      <option value="0">White</option>
                      <option value="1">Green</option>
                      <option value="2" selected="selected">Amber</option>
                      <option value="3">Red</option>
                    </select>
                  </div>
                  <div class="clear required">
                    <label for="hive_case_title">Title</label>
                    <input name="hive_case_title" class="form-control span6" placeholder="Title" type="text" id="hive_case_title" required="required"/>
                  </div>
                  <div class="clear required">
                    <label for="hive_description">Description</label>
                    <input name="hive_description" class="form-control span6" placeholder="Quick Case Description" type="text" id="hive_description" required="required"/>
                  </div>
                  <input type="hidden" id="paste" name="paste" value="{{ request.args.get('paste') }}">

                  {% if hive_caseid %}
                  <br>
                  <div class="list-group" id="misp_event">
                    <li class="list-group-item active">The Hive Case already Created</li>
                      <a target="_blank" href="{{ hive_url }}" class="list-group-item">{{ hive_url }}</a></div>
                  {% endif %}

                </div>
                <div class="modal-footer center">
                  <button href="" class="btn btn-primary">
                    <span class="glyphicon glyphicon-ok "></span> Create Case
                  </button>

                </form>
                  <button type="button" class="btn btn-default" data-dismiss="modal" >Close</button>

                </div>
              </div>

            </div>
          </div>
          {% endif %}
        </div>

      </div>

    <div class="panel-body" id="panel-body">

      {% if  duplicate_list|length == 0 %}
      {% else %}
          <h3> Duplicate list: </h3>
          <table id="tableDup" class="table table-striped table-bordered">
          {% set i = 0 %}
          <thead>
          <tr>
              <th>Hash type</th>
              <th>Paste info</th>
              <th>Date</th>
              <th>Path</th>
              <th>Action</th>
          </tr>
          </thead>
          <tbody>
          {% for dup_path in duplicate_list %}
              <tr>
                  <td>{{ hashtype_list[loop.index - 1] }}</td>
                  <td>Similarity: {{ simil_list[loop.index - 1] }}%</td>
                  <td>{{ date_list[loop.index - 1] }}</td>
                  <td><a target="_blank" href="{{ url_for('showsavedpastes.showsavedpaste') }}?paste={{ dup_path }}" id='dup_path'>{{ dup_path }}</a></td>
                  <td><a target="_blank" href="{{ url_for('showsavedpastes.showDiff') }}?s1={{ request.args.get('paste') }}&s2={{ dup_path }}" class="fa fa-columns" title="Show differences"></a></td>
              </tr>
          {% endfor %}
          </tbody>
          </table>
      {% endif %}

      {% if  l_64|length != 0 %}
          <h3> Hash files: </h3>
          <table id="tableb64" class="red_table table table-striped table-bordered">
          <thead>
          <tr>
              <th>estimated type</th>
              <th>hash</th>
              <th>saved_path</th>
              <th>Virus Total</th>
          </tr>
          </thead>
          <tbody>
          {% for b64 in l_64 %}
              <tr>
                  <td><i class="fa {{ b64[0] }}"></i>&nbsp;&nbsp;{{ b64[1] }}</td>
                  <td><a target="_blank" href="{{ url_for('hashDecoded.showHash') }}?hash={{ b64[2] }}">{{ b64[2] }}</a> ({{ b64[4] }})</td>
                  <td>{{ b64[3] }}</td>
                  <td style="text-align:center;">
                    {% if  vt_enabled %}
                      {% if not b64[5] %}
                        <darkbutton_{{ b64[2] }}>
                          <button id="submit_vt_{{ b64[2] }}" class="btn btn-primary" onclick="sendFileToVT('{{ b64[2] }}')">
                            <i class="fa fa-paper-plane"></i>&nbsp;Send this file to VT
                          </button>
                        </darkbutton_{{ b64[2] }}>
                      {% else %}
                        <a class="btn btn-primary" target="_blank" href="{{ b64[6] }}"><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>&nbsp;{{ b64[7] }}</div>
                      </button>
                    {% else %}
                      Virus Total submission is disabled
                    {% endif %}
                  </td>
              </tr>
          {% endfor %}
          </tbody>
          </table>
      {% endif %}

        {% if crawler_metadata['get_metadata'] %}
          <div class="row">

            <div class="col-md-5">
              <div class="row">
                <div class="panel panel-info">
      						<div class="panel-heading">
                    <i class="fa fa-eye-slash"></i> Crawled Paste
      						</div>

                      <table class="table table-hover table-striped">
                        <tbody>
                          <tr>
                            <td>Domain</td>
                            <td><a target="_blank" href="{{ url_for('hiddenServices.show_domain') }}?domain={{ crawler_metadata['domain'] }}" id='domain'>{{ crawler_metadata['domain'] }}</a></td>
                          </tr>
                          <tr>
                            <td>Father</td>
                            <td><a target="_blank" href="{{ url_for('showsavedpastes.showsavedpaste') }}?paste={{ crawler_metadata['paste_father'] }}" id='paste_father'>{{ crawler_metadata['paste_father'] }}</a></td>
                          </tr>
                          <tr>
                            <td>Source link</td>
                            <td>{{ crawler_metadata['real_link'] }}</td>
                          </tr>
                        </tbody>
                      </table>
                </div>
              </div>
            </div>

            <div class="col-md-7">
              <div class="panel panel-info" style="text-align:center;">
                <div class="panel-heading">
                    <div class="row">
                      <div class="col-md-8">
                        <input class="center" id="blocks" type="range" min="1" max="50" value="13">
                      </div>
                      <div class="col-md-4">
                        <button class="btn btn-primary btn-tags" onclick="blocks.value=50;pixelate();">
                            <span class="glyphicon glyphicon-zoom-in"></span>
                            <span class="label-icon">Full resolution</span>
                        </button>
                      </div>
                    </div>
                  </div>
                </div>
              <canvas id="canvas" style="width:100%;"></canvas>
            </div>
          </div>
        {% endif %}

        <h3> Content: </h3>
        <a href="{{ url_for('showsavedpastes.showsavedrawpaste') }}?paste={{ request.args.get('paste') }}" id='raw_paste' > [Raw content] </a>
        <p data-initsize="{{ initsize }}"> <pre id="paste-holder">{{ content }}</pre></p>
    </div>
  </div>

</body>

<script>
    var ltags
    var ltagsgalaxies
    $(document).ready(function(){

        $.getJSON("{{ url_for('Tags.get_all_tags_taxonomies') }}",
          function(data) {

            ltags = $('#ltags').tagSuggest({
              data: data,
              maxDropHeight: 200,
              name: 'ltags'
            });
          });

        $.getJSON("{{ url_for('Tags.get_all_tags_galaxy') }}",
          function(data) {

            ltagsgalaxies = $('#ltagsgalaxies').tagSuggest({
              data: data,
              maxDropHeight: 200,
              name: 'ltagsgalaxies'
            });
          });

        $('#tableDup').DataTable();
        $('#tableb64').DataTable({
  				"aLengthMenu": [[5, 10, 15, -1], [5, 10, 15, "All"]],
  				"iDisplayLength": 5,
  				"order": [[ 1, "asc" ]]
  			});
    });
</script>

<script>
  function updateVTReport(hash) {
    //updateReport
    $.getJSON("{{ url_for('hashDecoded.update_vt_result') }}?hash="+hash,
      function(data) {
        content = '<span class="glyphicon glyphicon-refresh"></span> ' +data['report_vt']
        $( "#report_vt_"+hash ).html(content);
    });
  }

  function sendFileToVT(hash) {
    //send file to vt
    $.getJSON("{{ url_for('hashDecoded.send_file_to_vt_js') }}?hash="+hash,
      function(data) {
        var content = '<a id="submit_vt_'+hash+'" class="btn btn-primary" target="_blank" href="'+ data['vt_link'] +'"><i class="fa fa-link"> '+ ' VT Report' +'</i></a>';
        $('#submit_vt_'+hash).remove();
        $('darkbutton_'+hash).append(content);
    });
  }

</script>

<script>
    jQuery("#all-tags-taxonomies").click(function(e){
      //change input tags list
      $.getJSON("{{ url_for('Tags.get_all_tags_taxonomies') }}",
        function(data) {
          ltags.setData(data)
      });
    });

</script>
<script>
    jQuery("#all-tags-galaxies").click(function(e){
      $.getJSON("{{ url_for('Tags.get_all_tags_galaxy') }}",
        function(data) {
          ltagsgalaxies.setData(data)
      });
    });

</script>

<script>
    function addTags() {
      var tags = ltags.getValue()
      var tagsgalaxy = ltagsgalaxies.getValue()
      var path = '{{ request.args.get('paste') }}'
      window.location.replace("{{ url_for('Tags.addTags') }}?tags=" + tags + "&tagsgalaxies=" + tagsgalaxy + "&path=" + path);
    }

</script>

<script>
{% for taxo in active_taxonomies %}
    jQuery("#{{ taxo }}-id{{ loop.index0 }}").click(function(e){
      $.getJSON("{{ url_for('Tags.get_tags_taxonomie') }}?taxonomie={{ taxo }}",
        function(data) {
          ltags.setData(data)
  });
});
{% endfor %}
</script>
<script>
{% for galaxy in active_galaxies %}
    jQuery("#{{ galaxy }}-idgalax{{ loop.index0 }}").click(function(e){
      $.getJSON("{{ url_for('Tags.get_tags_galaxy') }}?galaxy={{ galaxy }}",
        function(data) {
          ltagsgalaxies.setData(data)
  });
});
{% endfor %}
</script>

<script>
var ctx = canvas.getContext('2d'), img = new Image();

/// turn off image smoothing
ctx.webkitImageSmoothingEnabled = false;
ctx.imageSmoothingEnabled = false;

img.onload = pixelate;
img.addEventListener("error", img_error);
var draw_img = false;

img.src = "{{ url_for('showsavedpastes.screenshot', filename=crawler_metadata['screenshot']) }}";

function pixelate() {

  /// use slider value
  if( blocks.value == 50 ){
      size = 1;
  } else {
      var size = (blocks.value) * 0.01;
  }

  canvas.width = img.width;
  canvas.height = img.height;

  /// cache scaled width and height
  w = canvas.width * size;
  h = canvas.height * size;

  /// draw original image to the scaled size
  ctx.drawImage(img, 0, 0, w, h);

  /// pixelated
  ctx.drawImage(canvas, 0, 0, w, h, 0, 0, canvas.width, canvas.height);

}

function img_error() {
  img.onerror=null;
  img.src="{{ url_for('static', filename='image/AIL.png') }}";
  blocks.value = 50;
  pixelate;
}

blocks.addEventListener('change', pixelate, false);
</script>

</html>
