Подтвердить что ты не робот

Как запустить SWF без браузера (на сервере Linux)?

У меня есть swf файл, который подключается к удаленному флэш-серверу и получает некоторые данные. По соображениям безопасности я не могу сделать эту веб-страницу swf доступной, поэтому я не могу использовать браузер для ее запуска. Есть ли способ запустить его на стороне сервера из командной строки (под Linux)?

4b9b3361

Ответ 1

Вы можете использовать Xvfb или Xfake для запуска X-сервера, который не взаимодействует с реальным оборудованием. Если они недоступны в качестве пакетов для вашего дистрибутива, вы можете построить их из источников Xorg xorg.

(Или используйте предложение MarkR Xvnc.)

Плагин Adobe используется для отправки с автономным исполняемым файлом с именем flashplayer или gflashplayer, который можно использовать вне браузера. Я думаю, что он все еще существует, но находится в пакете разработчика или что-то в этом роде.

Если вы используете бесплатную реализацию Flash, как Gnash, так и Swfdec поставляются с автономными gnash и swfdec исполняемыми файлами соответственно.

Начнется отображение Xvfb на дисплее: 20 (просто убедитесь, что выбрали номер, который не используется, нормальные отображения начинаются с :0, ssh Пересылка X обычно выделяет :10 и вверх, и я некоторые настройки Xvnc начинаются с :90) и запускаются gnash внутри него:

startx /usr/bin/gnash http://url.to/flash.swf -- /usr/bin/Xvfb :20

Ответ 2

Если вы используете ubuntu, введите sudo apt-get install xvfb, а затем загрузите flashplayer из adobe и просто попробуйте вот так: он работает хорошо:

xvfb-run ./flashplayer test.swf

Или, если вы используете окна, вы можете просто дважды щелкнуть swf на сервере, и теперь он работает, обмениваясь с другим сервером, просто используйте этот swf как часть сервера, вычислите значение и return, swf run loop for ever как это сервер

Ответ 3

Вы можете сделать SWF-сеть доступной и защитить каталог, используя файлы .htaccess.

Подробнее см. Apache.htaccess Tutorial.

Вы также можете попробовать ffplay (ffplay -fs somefile.swf) для запуска swf.

Отредактировано: похоже, что ffplay использует SDL, поэтому X не требуется.

Но я не думаю, что это будет установлено на вашем сервере. YMMV

Обновлено: не позволяйте графическому интерфейсу no останавливать вас в том, что вы можете сделать, если вы используете SSH, посмотрите на эту статью, как экспортировать свой X-дисплей на локальную рабочую станцию. Попытка туннеля X через SSH

Ответ 4

Adobe Air?

Основная проблема - это командная строка, а не "веб-доступность". Если вы можете запустить FireFox, я уверен, что вы можете загрузить файл по пути файловой системы. Я был бы очень удивлен, если бы можно было запустить SWF файл в командной строке. Я имею в виду, что это не возможно в принципе, это просто, что точка SWF обычно отображает некоторый мигающий и прыгающий мусор, поэтому никто не хочет писать инструменты командной строки для его запуска...

PS. Я предполагаю, что вам известно о том, что вы можете запускать FireFox на сервере Linux, верно? (Вся X Windows thingie?)

Ответ 5

Вы можете легко (ish) написать программу C, которая реализует интерфейс плагина netscape для непосредственного взаимодействия с Flash. Это сработает.

Однако для этого, вероятно, потребуется X-сервер - вы можете использовать XVnc или что-то, что можно использовать без головок.

Нетривиальный, но будет работать.

Ваше требование звучит немного странно - возможно, более удобной конструкцией будет переписать компонент Flash на каком-то другом языке.

Ответ 6

Adobe Ichabod, вероятно, решит вашу проблему, но я не могу найти какую-либо информацию о ее доступности для общественного потребления или просто для поставщиков поиска. Просто эхо-камера статей, похожих на ReadWriteWeb.

Ответ 7

Лучший способ - установить "Macromedia Flash Player MX" через Wine.. Он установит Macromedia MX вместе с "Macromedia Flash Player". Теперь просто перейдите в свой swf файл и измените его приложение по умолчанию на "Macromedia Flash Player" ( не Macromedia MX)