Add a script for installing brave
This commit is contained in:
parent
43c3bbef27
commit
efc26f2fe4
1 changed files with 57 additions and 0 deletions
57
scripts/PopOS/software/brave.sh
Normal file
57
scripts/PopOS/software/brave.sh
Normal file
|
@ -0,0 +1,57 @@
|
|||
#!/bin/bash
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
exec sudo bash "$0" "$USER"
|
||||
fi
|
||||
|
||||
# Prepare
|
||||
apt install -y wget unzip jq apt-transport-https curl
|
||||
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | tee /etc/apt/sources.list.d/brave-browser-release.list
|
||||
|
||||
# Install Brave
|
||||
apt update
|
||||
apt install -y brave-browser
|
||||
|
||||
# Download and extract `youtube-music-dl`
|
||||
archiveName=$(sudo -u $1 mktemp)
|
||||
sudo -u $1 wget https://github.com/dougppaz/youtube-music-dl/releases/download/v1.2.1/youtube-music-dl.zip -O $archiveName
|
||||
extensionName=youtube-music-dl
|
||||
|
||||
contextRoot=$(sudo -u $1 mktemp -d)
|
||||
extensionDir=$contextRoot/$extensionName
|
||||
keyFile=$extensionDir.pem
|
||||
extensionFile=$extensionDir.crx
|
||||
manifestFile=$extensionDir/manifest.json
|
||||
|
||||
extensionRoot=/usr/share/brave-extensions
|
||||
destination=$extensionRoot/$extensionName.crx
|
||||
|
||||
# Prepare extension
|
||||
mkdir -p $extensionRoot
|
||||
sudo -u $1 unzip $archiveName -d $extensionDir
|
||||
sudo -u $1 brave-browser --pack-extension=$extensionDir
|
||||
|
||||
# Tamper manifest file
|
||||
manifest="$(cat $manifestFile | jq ". + {key: "'"'"$(openssl rsa -in $keyFile -pubout -outform DER | openssl base64 -A)"'"'"}")"
|
||||
manifest="$(echo $manifest | jq ".background.persistent = false")"
|
||||
echo $manifest | sudo -u $1 tee $manifestFile
|
||||
|
||||
# Pack extension
|
||||
extensionID=$(openssl rsa -in $keyFile -pubout -outform DER | sha256sum | head -c32 | tr 0-9a-f a-p)
|
||||
extensionVersion=$(cat $manifestFile | jq -r '.version')
|
||||
sudo -u $1 brave-browser --pack-extension=$extensionDir --pack-extension-key=$keyFile
|
||||
|
||||
# Install extension and preinstall it
|
||||
cp $extensionFile $extensionRoot
|
||||
configRoot=/opt/brave.com/brave/extensions/
|
||||
rm -rf $contextRoot
|
||||
chmod -R a+rx $extensionRoot
|
||||
chmod -R u+w $extensionRoot
|
||||
mkdir -p $configRoot
|
||||
{
|
||||
echo "{"
|
||||
echo ' "external_crx": "'"$destination"'",'
|
||||
echo ' "external_version": "'"$extensionVersion"'"'
|
||||
echo "}"
|
||||
} | tee $configRoot/$extensionID.json
|
Loading…
Reference in a new issue