Firefox: Sæt startside(r)

Source: Download script

Last Updated: 4. December 2024 by Agnete Moos (agms@sonderborg.dk)

Parameters:

Navn Type Standardværdi Påkrævet
Click to see the source code
#!/bin/bash

: << 'COMMENT'
Policy-script developed by Magenta ApS for Aarhus Municipal.
Learn more about Firefox "Policy Names" here:
https://github.com/mozilla/policy-templates/blob/master/README.md
It's only possible to have ONE policy-file. In the future this script 
should have to evolve to be a more dynamic solution if we want to be 
able to, e.g. use the same script accross machines and handpick which
Policies we want to use. Until then there will be set some default static
Policies with OS2borgerPC in mind.  
Author: Heini L. Ovason
COMMENT

set -x

if get_os2borgerpc_config os2_product | grep --quiet kiosk; then
  echo "Dette script er ikke designet til at blive anvendt på en kiosk-maskine."
  exit 1
fi

STARTPAGE="$1"
ADDITIONAL_PAGES="$2"

POLICY_DIR="/etc/firefox/policies"
POLICY_FILE="policies.json"

if [ -z "$STARTPAGE" ]; then
  echo "WARNING: Missing  argument. Not able to set Firefox startpage."
  exit 1
fi

if [ ! -d "$POLICY_DIR" ]; then
  mkdir -p "$POLICY_DIR";
fi

PAGES_STRING=""
if [ -n "$ADDITIONAL_PAGES" ]; then
  IFS='|' read -ra PAGES_ARRAY <<< "$ADDITIONAL_PAGES"

  PAGES_STRING="\"Additional\": [" # start array-string
  for PAGE in "${PAGES_ARRAY[@]}"
  do
      PAGES_STRING+="\"$PAGE\","
  done
  PAGES_STRING=${PAGES_STRING::-1} # remove comma at end of list
  PAGES_STRING+="]," # finish array-string
fi

cat << EOF > "$POLICY_DIR/$POLICY_FILE"
{
  "policies": {
    "Homepage": {
      "URL": "$STARTPAGE",
      "Locked": true,
      $PAGES_STRING
      "StartPage": "homepage"
    },
    "DisableFirefoxAccounts": true,
    "InstallAddonsPermission": {
      "Default": false
    },
    "OverrideFirstRunPage": "",
    "OverridePostUpdatePage": "",
    "Preferences": {
      "datareporting.policy.dataSubmissionPolicyBypassNotification": true
    },
    "BlockAboutAddons": true,
	  "BlockAboutConfig": true,
	  "BlockAboutProfiles": true,
	  "BlockAboutSupport": true,
    "DownloadDirectory": "/home/user/Hentet",
    "PromptForDownloadLocation": false,
	  "DisableFirefoxAccounts": true,
	  "DisableFormHistory": true,
	  "DisableProfileImport": true,
    "OfferToSaveLogins": false,
	  "OfferToSaveLoginsDefault": false,
	  "PasswordManagerEnabled": false,
	  "SanitizeOnShutdown": {
      "Cache": true,
      "Cookies": true,
      "Downloads": false,
      "FormData": true,
      "History": true,
      "Sessions": true,
      "SiteSettings": true,
      "OfflineApps": true,
      "Locked": true
    },
    "SearchEngines": {
      "PreventInstalls": true
    },
    "EnableTrackingProtection": {
      "Value": true,
      "Locked": true,
      "Cryptomining": true,
      "Fingerprinting": true
    },
    "DisableDeveloperTools": true
  }
}

EOF

# Attempting to remove policy from former standard location.
OLD_POLICY="/usr/lib/firefox/distribution/policies.json"
if [ -f "$OLD_POLICY" ]; then
    rm -f "$OLD_POLICY"
fi

Beskrivelse

Udviklet og testet i samarbejde med Aarhus kommune.

Scriptet fjerner alle default startsider (inkl. fanen “Firefox Privacy Notice”), som køres hver gang Firefox startes for første gang i en given ny bruger-session.

Scriptet implementerer policies, der bla.a. deaktiverer slut-brugers’ mulighed for at installere udvidelser samt at logge på(browser sync). Ydermere deaktiveres lagring af historik og cache, gem-password, tracking, m.m.

For mere info de konkrete implementerede policies henvises til at læse scriptet, hvor man kan krydsrefere med Mozillas dokumentation her: https://github.com/mozilla/policy-templates

Udover at sætte startsiden kan man også tilføje en liste yderligere ekstra faner man kunne tænke sig. Læs mere forneden. Dette script er blevet testet og virker på Ubuntu 22.04.

Parametre

Startside-URL : tekststreng
Ekstra faneblade : tekststreng

Eksempel med startside plus 1 ekstra fane

Startside-URL: https://borger.dk
Ekstra faneblade: https://info.jobnet.dk/

Eksempel med startside plus 3 ekstra faner

URL’erne separes med | som herunder.

Ekstra faneblade : https://info.jobnet.dk/|https://skat.dk|https://www.sundhed.dk/