firefoxUpdateProfilesUserJs.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/sh
  2. # fail if any commands fails
  3. set -e
  4. # debug log
  5. #set -x
  6. apply_to_profiles() {
  7. if [ -n "$(ls ~/.mozilla/firefox/*.default* 2>/dev/null)" ];then
  8. for dir in ~/.mozilla/firefox/*.default*; do
  9. cp -v user.js.new "$dir"
  10. echo "Custom settings applied for profile in ${dir}."
  11. done
  12. fi
  13. if [ -n "$(ls ~/snap/firefox/common/.mozilla/firefox/*.default* 2>/dev/null)" ];then
  14. for dir in ~/snap/firefox/common/.mozilla/firefox/*.default*; do
  15. cp -v user.js.new "$dir"
  16. echo "Custom settings applied for profile in ${dir}."
  17. done
  18. fi
  19. }
  20. apply_custom_settings() {
  21. # apply custom settings
  22. cp -v user.js user.js.new
  23. {
  24. echo ' user_pref("media.peerconnection.enabled", false);'
  25. echo ' user_pref("media.navigator.enabled", false);'
  26. echo ' user_pref("extensions.pocket.enabled", false);'
  27. echo ' user_pref("privacy.query_stripping.enabled", true);'
  28. echo ' user_pref("privacy.trackingprotection.enabled", true);'
  29. echo ' user_pref("browser.safebrowsing.malware.enabled", false);'
  30. echo ' user_pref("browser.safebrowsing.phishing.enabled", false);'
  31. echo ' user_pref("javascript.options.wasm", false);'
  32. echo ''
  33. echo ' user_pref("browser.display.background_color", "#323232"'
  34. echo ''
  35. echo ' user_pref("browser.startup.homepage", "about:blank");'
  36. echo ' user_pref("security.fileuri.strict_origin_policy", false);'
  37. }>>user.js.new
  38. # Encrypted DNS - https://github.com/curl/curl/wiki/DNS-over-HTTPS#publicly-available-servers
  39. #{
  40. # echo ' user_pref("network.trr.mode", 3);'
  41. # echo ' user_pref("network.trr.uri", "https://dns.quad9.net/dns-query");'
  42. #}>>user.js.new
  43. }
  44. dir=user.js
  45. repo="https://github.com/arkenfox/${dir}.git"
  46. mkdir -p ~/src
  47. cd ~/src || return
  48. if [ ! -d "$dir" ]; then
  49. git clone $repo
  50. cd "$dir" || return
  51. apply_custom_settings
  52. apply_to_profiles
  53. else
  54. cd "$dir" || return
  55. git fetch
  56. LOCAL=$(git rev-parse HEAD)
  57. REMOTE=$(git rev-parse @{u})
  58. if [ ! $LOCAL = $REMOTE ]; then
  59. pwd
  60. echo "Need to pull"
  61. git pull
  62. apply_custom_settings
  63. apply_to_profiles
  64. else
  65. echo "no update needed"
  66. fi
  67. fi