#!/bin/sh set -e [ -n "$DEBUG" ] && set -x container=${container:-} [ "${container}" = "firejail" ] && exec xdg-open "$@" bin=${FIREFOX_BIN:-/usr/bin/firefox} # enable touch device support export MOZ_USE_XINPUT2=1 # user dbus remote exclusively export MOZ_DBUS_REMOTE=1 # enable webrender export MOZ_WEBRENDER=1 export MOZ_ACCELERATED=1 case "$(basename "$0")" in firefox) export MOZ_APP_REMOTINGNAME=firefox exec "${bin}" \ --name "$MOZ_APP_REMOTINGNAME" \ --profile "$HOME"/.mozilla/firefox/wr7p23up.default-nightly \ "$@" ;; firefox-private) exec "${bin}" --profile "$HOME"/.mozilla/firefox/wr7p23up.default-nightly \ "$@" --private-window ;; firefox-clean) exec firejail \ --profile=/etc/firejail/firefox.profile \ --env=MOZ_APP_REMOTINGNAME="firefox-clean" \ --tmpfs="$HOME"/.mozilla \ -- \ "${bin}" \ --name "firefox-clean" \ --new-instance "$@" ;; workfox) export MOZ_APP_REMOTINGNAME=workfox exec "${bin}" \ --name "$MOZ_APP_REMOTINGNAME" \ --profile "$HOME"/.mozilla/firefox/d2ps1x6l.work \ "$@" ;; kioskfox) app=$1 shift case "$app" in zoom) if [ -n "$1" ]; then host=$(printf "%s" "$1" | grep -Eo '://[^\/]*') confno=$(printf "%s" "$1" | sed 's/.*confno=\([^&]*\).*/\1/') shift set -- "https${host}/wc/join/${confno}" fi ;; whatsapp) # https://color.firefox.com/?theme=XQAAAAICAQAAAAAAAABBKYhm849SCia2CaaEGccwS-xMDPrv2Sw36BvvesiZbj4MJ12mRWeKADFM-hr2jOzkr-SP8ziWLgA-sU5VJJpVDYC54fxJIVZ3zaPV5PoeUH-LmLV1RtcMTLJOv3wzfVrRe8GwxUm2I0O9zwNO9isex2sWSRDukbn_ydCIeQGF_9TK0iioVo463__mZyJg set -- "https://web.whatsapp.com" ;; init) app=$1 if [ -z "$app" ]; then printf "usage: kioskfox init [appname]\nn" exit 1 fi cp -r "$HOME/.mozilla/firefox/kioskfox.init" "$HOME/.mozilla/firefox/kioskfox.$app" printf "kioskfox: %s initialized\n" "$app" printf "kioskfox: finish setup by editing the kioskfox script\n" printf "\n" exit 0 ;; -h | --help | help | ?) printf "usage: kioskfox [appname] [arguments...]\n\n" exit 2 ;; esac apphome="$HOME/.mozilla/firefox/kioskfox.$app"/ if [ ! -d "$apphome" ]; then printf "kioskfox: %s doesn't exist.\n" "$apphome" notify-send "kioskfox" "$apphome doesn't exist." exit 1 fi exec firejail \ --profile=/etc/firejail/firefox.profile \ --private="$apphome" \ --env=MOZ_APP_REMOTINGNAME="$app" \ -- \ "${bin}" \ --name "$app" \ --profile "$HOME"/.mozilla/firefox/deadbeef.default \ "$@" ;; esac