Guest User

Firefox startpage script for /wg/

a guest
Sep 27th, 2025
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.43 KB | Source Code | 0 0
  1. #!/bin/bash
  2.  
  3. set -e
  4.  
  5. me=$(basename "$0")
  6.  
  7. # Making sure the script has root privileges
  8. if [ $EUID -ne 0 ]
  9. then
  10.     echo "$me: Setting a startpage requires root privileges."
  11.     exec sudo "$0" "$@"
  12. fi
  13.  
  14. firefox_dir="/usr/lib/firefox-esr"
  15. firefox_autoconfig="$firefox_dir/defaults/pref/autoconfig.js"
  16. firefox_startpage_config="$firefox_dir/startpage_config.js"
  17.  
  18. if [ $# -eq 0 ]
  19. then
  20.     echo "$me: No startpage specified."
  21.     exit 1
  22. elif [ $# -gt 1 ]
  23. then
  24.     echo "$me: Avoiding all arguments except the first one."
  25. fi
  26.  
  27. startpage="$(realpath $1)"
  28.  
  29. if [ ! -f "$startpage" ]
  30. then
  31.     echo "$me: Cannot set startpage '$startpage': No such file exists."
  32.     exit 1
  33. fi
  34.  
  35. cat << EOF > $firefox_autoconfig
  36. pref("general.config.filename", "$(basename $firefox_startpage_config)");
  37. pref("general.config.obscure_value", 0);
  38. EOF
  39.  
  40. echo "$me: Successfully written to '$firefox_autoconfig'."
  41.  
  42. cat << EOF > $firefox_startpage_config
  43. const { classes:Cc, interfaces:Ci, utils:Cu } = Components;
  44.  
  45. const startpageURL = "file://$startpage";
  46.  
  47. try
  48. {
  49.     ChromeUtils.defineESModuleGetters(this, {
  50.         AboutNewTab: "resource:///modules/AboutNewTab.sys.mjs",
  51.         HomePage: "resource:///modules/HomePage.sys.mjs"
  52.     });
  53.  
  54.     AboutNewTab.newTabURL = startpageURL;
  55.     HomePage.safeSet(startpageURL);
  56. }
  57. catch(e)
  58. {
  59.     Cu.reportError(e);
  60. }
  61. EOF
  62.  
  63. echo "$me: Successfully written to '$firefox_startpage_config'."
  64.  
  65. echo "$me: Successfully set startpage as '$startpage'."
Advertisement
Add Comment
Please, Sign In to add comment