screenshot-service/Docker/script3.sh

88 lines
1.7 KiB
Bash
Executable File

#!/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)"`
source ./utils.sh
source ./annotate_header.sh
echo "{'current_action': 'Setting up X environment...'}"
source ./ephemeral-x.sh
# (while true; do
# grab_screen_to_public $ID
# sleep 1
# done) &
# refresher_pid=$!;
echo "{'current_action': 'Starting firefox...'}"
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=()
index=0
mkdir -p "/opt/static/$ID"
while IFS= read -r DOMAIN; do
if [ "$DOMAIN" = "" ]; then
continue
fi
echo "{'current_action': 'scanning for requests from $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" "$DOMAIN" "$count" \
"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"
# kill $refresher_pid;
echo "{'current_action': 'awaiting al background processes...'}"
for PID in "${pids[@]}"
do
wait $PID
done
kill -2 %%;
cleanup
echo "Done!"