Duvida sobre arquivo na AUR

Queria saber se esse arquivo é confiável, alguém pode me dizer do q se trata?

#!/usr/bin/env bash
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
BRAVE_USE_FLASH_IF_AVAILABLE="${BRAVE_USE_FLASH_IF_AVAILABLE:-true}"

# Allow users to override command-line options
USER_FLAGS_FILE="$XDG_CONFIG_HOME/brave-flags.conf"
if [[ -f $USER_FLAGS_FILE ]]; then
   USER_FLAGS="$(cat $USER_FLAGS_FILE | sed 's/#.*//')"
fi

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
    >&2 echo "User namespaces are not detected as enabled on your system, Brave will run with the sandbox disabled"
    SANDBOX_FLAG="--no-sandbox"
fi

BRAVE_PEPPER_FLASH_SO=${BRAVE_PEPPER_FLASH_SO:-/usr/lib/PepperFlash/libpepflashplayer.so}
if [[ -f $BRAVE_PEPPER_FLASH_SO && $BRAVE_USE_FLASH_IF_AVAILABLE == "true" ]]; then
   BRAVE_PEPPER_FLASH_VERSION=${BRAVE_PEPPER_FLASH_VERSION:-$(LANG=C pacman -Qi pepper-flash | grep Version | sed 's/.*: //; s/\-[^-]*$//')}
   PEPPER_FLASH_FLAG="--ppapi-flash-path=$BRAVE_PEPPER_FLASH_SO --ppapi-flash-version=$BRAVE_PEPPER_FLASH_VERSION"
fi

# OR true included because Brave currently segfaults when a second 
# window is opened from running the brave binary.
# GH Issue: https://github.com/brave/brave-browser/issues/4142
# NOTE: Replace with an exec call once we don't have to work around
# this bug by having the browser be a subprocess of this script
/usr/lib/brave-bin/brave "$@" $SANDBOX_FLAG $PEPPER_FLASH_FLAG $USER_FLAGS || true

https://aur.archlinux.org/cgit/aur.git/tree/brave-bin.sh?h=brave-bin
2 curtidas

Sim

Passo a passo:

Caso a variável XDG_CONFIG_HOME não estiver definida, defina como $HOME/.config

Caso a variável BRAVE_USE_FLASH_IF_AVAILABLE não estiver definida, defina como -true
Ou seja, tá dizendo que o Brave vai usar o plugin do Flash se ele estiver disponível

Define uma variável chamada USER_FLAGS_FILE apontando para um arquivo, isso vai servir pra você poder adicionar opções de linha de comando de forma persistente nesse arquivo ao invés de precisar editar o arquivo .desktop

Verifica se o arquivo existe

Carrega o arquivo citado anteriormente (cat $USER_FLAGS_FILE) sem o caractere “#” e tudo que estiver depois dele (sed 's/#.*//') isso é padraõ de arquivos de configuração nos sistemas UNIX

Verifica se o kernel permite que usuários comuns pode criar sandboxes usando namespaces não privilegiados, se não, define a variável SANDBOX_FLAG como --no-sandbox, ou seja se o seu kernel não permitir o Brave não vai tentar criar uma sandbox

Caso a variável BRAVE_PEPPER_FLASH_SO não estiver definida, defina como -/usr/lib/PepperFlash/libpepflashplayer.so, essa variável diz pro Brave onde o plugin do Flash está localizado

Verifica se o plugin do Flash existe e se está definido para que ele use o plugin do flash, se sim:

caso a variável BRAVE_PEPPER_FLASH_VERSION, que por sua vez armazena a versão do plugin do flash, não estiver definida, ele usa usa o pacman pra obter a versão (LANG=C pacman -Qi pepper-flash | grep Version | sed 's/.*: //; s/\-[^-]*$//') e define a variavel

Define a variavel PEPPER_FLASH_FLAG como --ppapi-flash-path=[onde o plugin do flash está localizado] --ppapi-flash-version=[versão do plugin flash]

Por fim, faz a chamada do brave com:

/usr/lib/brave-bin/brave "$@" $SANDBOX_FLAG $PEPPER_FLASH_FLAG $USER_FLAGS || true

Como eu expliquei cada variável eu penso que deu pra pegar a lógica, o único detalhe que falta é o || true no final dessa linha, basicamente ele diz:

Se a execução do brave falhar, termine como se estivesse executado com sucesso

Isso é uma “gambiarra” pra fazer o brave funcionar com o xdg-open

7 curtidas

@Natanael.755 Muito obrigado pela explicação. O q é xdg-open?

2 curtidas

O xdg-open é um meio padronizado de abrir arquivos e URLs, o diferencial é que ele abre sempre no aplicativo que você definiu como padrão , por ex:

Se você está fazendo um script para um usuário que tem 3 browsers:

  • Firefox
  • Chrome
  • Brave

E quiser abrir uma URL por ex https://plus.diolinux.com.br/ no navegador de o usuário definiu como padrão basta rodar:

xdg-open "https://plus.diolinux.com.br/"

E o site será aberto com no navegador preferido do usuário, o grande diferencial, é que o xdg-open funciona com arquivos (file:///caminho/pro/arquivo), sites (http://site.sem.criptografia, https://site.com.criptografia) e servidores FTP (ftp://endereço.do.servido/), isso significa que ele funciona inclusive com apps locais e não apenas navegadores web

5 curtidas

@Natanael.755 Sempre gosto de verificar os arquivos da AUR antes de instalar ele, para ter certeza se é seguro.