-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbrave
executable file
·78 lines (66 loc) · 2.21 KB
/
brave
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
#!/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