From 2b33334cdd32305bb86ffbeddccc02be1366f9bb Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Fri, 19 Jun 2020 20:23:29 -0400 Subject: incorporate mozlz4 --- firefox-sideloader/functions.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/firefox-sideloader/functions.sh b/firefox-sideloader/functions.sh index 7b144df..ace764a 100644 --- a/firefox-sideloader/functions.sh +++ b/firefox-sideloader/functions.sh @@ -58,12 +58,17 @@ illustrate_leak() prof=$(get_default_firefox_profile_dir) && jq . < "$prof"/extensions.json | grep "$HOME" } -copy_extensions_json() +copy_file_with_filter() { - local new="$1" old="$2" f='extensions.json' filter_json + local new="$1" old="$2" f="$3" filter_json filter_json="s/${old//\//\\/}/${new//\//\\/}/g" [ -d "$old" -a -d "$new" ] || return - sed -e "$filter_json" > "$new"/"$f" < "$old"/"$f" + touch --reference="$old"/"$f" "$new"/"$f" || return + chmod --reference="$old"/"$f" "$new"/"$f" || return + case "$f" in + *lz4) mozlz4 - < "$old"/"$f" | sed -e "$filter_json" | mozlz4 -z - > "$new"/"$f" ;; + *) sed -e "$filter_json" < "$old"/"$f" > "$new"/"$f" ;; + esac } clone_profile_raw() @@ -77,9 +82,10 @@ clone_profile_raw() [ "$new_profile_dir" ] || return [ "$new_profile_dir" != "$old_profile_dir" ] || return - cp -r --preserve=mode,timestamps -t "$new_profile_dir" -- "$old_profile_dir"/extensions/ || return + cp -r --preserve=mode,timestamps -t "$new_profile_dir" -- "$old_profile_dir"/{extensions/,extension-{setting,preference}s.json} || return - copy_extensions_json "$new_profile_dir" "$old_profile_dir" + copy_file_with_filter "$new_profile_dir" "$old_profile_dir" 'extensions.json' + copy_file_with_filter "$new_profile_dir" "$old_profile_dir" 'addonStartup.json.lz4' } clone_profile() -- cgit v1.2.3