J'ai un fichier swf qui se connecte à un serveur flash distant et reçoit des données. Pour des raisons de sécurité, je ne peux pas rendre ce fichier SWF accessible sur Internet, donc je ne peux pas utiliser le navigateur pour l'exécuter. Est-il possible de l'exécuter côté serveur à partir d'une invite de commande (sous Linux)?Comment exécuter SWF sans navigateur (sur un serveur Linux)?
Répondre
Vous pouvez utiliser Xvfb
ou Xfake
pour exécuter un serveur X qui ne s'interface pas avec le matériel réel. Si elles ne sont pas disponibles en tant que packages pour votre distribution, vous pouvez les générer à partir des sources de Xorg xserver.
(Ou utiliser la suggestion de MarkR Xvnc
.)
Le plugin Adobe utilisé pour envoyer avec un exécutable autonome nommé flashplayer
ou gflashplayer
, qui était utilisable en dehors du navigateur. Je pense que ça existe toujours, mais c'est dans le paquet développeur, ou quelque chose comme ça.Si vous utilisez une implémentation gratuite de Flash, Gnash et Swfdec sont livrés avec des exécutables autonomes gnash
et swfdec
respectivement.
Cela commence Xvfb
sur l'écran: 20 (il suffit de choisir un nombre qui n'est pas en cours d'utilisation, les écrans normaux commencent à :0
, le transfert de X ssh
attribue généralement :10
et, et je l'ai vu quelques Xvnc
configurations commencent à :90
), et fonctionne gnash
à l'intérieur de celui-ci:
startx /usr/bin/gnash http://url.to/flash.swf -- /usr/bin/Xvfb :20
Vous pouvez rendre le site Web SWF accessible et protéger le répertoire à l'aide des fichiers .htaccess. Pour plus d'informations, voir Apache .htaccess Tutorial pour plus d'informations.
Vous pouvez également essayer ffplay (ffplay -fs somefile.swf) pour exécuter le swf. Edité: On dirait que ffplay utilise SDL, donc X peut ne pas être nécessaire.
Mais je ne pense pas que cela serait installé sur votre serveur. YMMV
Mise à jour: Ne laissez pas l'interface utilisateur non vous empêcher de faire ce que vous pouvez faire, si vous utilisez SSH, regardez cet article pour exporter votre affichage X vers votre poste de travail local. Trying to tunnel X over SSH
Je vais essayer ffplay, merci. Je veux le rendre inaccessible pour empêcher le téléchargement de ce swf, donc protéger le dossier http n'est pas une option (les utilisateurs doivent avoir accès à ce dossier de toute façon car ils ont besoin de données). – serg
Adobe Air?
Le principal problème est l'invite de commande, pas "l'accessibilité Web". Si vous pouvez exécuter FireFox, je suis sûr que vous pouvez charger le fichier par le chemin du système de fichiers. Je serais vraiment surpris s'il était possible d'exécuter des trucs SWF sur la ligne de commande. Je veux dire, pas que ce n'est pas possible en principe, c'est juste que le point de SWF est généralement en affichant des ordures clignotantes et sautantes, donc personne ne dérange d'écrire des outils en ligne de commande pour l'exécuter ...
PS. Je suppose que vous êtes conscient du fait que vous pouvez exécuter FireFox sur un serveur Linux, n'est-ce pas? (Le truc X Windows entier?)
C'est un serveur web linux. Il n'y a pas d'interface graphique. – serg
Vous pouvez facilement (ish) écrire un programme C qui implémente l'interface du plugin netscape pour interfacer directement avec Flash. Ça marcherait. Cependant, il faudrait probablement toujours un serveur X pour cela - vous pourriez utiliser XVnc ou quelque chose pour exécuter sans tête.
Nontrivial, mais fonctionnerait. Votre exigence semble un peu étrange - peut-être que ce serait une conception plus facile à gérer pour réécrire le composant Flash dans une autre langue.
Ichabod d'Adobe résoudrait probablement votre problème, mais je n'arrive pas à trouver d'informations, que ce soit disponible pour la consommation publique, ou seulement pour les fournisseurs de recherche. Juste une chambre d'écho d'articles comme un sur ReadWriteWeb.
Si vous utilisez ubuntu, tapez sudo apt-get install xvfb
, puis télécharger le Flash Player d'Adobe, et juste essayer comme ça, ça marche bien:
xvfb-run ./flashplayer test.swf
Ou si vous utilisez Windows, vous pouvez simplement double-cliquer sur le swf sur le serveur, et il fonctionne maintenant, communique avec un autre serveur, utilisez simplement ce swf en tant que serveur, calculez la valeur et retournez, Comme c'est un serveur
La meilleure façon est d'installer "Macromedia Flash Player MX" via Wine .. Il va installer Macromedia MX avec "Macromedia Flash Player" .. Maintenant, allez dans votre fichier SWF et changez son application par défaut pour "Macromedia Flash Player" (pas Macromedia MX)
- 1. Simulateurs/émulateurs pour tester un navigateur mobile sur ubuntu/linux
- 2. ASP.NET sur un serveur Web linux
- 3. Comment exécuter les applications Red5 sur un serveur distant?
- 4. Serveur Apache Tomcat sur linux
- 5. Configuration minimale pour exécuter Linux intégré sur un processeur ARM?
- 6. Comment concombre pour exécuter les mêmes étapes contre Selenium et un navigateur sans tête
- 7. Charger le swf frais du serveur
- 8. javascript (spidermonkey) comment exécuter une commande linux depuis js shell?
- 9. comment enregistrer l'audio sans flash et java à partir du navigateur et télécharger sur le serveur
- 10. Comment produire une capture d'écran d'un swf flash sur le serveur?
- 11. Comment tester un environnement Windows pour un serveur Linux?
- 12. Comment exécuter un logiciel serveur arbitraire à partir d'Eclipse?
- 13. comment exécuter mon application Web sur le serveur ASP.NET
- 14. Comment télécharger/publier une image sur un site d'hébergement d'images sans utiliser le navigateur?
- 15. Git sur ssh sans Git être installé sur le serveur
- 16. Comment POSTER un fichier sur un serveur REST sans écrire le fichier sur disque avec PHP?
- 17. DOS: comment exécuter un batch sans avoir à vous connecter sur un partage?
- 18. Comment fermer un navigateur sur un serveur Selenium RC qui a perdu son client
- 19. sur événement clic sur .swf
- 20. Comment exécuter un script lorsque l'adresse IP change (probablement en utilisant un hook dhclient) sur une machine Linux (Ubuntu)?
- 21. Exécuter une méthode sans bloquer le client
- 22. En php, je veux télécharger un fichier s3 dans le navigateur sans le stocker sur mon serveur
- 23. Processus serveur Linux max
- 24. Navigateur Internet continue de charger les anciens fichiers swf?
- 25. Comment exécuter un fichier batch sur un ordinateur distant?
- 26. Existe-t-il un moyen d'afficher l'image dans le navigateur client sans la télécharger sur le serveur?
- 27. Comment exécuter une application adobe air sans Adobe Air Player?
- 28. Bibliothèques AWT utilisant Java 1.6 sur un serveur Linux dans un centre de données
- 29. erreur de fichier swf adobe air dans le navigateur
- 30. Utilisez sélénium pour cliquer sur un swf
J'aimerais vraiment savoir si quelqu'un connaît une façon de faire cela, aussi! J'ai besoin de me connecter fréquemment à partir du serveur et un navigateur ne sera jamais une option - le serveur n'a pas d'interface graphique et il devrait être exécuté à partir de cron. – JAL