#!/bin/bash

INPUT="$1"
ID=$2

unquote(){
  echo $1 | sed 's/"//g'
}

URL=$(unquote $(echo $INPUT | jq .url))
DOMAINS=`node array-to-lines.js "$(echo $INPUT | jq .third_party_domains)"`

echo "$DOMAINS"

source ./ephemeral-x.sh
source ./annotate_header.sh
source ./utils.sh

start_firefox
grab start_firefox
prepare_firefox
grab prepare_firefox
load_website "$URL"
grab load_website
open_network_inspector
grab open_network_inspector



declare -a pids;
pids=()

echo DOMAINS: "$DOMAINS"


index=0
mkdir -p "/opt/static/$ID"
while IFS= read -r DOMAIN; do
    if [ "$DOMAIN" = "" ]; then
      continue
    fi
    echo "============"
    echo SCANNING DOMAIN $DOMAIN
    network_inspector_search "domain:$DOMAIN" # can filter with more granularity: https://developer.mozilla.org/en-US/docs/Tools/Network_Monitor/request_list#filtering_by_properties
    grab ni_search

    scrot

    count=0
    while network_inspector_has_more_entries
    do
      filename="/opt/static/$ID/${index}.png"
      scrot "$filename"
      annotate_header "$filename" \
        "set-cookie" "identyfikator internetowy z cookie" \
        "Cookie" "identyfikator internetowy z cookie" \
        "Referer" "Część mojej historii przeglądania" &
      pids+=($!)
      network_inspector_next_entry
      ((index++))
      ((count++))
      if [ $count -gt 10 ]; then
        break;
      fi
    done
done <<< "$DOMAINS"

echo "starting wait..."

for PID in "${pids[@]}"
do
     wait $PID
done


kill -2 %%;

cleanup


echo "Done!"
