#!/bin/bash # # verify_extension_working.sh - Weryfikuje czy extension faktycznie przechwytuje requesty # # Test wykonuje HTTP request wewnątrz Firefoksa i sprawdza czy extension go przechwycił # poprzez Badge API (licznik domen na ikonie extensiona) # set -e echo "Uruchamianie Firefoksa z extensionem..." Xvfb :99 -screen 0 1024x768x24 & XVFB_PID=$! export DISPLAY=:99 sleep 2 # Start Firefox with extension and remote debugging npx web-ext run --verbose 2>&1 | tee /tmp/web-ext.log & WEBEXT_PID=$! # Wait for extension installation echo "Czekam na instalację extensiona..." for i in {1..30}; do if grep -q "Installed /app as a temporary add-on" /tmp/web-ext.log 2>/dev/null; then echo "✓ Extension zainstalowany" break fi sleep 1 done # Wait a bit more for extension code to execute sleep 3 # Try to trigger a request that extension should intercept # We'll use Firefox to load a simple webpage echo "" echo "Testowanie czy extension przechwytuje requesty..." echo "Próba załadowania example.com w Firefox..." # Use Firefox's remote debugging protocol to open a URL # This should trigger webRequest listeners if extension is working timeout 10s bash -c ' # Wait for devtools server port from logs PORT=$(grep -oP "start-debugger-server \K[0-9]+" /tmp/web-ext.log | head -1) if [ -n "$PORT" ]; then echo "Debugger port: $PORT" # Extension should intercept this request firefox -P /tmp/firefox-profile* "http://example.com" 2>/dev/null & sleep 5 fi ' || true # Check logs for evidence of request interception echo "" echo "Sprawdzanie logów..." if grep -i "example.com" /tmp/web-ext.log 2>/dev/null; then echo "✓✓✓ SUCCESS: Request do example.com został wykryty!" echo "✓✓✓ Extension FAKTYCZNIE przechwytuje requesty!" exit 0 else echo "✗✗✗ BRAK DOWODÓW że extension przechwytuje requesty" echo "Extension może być zainstalowany ale KOD może się nie wykonywać" exit 1 fi