configure_icecat.sh (1484B) - View raw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52#!/usr/bin/env bash create_profile() { rm -rfv "${HOME}/.mozilla" icecat --headless >"/dev/null" 2>&1 & sleep "3" killall "icecat" icecat -CreateProfile personal --headless >"/dev/null" 2>&1 & sleep "3" killall "icecat" } create_profile ICECAT_CONFIG_DIR="${HOME}/.mozilla/icecat" ICECAT_PROF_NAME="$(sed -n 's/^Path=\(.*\.default\)$/\1/p' \ "${ICECAT_CONFIG_DIR}/profiles.ini")" ICECAT_PROF_DIR="$ICECAT_CONFIG_DIR/$ICECAT_PROF_NAME" ICECAT_PERSONAL_PROF_NAME="$(sed -n 's/^Path=\(.*\.personal\)$/\1/p' \ "${ICECAT_CONFIG_DIR}/profiles.ini")" ICECAT_PERSONAL_PROF_DIR="$ICECAT_CONFIG_DIR/$ICECAT_PERSONAL_PROF_NAME" mkdir -pv "${ICECAT_PROF_DIR}/chrome" mkdir -pv "${ICECAT_PERSONAL_PROF_DIR}/chrome" cp userChrome.css userContent.css "${ICECAT_PROF_DIR}/chrome" cp userChrome.css userContent.css "${ICECAT_PERSONAL_PROF_DIR}/chrome" install_extensions() { EXT_DIR="${ICECAT_PERSONAL_PROF_DIR}/extensions" mkdir -pv "${EXT_DIR}" ADDON_NAMES=("violentmonkey" "sponsorblock") for ADDON_NAME in "${ADDON_NAMES[@]}"; do ADDON_URL="$(curl -fSk "https://addons.mozilla.org/en-US/firefox/addon/${ADDON_NAME}/" | grep -o 'https://addons.mozilla.org/firefox/downloads/file/[^"]*')" curl -fSLk "${ADDON_URL}" -o "extension.xpi" EXT_ID="$(unzip -p "extension.xpi" "manifest.json" | grep "\"id\"")" EXT_ID="${EXT_ID%\"*}" EXT_ID="${EXT_ID##*\"}" mv -fv "extension.xpi" "${EXT_DIR}/${EXT_ID}.xpi" done } install_extensions