2/4/2018 - 5:51 AM

Installs (or updates) PPAPI Flash, so that it can be used by Chromium-based browsers

Installs (or updates) PPAPI Flash, so that it can be used by Chromium-based browsers


available () {
  command -v $1 >/dev/null 2>&1

# Make sure we have wget or curl
if available wget; then
  SILENT_DL="wget -qO-"
elif available curl; then
  SILENT_DL="curl -sL"
  LOUD_DL="curl -O"
  echo "Install wget or curl" >&2
  exit 1

# Set Output dir

# Set temp dir

# Set staging dir

# Setup Arch
case $(uname -m) in
  x86_64) ARCH=x86_64 ;;
    i?86) ARCH=i386 ;;

# Work out the VERSION
VERSION=$($SILENT_DL | grep -FA2 'Chromium-based browsers - PPAPI' | grep -Eo '([0-9]+\.){3}[0-9]+' | tail -n1)

# Error out if $VERISON is unset, e.g. because previous command failed
if [ -z "$VERSION" ]; then
  echo "Could not work out the latest version; exiting" >&2
  exit 1

# Don't start repackaging if the same version is already installed
if [ -r "$PPAPI_FLASH_INSTALL_DIR/manifest.json" ] ; then
  CUR_VER=$(grep -Eo '"version" *: *"([0-9]+\.){3}[0-9]+",' "$PPAPI_FLASH_INSTALL_DIR/manifest.json" | cut -d'"' -f 4)
  if [ "$CUR_VER" = "$VERSION" ]; then
    echo "The latest Flash ($VERSION) is already installed"
    exit 0

# Now we could screw things up so exit on first error
set -e

# If the staging directory is already present from the past, clear it down
# and re-create it.
if [ -d "$STAGINGDIR" ]; then
  rm -fr "$STAGINGDIR"


# Now get the tarball
$LOUD_DL "$VERSION/flash_player_ppapi_linux.${ARCH}.tar.gz"

# Extract the contents of the Google Chrome binary package
tar xf flash_player_ppapi_linux.${ARCH}.tar.gz -C "$STAGINGDIR$PPAPI_FLASH_INSTALL_DIR"
chmod -R u+w,go+r-w,a-s .

# Escalate privileges if needed and copy files into place
if [ "$UID" = 0 ]; then
  tar --owner=0 --group=0 -cf- ".$PPAPI_FLASH_INSTALL_DIR" | tar -xf- -C /
elif [ -r /etc/os-release ] && grep -qx 'ID=\(ubuntu\|linuxmint\)' /etc/os-release; then
  echo "Calling sudo ... (if prompted, please enter your password, so Flash can be copied into place)"
  tar --owner=0 --group=0 -cf- ".$PPAPI_FLASH_INSTALL_DIR" | sudo tar -xf- -C /
  echo "Please enter your root password so Pepper Flash can be copied into place"
  su -c "sh -c \"tar --owner=0 --group=0 -cf- .$PPAPI_FLASH_INSTALL_DIR | tar -xf- -C /\""

# Tell the user we are done
printf "\nFlash installed into $PPAPI_FLASH_INSTALL_DIR\n"


If you use Ubuntu or a derivative distro, issue the following to install an appropriate version of Flash:

sudo add-apt-repository "deb `lsb_release -cs` partner" 
sudo apt update
sudo apt install adobe-flashplugin

If your distro does not provide a copy of Pepper Flash that works with Vivaldi, this script will download and install it for you. To use, click on the "Download ZIP" button listed on the GitHub Gist page and then unpack the .zip archive locally. You should now have a directory containing the file "".

Open a terminal within that directory and run the script like so:


The script will fetch and install the latest Pepper Flash. From time to time (perhaps once a month) you should re-run this script and if there is a newer Flash it will upgrade your installed copy, otherwise it will just confirm that you have the latest version.