safari 安装flash插件脚本

来源:https://github.com/blackgear/safari_plugin_scripts/blob/master/flash.sh

在OS X下安装Safari插件时,大多数插件的安装包索取root权限,并将插件安装到/Library/Internet Plug-Ins/下。但这并不是必须的,事实上,几乎所有插件都可以用user权限安装到~/Library/Internet Plug-Ins/下,并且不会产生任何问题。不少插件的安装包会利用root权限安装一些其他的程序、启动项等到系统当中,这或许是出于用户利益的考虑,但这也会使部分人产生警惕与忧虑。

本项目提供了一系列脚本,用于将特定的Safari插件以user权限安装到~/Library/Internet Plug-Ins/下,并且只安装插件本身,而不安装其他任何非必须的部分。

#!/usr/bin/env bash
# -*- coding: utf-8 -*-

FLASH_VER=$(/usr/bin/curl -s http://www.adobe.com/software/flash/about/ | sed -n '/Safari/,/<\/tr/s/[^>]*>\([0-9].*\)<.*/\1/p')
FLASH_URL="https://fpdownload.macromedia.com/get/flashplayer/pdc/$FLASH_VER/install_flash_player_osx.dmg"
FLASH_DMG=$(mktemp -d -t flash_dmg)/flash.dmg
FLASH_MOUNTPOINT=$(mktemp -d -t flash_mountpoint)

curl -o $FLASH_DMG $FLASH_URL
hdiutil attach -mountpoint $FLASH_MOUNTPOINT -nobrowse $FLASH_DMG

FLASH_PKG_ARCHIVE="$FLASH_MOUNTPOINT/Install Adobe Flash Player.app/Contents/Resources/Adobe Flash Player.pkg"
FLASH_PKG_EXTRACT_DIR=$(mktemp -d -t flash_pkg_extract_dir)
FLASH_INSTALL_SRC="$FLASH_PKG_EXTRACT_DIR/AdobeFlashPlayerComponent.pkg"

cd "$FLASH_PKG_EXTRACT_DIR"
xar -xf "$FLASH_PKG_ARCHIVE"

cd "$FLASH_INSTALL_SRC"
cat Payload | gunzip -dc | cpio -i
cat Scripts | gunzip -dc | cpio -i

mkdir -p "$HOME/Library/Internet Plug-Ins"

cp -f "$FLASH_INSTALL_SRC/Library/Internet Plug-Ins/Flash Player.plugin.lzma" "$HOME/Library/Internet Plug-Ins"
cp -f "$FLASH_INSTALL_SRC/Library/Internet Plug-Ins/flashplayer.xpt" "$HOME/Library/Internet Plug-Ins"

"$FLASH_INSTALL_SRC/finalize" "$HOME"

find "$HOME/Library/Internet Plug-Ins/Flash Player.plugin" -type d -exec chmod 755 {} \;
find "$HOME/Library/Internet Plug-Ins/Flash Player.plugin" -type f -exec chmod 644 {} \;
chmod 644 "$HOME/Library/Internet Plug-Ins/flashplayer.xpt"

hdiutil detach $FLASH_MOUNTPOINT -force

cd "$HOME"

rm -rf $FLASH_DMG
rm -rf $FLASH_MOUNTPOINT
rm -rf $FLASH_PKG_EXTRACT_DIR

 

posted on 2016-03-10 19:39  comiyo  阅读(902)  评论(0编辑  收藏  举报

导航