Skip to content

Commit

Permalink
Sync with Phoenix 20241211-1
Browse files Browse the repository at this point in the history
Signed-off-by: celenity <[email protected]>
  • Loading branch information
celenityy committed Dec 11, 2024
1 parent 278b1f9 commit b54dda8
Show file tree
Hide file tree
Showing 20 changed files with 2,501 additions and 203 deletions.
65 changes: 8 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,39 +37,14 @@ Dove offers easy to use install scripts for various platforms. All you have to d

## 🐧GNU-Linux

![Gnulove](assets/Gnulove.jpg)

> [!IMPORTANT]
> **⚠️ Thunderbird Flatpak & Snap packages are currently not supported.**
**<details><summary>Arch</summary>** <a name="arch"></a>

**yay**:

```sh
bash -c "$(curl -fsSL https://dove.celenity.dev/arch_install_yay.sh)"
```

**paru**:

```sh
bash -c "$(curl -fsSL https://dove.celenity.dev/arch_install_paru.sh)"
```

</details>

**<details><summary>Debian/Ubuntu & Derivatives</summary>** <a name="debian"></a>

```sh
sudo bash -c "$(curl -fsSL https://dove.celenity.dev/debian_install.sh)"
```

</details>

**<details><summary>Fedora</summary>** <a name="fedora"></a>
> [!NOTE]
> Dove only supports 39, 40 and 41 versions of Fedora.
```sh
sudo bash -c "$(curl -fsSL https://dove.celenity.dev/fedora_install.sh)"
sudo bash -c "$(curl -fsSL https://dove.celenity.dev/install.sh)"
```

</details>
Expand All @@ -82,7 +57,7 @@ ___
> ⚠️ **You must have [Homebrew](https://brew.sh/) installed**
```sh
bash -c "$(curl -fsSL https://dove.celenity.dev/macos_install.sh)"
bash -c "$(curl -fsSL https://dove.celenity.dev/install.sh)"
```
___

Expand All @@ -100,33 +75,8 @@ If Dove isn't right for you - no worries! We also have easy to use uninstall scr

## 🐧GNU-Linux

**<details><summary>Arch</summary>** <a name="arch-1"></a>

**yay**:

```sh
bash -c "$(curl -fsSL https://dove.celenity.dev/arch_uninstall_yay.sh)"
```

**paru**:

```sh
bash -c "$(curl -fsSL https://dove.celenity.dev/arch_uninstall_paru.sh)"
```
</details>

**<details><summary>Debian/Ubuntu & Derivatives</summary>** <a name="debian-1"></a>

```sh
sudo bash -c "$(curl -fsSL https://dove.celenity.dev/debian_uninstall.sh)"
```

</details>

**<details><summary>Fedora</summary>** <a name="fedora-1"></a>

```sh
sudo bash -c "$(curl -fsSL https://dove.celenity.dev/fedora_uninstall.sh)"
sudo bash -c "$(curl -fsSL https://dove.celenity.dev/uninstall.sh)"
```

</details>
Expand All @@ -136,13 +86,14 @@ ___
## 🍎macOS

```sh
bash -c "$(curl -fsSL https://dove.celenity.dev/macos_uninstall.sh)"
bash -c "$(curl -fsSL https://dove.celenity.dev/uninstall.sh)"
```

___

# 📛Manual Mode *(Not recommended)*

By default, Dove leverages Mozilla's [Centralized Management](https://support.mozilla.org/kb/customizing-firefox-using-autoconfig#w_centralized-management) feature to automatically update its configurations. This allows fast, easy updates & fixes as needed, regardless of your platform. Dove's Policies are updated separately, through the [AUR](https://aur.archlinux.org/packages/dove-policies) on Arch Linux, [COPR](https://copr.fedorainfracloud.org/coprs/dove/phoenix-policies/) on Fedora, the [MPR](https://mpr.makedeb.org/packages/dove-policies) on Debian/Ubuntu/Derivatives, & our [Homebrew](https://brew.sh/) [Tap](https://codeberg.org/celenity/Dove-Policies-macOS) on macOS.
By default, Dove leverages Mozilla's [Centralized Management](https://support.mozilla.org/kb/customizing-firefox-using-autoconfig#w_centralized-management) feature to automatically update its configurations. This allows fast, easy updates & fixes as needed, regardless of your platform. Dove's Policies are updated separately, through the [AUR](https://aur.archlinux.org/packages/dove-policies) on Arch Linux, [COPR](https://copr.fedorainfracloud.org/coprs/dove/phoenix-policies/) on Fedora, the [MPR](https://mpr.makedeb.org/packages/dove-policies) on Debian/Ubuntu/Derivatives, & our [Homebrew](https://brew.sh/) [Tap](https://codeberg.org/celenity/tap) on macOS.

> [!CAUTION]
>**This is typically set-up & handled through our install scripts, and this is the set-up we would recommend most users stick to.**
Expand Down
Binary file removed assets/Gnulove.jpg
Binary file not shown.
42 changes: 33 additions & 9 deletions base.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -504,7 +504,16 @@ defaultPref("browser.firefox-view.virtual-list.enabled", false);
defaultPref("browser.tabs.firefox-view-newIcon", false);
defaultPref("browser.tabs.firefox-view-next", false);

// Set homepage to about:home, this is typically default, but overriden by some distro-packaged versions of Firefox like Fedora
/// Disable Mozilla Web Compatibility Reporter
// Harmless from a privacy perspective - We just don't want to waste Mozilla's time due to our custom set-up...
// Also acts as attack surface reduction & a potential performance improvement

lockPref("extensions.webcompat-reporter.enabled", false); // [DEFAULT]
lockPref("extensions.webcompat-reporter.newIssueEndpoint", "");
lockPref("ui.new-webcompat-reporter.enabled", false); // https://searchfox.org/mozilla-central/source/toolkit/components/nimbus/FeatureManifest.yaml#3604
lockPref("ui.new-webcompat-reporter.send-more-info-link", false); // [DEFAULT]

/// Set homepage to about:home, this is typically default, but overriden by some distro-packaged versions of Firefox like Fedora

defaultPref("browser.startup.homepage", "about:home"); // [DEFAULT]

Expand Down Expand Up @@ -672,6 +681,7 @@ lockPref("network.security.ports.banned.override", ""); // [DEFAULT]
/// We also set "PostQuantumKeyAgreementEnabled" in policies
// https://mozilla.github.io/policy-templates/#postquantumkeyagreementenabled

lockPref("media.webrtc.enable_pq_dtls", true);
lockPref("network.http.http3.enable_kyber", true);
lockPref("security.tls.enable_kyber", true);

Expand All @@ -698,10 +708,12 @@ lockPref("network.connectivity-service.IPv6.url", "");
// We also set "UseProxyForDNS" in policies
// https://mozilla.github.io/policy-templates/#proxy

lockPref("network.file.disable_unc_paths", true);
lockPref("network.gio.supported-protocols", "");
lockPref("network.proxy.socks_remote_dns", true);
lockPref("network.proxy.socks5_remote_dns", true);
defaultPref("network.file.disable_unc_paths", true);
defaultPref("network.gio.supported-protocols", "");
defaultPref("network.proxy.allow_bypass", false);
defaultPref("network.proxy.failover_direct", false);
defaultPref("network.proxy.socks_remote_dns", true);
defaultPref("network.proxy.socks5_remote_dns", true);

// 006 DNS

Expand Down Expand Up @@ -1131,7 +1143,12 @@ lockPref("browser.display.use_system_colors", false);

lockPref("browser.contentblocking.category", "strict");

//. Enforce container isolation of about:home content
/// Set LibreWolf/forks to use our custom enhanced uBlock Origin config by default
// We do not support LibreWolf at the moment, but this will be beneficial if that ever changes in the future.

defaultPref("librewolf.uBO.assetsBootstrapLocation", "https://phoenix.celenity.dev/uBlock/assets.json");

/// Enforce container isolation of about:home content

lockPref("browser.discovery.containers.enabled", true); // [DEFAULT]

Expand Down Expand Up @@ -1487,15 +1504,22 @@ lockPref("browser.shell.skipDefaultBrowserCheckOnFirstRun", true);

lockPref("media.webspeech.synth.dont_notify_on_error", true);

// Disable weather on Home by default
/// Disable weather on Home by default

defaultPref("browser.newtabpage.activity-stream.showWeather", false);

// Prevent websites from hijacking keyboard shortcuts by default
// Can be overriden per site as needed
/// Prevent websites from hijacking keyboard shortcuts by default
/// Can be overriden per site as needed

defaultPref("permissions.default.shortcuts", 2);

/// Disable Firefox "Reset/Refresh Profile" prompt
/// This could cause Phoenix users serious issues, especially those using user.js files
/// We also configure "DisableProfileRefresh" in policies
// https://mozilla.github.io/policy-templates/#disableprofilerefresh

lockPref("browser.disableResetPrompt", true);

// 028 PERFORMANCE
// A lot of these taken from https://github.com/yokoffing/Betterfox/blob/main/Fastfox.js

Expand Down
74 changes: 74 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#!/bin/bash

## Colours
blue='\e[1;34m';
brown='\e[0;33m';
coloroff='\e[0m'; # Colour off
cyan='\e[1;36m';
gray='\e[1;30m';
green='\e[0;32m';
purple='\e[0;35m';
red='\e[1;31m';

## Download and run script
install_dove() {
wget -nv $1
echo
echo
sudo bash $2
}

## Downloaded files save in /tmp
cd /tmp

## Scripts are here
URL="https://dove.celenity.dev/installer_scripts"

## Scripts file
SCRIPT=("arch_install_paru.sh"
"arch_install_yay.sh"
"debian_install.sh"
"fedora_install.sh"
"macos_install.sh")

echo -e "${purple}Welcome to the Dove installer!${coloroff}";
echo -e "";
echo -e "${brown}To begin, please choose your platform.${coloroff}";
echo -e "${brown}Your options are:${coloroff}";
echo -e "${cyan}arch${coloroff} - ${green}Arch Linux (AUR)${coloroff}";
echo -e "${red}debian${coloroff} - ${green}Debian GNU/Linux (& Derivatives, such as Ubuntu)${coloroff}";
echo -e "${blue}fedora${coloroff} - ${green}Fedora Linux${coloroff}";
echo -e "${gray}macOS${coloroff} - ${green}macOS${coloroff}";
read -p 'Enter your selection: ' DISTRO

case ${DISTRO} in

"arch" | "Arch" | "ARCH")
echo -e ""
echo -e "${brown}Please choose your AUR helper.${coloroff}";
echo -e "${brown}Your options are:${coloroff}";
echo -e "${blue}paru${coloroff} - ${green}Pure${coloroff}";
echo -e "${red}yay${coloroff} - ${green}Yay (Yet Another Yogurt)${coloroff}";
read -p 'Enter your selection: ' HELPER
case ${HELPER} in
"paru" | "Paru" | "PARU")
install_dove ${URL}/${SCRIPT[0]} ${SCRIPT[0]}
;;
"yay" | "Yay" | "YAY")
install_dove ${URL}/${SCRIPT[1]} ${SCRIPT[1]}
;;
esac
;;

"debian" | "Debian" | "DEBIAN")
install_dove ${URL}/${SCRIPT[2]} ${SCRIPT[2]}
;;

"fedora" | "Fedora" | "FEDORA")
install_dove ${URL}/${SCRIPT[3]} ${SCRIPT[3]}
;;

"macOS" | "macos" | "MacOS" | "MACOS")
install_dove ${URL}/${SCRIPT[4]} ${SCRIPT[4]}
;;
esac
12 changes: 5 additions & 7 deletions arch_install_paru.sh → installer_scripts/arch_install_paru.sh
Original file line number Diff line number Diff line change
@@ -1,40 +1,41 @@
#! /usr/bin/env bash


## Downloaded files save in /tmp for moving
cd /tmp


## Functions
echo_red_text() {
echo -e "\033[31m$1\033[0m"
}


echo_green_text() {
echo -e "\033[32m$1\033[0m"
}

error_fn() {
echo
echo -e "\033[31mSomething went wrong! The script failed.\033[0m"
echo -e "\033[31mPlease report this (with the output message) to https://dove.celenity.dev/issues\033[0m"
echo
exit 1
}


## Install Dove
echo_green_text "Downloading dove.cfg..."
wget -nv https://dove.celenity.dev/dove.cfg || error_fn
echo


echo_green_text "Moving dove.cfg to /usr/lib/thunderbird/dove.cfg..."
sudo mv -v mozilla.cfg /usr/lib/firefox/thunderbird.cfg || error_fn
echo


echo_green_text "Downloading dove.js..."
wget -nv https://dove.celenity.dev/defaults/pref/dove.js || error_fn
echo


echo_green_text "Creating /etc/thunderbird/defaults/pref directory..."
sudo mkdir -v -p /etc/thunderbird/defaults/pref || error_fn
echo
Expand All @@ -43,15 +44,12 @@ echo_green_text "Changing permissions of /etc/thunderbird/defaults/pref to 655..
sudo chmod -v 655 /etc/thunderbird/defaults/pref || error_fn
echo


echo_green_text "Moving dove.js to /etc/thunderbird/defaults/pref/dove.js..."
sudo mv -v dove.js /etc/thunderbird/defaults/pref/dove.js || error_fn
echo


echo_green_text "Installing dove-policies from the AUR..."
paru -S dove-policies || error_fn
echo


echo_green_text "All done. Congratulations, you've successfully installed Dove.\nEnjoy :)\n"
12 changes: 5 additions & 7 deletions arch_install_yay.sh → installer_scripts/arch_install_yay.sh
Original file line number Diff line number Diff line change
@@ -1,40 +1,41 @@
#! /usr/bin/env bash


## Downloaded files save in /tmp for moving
cd /tmp


## Functions
echo_red_text() {
echo -e "\033[31m$1\033[0m"
}


echo_green_text() {
echo -e "\033[32m$1\033[0m"
}

error_fn() {
echo
echo -e "\033[31mSomething went wrong! The script failed.\033[0m"
echo -e "\033[31mPlease report this (with the output message) to https://dove.celenity.dev/issues\033[0m"
echo
exit 1
}


## Install Dove
echo_green_text "Downloading dove.cfg..."
wget -nv https://dove.celenity.dev/dove.cfg || error_fn
echo


echo_green_text "Moving dove.cfg to /usr/lib/thunderbird/dove.cfg..."
sudo mv -v dove.cfg /usr/lib/thunderbird/dove.cfg || error_fn
echo


echo_green_text "Downloading dove.js..."
wget -nv https://dove.celenity.dev/defaults/pref/dove.js || error_fn
echo


echo_green_text "Creating /etc/thunderbird/defaults/pref directory..."
sudo mkdir -v -p /etc/thunderbird/defaults/pref || error_fn
echo
Expand All @@ -43,15 +44,12 @@ echo_green_text "Changing permissions of /etc/thunderbird/defaults/pref to 655..
sudo chmod -v 655 /etc/thunderbird/defaults/pref || error_fn
echo


echo_green_text "Moving dove.js to /etc/thunderbird/defaults/pref/dove.js..."
sudo mv -v dove.js /etc/thunderbird/defaults/pref/dove.js || error_fn
echo


echo_green_text "Installing dove-policies from the AUR..."
yay -S dove-policies || error_fn
echo


echo_green_text "All done. Congratulations, you've successfully installed Dove.\nEnjoy :)\n"
Loading

0 comments on commit b54dda8

Please sign in to comment.