来源: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