summaryrefslogtreecommitdiff
path: root/brave-profiles
blob: 31f805a1893ad053498764a307b3e05a884089ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash
##
#*****************************************************************
#     brave-profiles - equk.co.uk
#*****************************************************************
#
# This script was created to simplify and standardize brave configuration
# across profiles.
#
##
# equk 2018 - equk.co.uk
##
# License: MIT (LICENSE file should be included with script)

## variables

profile_name=${0##*/}
profile_folder="$HOME/.brave_profiles/$profile_name"
brave_bin="/usr/bin/brave"
brave_flags="--ssl-version-min=tls1 --enable-smooth-scrolling --enable-tab-audio-muting"

# color / colour
blue="\033[1;34m"
green="\033[1;32m"
red="\033[1;31m"
bold="\033[1;37m"
reset="\033[0m"

# CLI feedback
cl_error="[$red ERROR $reset]"
gplus="[$green+$reset]"
bplus="[$blue+$reset]"

# Check if running within X Window Session
if [ "x$DISPLAY" = "x" ]; then
    echo "must be run within the X Window System." >&2
    echo "Exiting." >&2
    exit 1
fi

# Check for root ( quit if root :x )
if [ $(whoami) = "root" ]; then
    echo -e "$cl_error do not run this script as root"
    exit 1
fi

# Check if user namespaces is enabled (for sandbox)
# Note: this is to enforce user namespaces for sandbox
if [[ ! (-r /proc/sys/kernel/unprivileged_userns_clone && $(</proc/sys/kernel/unprivileged_userns_clone) == 1 && -n $(zcat /proc/config.gz | grep CONFIG_USER_NS=y)) ]]; then
    echo "User namespaces are not detected as enabled on your system, this is required for sandbox"
    exit 1
fi

# Check if jq installed
if ! [ -x "$(command -v jq)" ]; then
  echo -e "$cl_error jq not installed"
  echo -e "$cl_error exiting ...."
  exit 1
fi

# Create profile directory if it doesn't exist
if [[ ! -e $profile_folder ]]; then
    echo -e "$gplus creating profile folder: $profile_folder"
    mkdir -p $profile_folder
fi

# Check for Google Account
if [[ -r $profile_folder/Default/Preferences ]]; then
    result=$(cat $profile_folder/Default/Preferences | jq ".gaia_cookie")
    if [ "$result" != "null" ]; then
      echo -e "$gplus Google Account Detected!"
      notify-send "Brave Profile $profile_name Started" "This Profile Has An Associated Google Account" -i brave-desktop
    fi
fi

# Execute brave
exec $brave_bin "$@" --user-data-dir=$profile_folder $brave_flags