Created
September 8, 2023 15:02
-
-
Save undergroundwires/4a2deca03d68e9cb5853afe006f49442 to your computer and use it in GitHub Desktop.
Revert privacy.sexy `prefs.js` changes in done between v0.12.0 and v0.12.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# https://privacy.sexy — v0.12.2 — Fri, 08 Sep 2023 14:58:37 GMT | |
if [ "$EUID" -ne 0 ]; then | |
script_path=$([[ "$0" = /* ]] && echo "$0" || echo "$PWD/${0#./}") | |
sudo "$script_path" || ( | |
echo 'Administrator privileges are required.' | |
exit 1 | |
) | |
exit 0 | |
fi | |
export HOME="/home/${SUDO_USER:-${USER}}" # Keep `~` and `$HOME` for user not `/root`. | |
# Disable connection tests (breaks automatic Wi-Fi login) (revert) | |
echo '--- Disable connection tests (breaks automatic Wi-Fi login) (revert)' | |
pref_name='network.captive-portal-service.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# ------Enable Firefox First party isolation (revert)------- | |
# ---------------------------------------------------------- | |
echo '--- Enable Firefox First party isolation (revert)' | |
pref_name='privacy.firstparty.isolate' | |
pref_value='true' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# -------Enable Firefox tracking protection (revert)-------- | |
# ---------------------------------------------------------- | |
echo '--- Enable Firefox tracking protection (revert)' | |
pref_name='privacy.trackingprotection.enabled' | |
pref_value='true' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# Enable Firefox anti-fingerprinting (may break some websites) (revert) | |
echo '--- Enable Firefox anti-fingerprinting (may break some websites) (revert)' | |
pref_name='privacy.resistFingerprinting' | |
pref_value='true' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# Disable WebRTC exposure of your private IP address in Firefox (revert) | |
echo '--- Disable WebRTC exposure of your private IP address in Firefox (revert)' | |
pref_name='media.peerconnection.ice.default_address_only' | |
pref_value='true' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# Disable Firefox technical and interaction data collection (revert) | |
echo '--- Disable Firefox technical and interaction data collection (revert)' | |
pref_name='datareporting.healthreport.uploadEnabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# --Disable verbose Firefox telemetry collection (revert)--- | |
# ---------------------------------------------------------- | |
echo '--- Disable verbose Firefox telemetry collection (revert)' | |
pref_name='toolkit.telemetry.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# --------Disable Firefox telemetry archive (revert)-------- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox telemetry archive (revert)' | |
pref_name='toolkit.telemetry.archive.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# --------Disable Firefox unified telemetry (revert)-------- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox unified telemetry (revert)' | |
pref_name='toolkit.telemetry.unified' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# ---------Clear Firefox telemetry user ID (revert)--------- | |
# ---------------------------------------------------------- | |
echo '--- Clear Firefox telemetry user ID (revert)' | |
pref_name='toolkit.telemetry.cachedClientID' | |
pref_value='""' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# --Minimize Firefox telemetry logging verbosity (revert)--- | |
# ---------------------------------------------------------- | |
echo '--- Minimize Firefox telemetry logging verbosity (revert)' | |
pref_name='toolkit.telemetry.log.level' | |
pref_value='Fatal' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# Disable dumping Firefox Telemetry log messages to stdout (revert) | |
echo '--- Disable dumping Firefox Telemetry log messages to stdout (revert)' | |
pref_name='toolkit.telemetry.log.dump' | |
pref_value='Fatal' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# ---Disable pinging to Firefox telemetry server (revert)--- | |
# ---------------------------------------------------------- | |
echo '--- Disable pinging to Firefox telemetry server (revert)' | |
pref_name='toolkit.telemetry.server' | |
pref_value='""' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# ----------Disable Firefox shutdown ping (revert)---------- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox shutdown ping (revert)' | |
pref_name='toolkit.telemetry.shutdownPingSender.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
pref_name='toolkit.telemetry.shutdownPingSender.enabledFirstSession' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
pref_name='toolkit.telemetry.firstShutdownPing.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# --------Disable Firefox new profile ping (revert)--------- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox new profile ping (revert)' | |
pref_name='toolkit.telemetry.newProfilePing.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# -----------Disable Firefox update ping (revert)----------- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox update ping (revert)' | |
pref_name='toolkit.telemetry.updatePing.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# ------------Disable Firefox prio ping (revert)------------ | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox prio ping (revert)' | |
pref_name='toolkit.telemetry.prioping.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# ----Disable Firefox Pioneer study monitoring (revert)----- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox Pioneer study monitoring (revert)' | |
pref_name='toolkit.telemetry.pioneer-new-studies-available' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# --------Clear Firefox pioneer program ID (revert)--------- | |
# ---------------------------------------------------------- | |
echo '--- Clear Firefox pioneer program ID (revert)' | |
pref_name='toolkit.telemetry.pioneerId' | |
pref_value='""' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# ----Disable Firefox plugin stability blocking (revert)---- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox plugin stability blocking (revert)' | |
pref_name='browser.safebrowsing.blockedURIs.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# Disable Firefox application reputation checks for downloads (revert) | |
echo '--- Disable Firefox application reputation checks for downloads (revert)' | |
pref_name='browser.safebrowsing.downloads.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# -------Disable Firefox malware protection (revert)-------- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox malware protection (revert)' | |
pref_name='browser.safebrowsing.malware.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
# ---------------------------------------------------------- | |
# -------Disable Firefox phishing protection (revert)------- | |
# ---------------------------------------------------------- | |
echo '--- Disable Firefox phishing protection (revert)' | |
pref_name='browser.safebrowsing.phishing.enabled' | |
pref_value='false' | |
echo "Reverting preference: \"$pref_name\" to its default." | |
declare -a profile_paths=( | |
~/.mozilla/firefox/*/ | |
~/.var/app/org.mozilla.firefox/.mozilla/firefox/*/ | |
~/snap/firefox/common/.mozilla/firefox/*/ | |
) | |
declare -i total_profiles_found=0 | |
for profile_dir in "${profile_paths[@]}"; do | |
user_js_file="${profile_dir}user.js" | |
if [ ! -f "$user_js_file" ]; then | |
continue | |
fi | |
((total_profiles_found++)) | |
echo "$user_js_file:" | |
pref_start="user_pref(\"$pref_name\"," | |
pref_line="user_pref(\"$pref_name\", $pref_value);" | |
if ! grep --quiet "^$pref_start" "${user_js_file}"; then | |
echo $'\t''Skipping, preference was not configured before.' | |
elif grep --quiet "^$pref_line$" "${user_js_file}"; then | |
sed --in-place "/^$pref_line/d" "$user_js_file" | |
echo $'\t''Successfully reverted preference to default.' | |
if ! grep --quiet '[^[:space:]]' "$user_js_file"; then | |
rm "$user_js_file" | |
echo $'\t''Removed user.js file as it became empty.' | |
fi | |
else | |
echo $'\t''Skipping, the preference has value that is not configured by privacy.sexy.' | |
fi | |
done | |
if [ "$total_profiles_found" -eq 0 ]; then | |
echo 'No reversion was necessary.' | |
else | |
echo "Preferences verified in $total_profiles_found profiles." | |
fi | |
# ---------------------------------------------------------- | |
echo 'Your privacy and security is now hardened 🎉💪' | |
echo 'Press any key to exit.' | |
read -n 1 -s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment