вторник, 11 ноября 2014 г.

wine для запуска web-interface VMware vCenter

Проприетарщики не устают удивлять нас своими решениями.
VMware взяла курс на web-interface для управления виртуальными фермами через vCenter. Это хорошо. Но вместо нормального HTML5 они избрали в качестве платформы Adobe Flash.
Впрочем, и это можно было некоторое время терпеть (хотя flash, отжирающий при запуске более 1Гб памяти - это уже неслабое испытание нервов линуксоидов). Но в последних версиях этот самый web-interface начал требовать версию Flash plugin >= 15. А Adobe для Linux не собирается выпускать версии выше 11. Поздравляю, вместе вы "сбрили" всех линуксовых админов!
Впрочем, это опять лирика.
Можно использовать WINE для запуска (хм!) IE8 + Adobe Flash plugin 15, что позволит получить желанный доступ к web-interface vCenter.

Собственно, скрипт:

#!/bin/bash

ADDR=$1
PORT=${2:-9443}
export WINEPREFIX=$TMP/wine-vCenter.sandbox

wine-sandbox.sh
winetricks -q ie8
ln -s ~/.winetrickscache/flash/install_flash_player_ax.exe "$WINEPREFIX/dosdevices/c:"
wine c:/install_flash_player_ax.exe /install  >> "$WINEPREFIX"/wine.log 2>&1
socat tcp-l:9443,reuseaddr,fork openssl:$ADDR:$PORT,verify=0 &
wine-sandbox.sh "C:/Program Files/Internet Explorer/iexplore" http://localhost:9443/vsphere-client/
killall socat
Из этого скрипта вызывается другой скрипт, wine-sandbox.sh
Также используется socat для "распаковки" SSL, т.к. IE8 не работает нормально с https.