Как запустить SWF без браузера (на сервере Linux)? - PullRequest
13 голосов
/ 08 мая 2009

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

Ответы [ 7 ]

9 голосов
/ 08 мая 2009

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

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

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

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

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

startx /usr/bin/gnash http://url.to/flash.swf -- /usr/bin/Xvfb :20
2 голосов
/ 30 июня 2010

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

xvfb-run ./flashplayer test.swf

Или, если вы используете Windows, вы можете просто дважды щелкнуть SWF на сервере, и он работает сейчас, общение с другим сервером, просто использовать этот SWF как часть сервера, вычислить значение и возврат, цикл выполнения SWF навсегда так как это сервер

1 голос
/ 01 июля 2015

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

1 голос
/ 08 мая 2009

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

1 голос
/ 08 мая 2009

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

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

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

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

1 голос
/ 08 мая 2009

Adobe Air?

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

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

1 голос
/ 08 мая 2009

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

См. Учебник Apache .htaccess для получения дополнительной информации.

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...