commit 36b00846cb65feca48ef3b2507458e56d73dea22 parent 283df41486d8f6f613649697bbddf2bbdb5940cc Author: awy <awy@awy.one> Date: Sun, 2 Nov 2025 21:57:37 +0300 icecat Diffstat:
| A | configure_icecat.sh | | | 52 | ++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 52 insertions(+), 0 deletions(-)
diff --git a/configure_icecat.sh b/configure_icecat.sh @@ -0,0 +1,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