Add firefox bloating (przedplamienie FF) #34
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "#29"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kilka drobnych rzeczy wyszło. Plus proszę wrzuć to na brancha o nazwie bez
#
, bo na tego#29
nie mogę się lokalnie zcheckoutować :(@ -0,0 +1,32 @@
#!/bin/bash
uwaga ortograficzna co do nazwy pliku -
bloater
- przez jednot
;)@ -0,0 +1,32 @@
#!/bin/bash
BLOATING_DOMAINS=$(while IFS= read -r line; do echo "$line"
Jeżeli chcemy tutaj wczytać treść wielolinijkowego pliku do zmiennej
BLOATING_DOMAINS
, to wystarczy zrobić@ -0,0 +10,4 @@
DOMAINS=$(printf '%s\n' "${BLOATING_DOMAINS[@]}")
else
echo "Bloating Firefox by requested domain list..."
DOMAINS=$FILTERED_DOMAINS
tutaj siegamy do zmiennej definiowanej poza funkcją - to może spowodować niepożądane zachowania.
Proponuję zmienic kształt tej funkcji tak, aby wywołanie było uzaleznione od ilości argumentów. Można jej podać albo:
Aby sprawdzić, ile argumentów było podane do funkcji, możemy użyć
$#
:@ -0,0 +15,4 @@
while IFS= read -r DOMAIN; do
# these domains return a 404 anyways, no need to waste time on them:
if is_http_error "$DOMAIN"; then echo "skipping $DOMAIN"; continue; fi
wszystko pomiędzy
while
idone
dla czytelności warto wciąć o dodatkowego tab-a@ -12,2 +13,4 @@
URL=$(unquote $(echo $INPUT | jq .url))
DOMAINS=`node array-to-lines.js "$(echo $INPUT | jq .third_party_domains)"`
FILTERED_DOMAINS=`node filter-requested-domains.js "$(echo $INPUT | jq .third_party_domains)"`
filtrowanie domen, jak i decydowanie o tym, czy plamić firefoxa, czy nie, najlepiej przenieść do body funkcji
bloat_firefox
. Wtedy główny skrypt będzie znacznie prostszyŻeby się zcheckoutować musisz dać
git checkout '#29'
Ok, sorry, robiłem te komendy w złym repozytorium xD Wszystko jest nazwą barncha ok. Pozostałe komentarze podtrzymuję :)
@ -0,0 +28,4 @@
grab "$DOMAIN after"
done <<< "$DOMAINS"
else
echo "No need to blot"
(typo) blot -> bloat
@ -42,3 +33,1 @@
sleep 1.5
grab "$DOMAIN after"
done <<< "$DOMAINS"
bloat_firefox $INPUT
$INPUT
to jest cały JSON z różnymi parametrami dla SS. Chyba chodziło tu o przekazanie$DOMAINS
?Yup i w
bloater.sh
robimy:W istocie - rzecz polega na tym, że w bloater.sh patrzymy tylko w
.third_party_domains
i odrzucamy całą resztę JSON-a. Więc możemy przekazać do tej funkcji już wyciągnięte domeny, które tworzymy sobie w linijsce 15 wrun-analysis.sh
. I wtedy wystarczy zrobić przy wywołaniu:a w kodzie bloat_firefox:
Zmniejszymy w ten sposób ilość wołanych binarek
Poprawione
Wysłałem małego update'a, w którym skróciłem trochę listę podmiotów do przedplamienia. Usunąłem te podmioty, które występują w trakcie analiz rzadziej, niż się spodziewałem.
Jest problem, przedplamienie nie działa. Kroki do odtworzenia:
https://patrizia.aryton.pl/content/2-polityka-prywatnosci
, a w liście domen podaćfacebook.com,linkedin.com
i nie ma żadnych screenshotów
Poprawiłem, wszystko śmiga!
Przetestowałem u siebie i działa, super! <3