Автор Тема: изпълняване на код в терминал от web сайт  (Прочетена 2614 пъти)

NikolaiTalev

  • Напреднали
  • *****
  • Публикации: 307
  • Distribution: Debian Wheezy
  • Window Manager: KDE
    • Профил
    • WWW
Здравейте написах си едно скриптче за сваляне от vbox7 и  го направих да ми вади линк който трябва да се въведе в терминала за да  гледам клипа директно през SMplayer тоест:
smplayer "http://media11.vbox7.com/s/69/69f670a2.flv"

Въпроса ми е мога ли да го пускам директно чрез клик (а не да го копирам в терминала) чрез някаква пхп команда или js ???
« Последна редакция: Nov 04, 2010, 01:40 от NilkolaiTalev »
Активен

Веднъж Linux, цял живот Linux.

http://blog.nk-support.eu/

Acho

  • Напреднали
  • *****
  • Публикации: 6723
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Скрипта е записан във файл (и то изпълним), нали така ? Ако не ти се иска да пускаш самия файл, му направи символен линк: ln -s ...... ....... и стартирай линка.
Активен

CPU - Intel Quad-Core Q8400, 2.66 GHz; Fan - Intel Box; MB - Intel G41M-T2; RAM - DDR2-800, Kingston HyperX, 2X2048 MB; VC - onboard, Intel G41 Express Chipset; HDD - Toshiba, 500 GB, SATAII; SB - Realtek HD Audio; DVD-RW - TSSTcorp DVD-RW; LAN - Realtek PCI-E GBE Controller; PSU - Fortron 400 Watt.

NikolaiTalev

  • Напреднали
  • *****
  • Публикации: 307
  • Distribution: Debian Wheezy
  • Window Manager: KDE
    • Профил
    • WWW
Не грешката е моя , явно не съм обяснил добре какво искам .... идеята е следната този пхп скрипт за свалянето ще бъде в сайт и аз искам който ползва линукс да може да си го стартира през smplayer-a (ако има такъв) чрез един клик

http://78.130.233.163/vbox.php

Тази цялата операция е заради бъгавия флаш плугин като го гледам през smplayera все едно не е флаш процесора си спи спокойно  ;)
Активен

Веднъж Linux, цял живот Linux.

http://blog.nk-support.eu/

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Код
GeSHi (PHP):
  1. shell_exec  ( string $cmd  )
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
По-скоро трябва да го направиш на GreaceMonkey скрипт и да си работи директно в браузъра. Нещо подобно на тези:
http://userscripts.org/scripts/show/50771
http://userscripts.org/scripts/show/24999

Другият вариант е да напишеш екстеншън за Firefox който да изпълнява шел скрипта.
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Другият вариант е да напишеш екстеншън за Firefox който да изпълнява шел скрипта.

И ако не си с FF какво правим? Ако си с Opera или Chrome и за тях ли да пише екстеншъни?
Това се прави само с php, но сега нямам време да го напиша. Довечера ако се освободя може да го драсна.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Ако си с links и PHP няма да помогне :P
За това и като първи вариант съм предложил скрипт за GreaceMokey. Това поне се поддържа от почти всички модерни браузъри. Предимството пред решение с PHP е че ще си работи автоматично, няма да се налага да ходиш на други сайтове за да свалиш клипа.
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
@NilkolaiTalev я покажи скрипта който си направил.

PS: Ми ти почти си го направил, само че вместо да го правих с <a href> добави php функцията като й зададеш да отваря линка който ти връща vbox.php.
« Последна редакция: Nov 04, 2010, 16:34 от backtolife »
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

NikolaiTalev

  • Напреднали
  • *****
  • Публикации: 307
  • Distribution: Debian Wheezy
  • Window Manager: KDE
    • Профил
    • WWW
Не то идеята не е само за мен, а и не става въпрос за сваляне, а за онлайн гледане. И който добави линка от vbox ( или в последствие от където и де е) да може да гледа клипа на примерно SMplayer  :)

@backtolife помогни ми ако ти остане време че нещо бъркам  >:(

Активен

Веднъж Linux, цял живот Linux.

http://blog.nk-support.eu/

NikolaiTalev

  • Напреднали
  • *****
  • Публикации: 307
  • Distribution: Debian Wheezy
  • Window Manager: KDE
    • Профил
    • WWW
Код
GeSHi (PHP):
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Сваляне от Vbox7</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6.  
  7. </head>
  8.  
  9. <body>
  10. <?php
  11. error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
  12. if($_POST['submit'] and strlen($_POST['url'])>0){
  13.   $file = $_POST['url'];
  14.   $number = explode(":", $file);
  15.   $i = substr($number[2],0 ,2);
  16.  
  17.   if(fopen("http://media.vbox7.com/s/$i/$number[2].flv","r")){
  18.      $url = "http://media.vbox7.com/s/$i/$number[2].flv";
  19.   } else {
  20.      for($ii = 2; $ii <= 21; $ii++)
  21.      {
  22.         if($ii < 10)
  23.         {
  24.            if(fopen("http://media0$ii.vbox7.com/s/$i/$number[2].flv", "r"))
  25.            {
  26.               $url = "http://media0$ii.vbox7.com/s/$i/$number[2].flv";
  27.            }
  28.         } else {
  29.            if(fopen("http://media$ii.vbox7.com/s/$i/$number[2].flv", "r"))
  30.            {
  31.               $url = "http://media$ii.vbox7.com/s/$i/$number[2].flv";
  32.            }
  33.         }    
  34.      }
  35.   }
  36.  
  37.   echo "<center><b><font size='6'><a style='text-decoration:none; color:#aaa;' href='".$url."'>Свали видеото!</a></font></center>";
  38. $out = "smplayer \"$url\"";
  39.  
  40. $output = shell_exec( "$out $cmd");
  41. system("echo $output");
  42. print $output;
  43. } else {
  44.   echo '<center><form method="post" action="">
  45.   <b>Линк към клипа (http://vbox7.com/play:ed7caef8)</b><br>
  46.   <input type="text" name="url" size="35" value=""><br>
  47.   <input type="submit" name="submit" style="font-style: bold;" value="Download">
  48.   </form></center><br />';
  49. }
  50.  
  51. ?>
  52. </body>
  53. </html>
  54.  
« Последна редакция: Nov 05, 2010, 12:52 от VladSun »
Активен

Веднъж Linux, цял живот Linux.

http://blog.nk-support.eu/

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Не то идеята не е само за мен, а и не става въпрос за сваляне, а за онлайн гледане. И който добави линка от vbox ( или в последствие от където и де е) да може да гледа клипа на примерно SMplayer  :)

@backtolife помогни ми ако ти остане време че нещо бъркам  >:(

Човек реши какво искаш. "Оналайн гледане" - това streaming ли ще рече? Искаш да добавиш линка и да го гледаш в браузъра?
Или като цъкнеш на "Свали" (както е сега) да се отваря SMPlayer-а и да тръгва в него?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

NikolaiTalev

  • Напреднали
  • *****
  • Публикации: 307
  • Distribution: Debian Wheezy
  • Window Manager: KDE
    • Профил
    • WWW
Не то идеята не е само за мен, а и не става въпрос за сваляне, а за онлайн гледане. И който добави линка от vbox ( или в последствие от където и де е) да може да гледа клипа на примерно SMplayer  :)

@backtolife помогни ми ако ти остане време че нещо бъркам  >:(

Човек реши какво искаш. "Оналайн гледане" - това streaming ли ще рече? Искаш да добавиш линка и да го гледаш в браузъра?
Или като цъкнеш на "Свали" (както е сега) да се отваря SMPlayer-а и да тръгва в него?

Вторият вариант няма да се запазва нали ? След затварянето на плеара няма да го има нали?

В момента като поставя това :smplayer "http://media11.vbox7.com/s/69/69f670a2.flv"
в терминал се стартира май със стрйминг нали?
« Последна редакция: Nov 04, 2010, 16:44 от NilkolaiTalev »
Активен

Веднъж Linux, цял живот Linux.

http://blog.nk-support.eu/

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Код
GeSHi (Apache configuration):
  1. root@eclipse:/var/log/apache2# cat error.log | grep smplayer
  2. smplayer: cannot connect to X server
Това е едната грешка, в последствие разбрах, че нямам права да с php-то да изпълнявам shell команди:

Код
GeSHi (Apache configuration):
  1. Couldn't resolve name for AF_INET6: media08.vbox7.com
  2. open: No such file or directory
  3. [MGA] Couldn't open: /dev/mga_vid
  4. open: No such file or directory
  5. [MGA] Couldn't open: /dev/mga_vid
  6. [VO_TDFXFB] Can't open /dev/fb0: Permission denied.
  7. [VO_3DFX] Unable to open /dev/3dfx.
  8. vo: couldn't open the X11 display ()!
  9. [vdpau] Could not open dynamic library libvdpau.so.1
  10. vo: couldn't open the X11 display ()!
  11. VO XOverlay need a subdriver
  12. vo: couldn't open the X11 display ()!
  13. vo: couldn't open the X11 display ()!
  14. vo: couldn't open the X11 display ()!
  15. commandline read: mplayer
  16. commandline read: http://media08.vbox7.com/s/f5/f5a09830.flv
  17.  
  18.   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.8 |~~~~~~~~~~~~~~~~~~~~~~~~~~
  19.        (c) 2001-2008  The world wide DirectFB Open Source Community
  20.        (c) 2000-2004  Convergence (integrated media) GmbH
  21.      ----------------------------------------------------------------
  22.  
  23. (*) DirectFB/Core: Single Application Core. (2010-04-09 11:08)
  24. (!) Direct/Util: opening '/dev/fb0' failed
  25.    --> Permission denied
  26. (!) DirectFB/FBDev: Error opening framebuffer device!
  27. (!) DirectFB/FBDev: Use 'fbdev' option or set FRAMEBUFFER environment variable.
  28. (!) DirectFB/Core: Could not initialize 'system_core' core!
  29.    --> Initialization error!
  30. [VO_SDL] SDL initialization failed: DirectFBCreate: Initialization error!.
  31. Can't open /dev/fb0: Permission denied
  32. [fbdev2] Can't open /dev/fb0: Permission denied

Тука някъде във форума се въртеше една тема на един дето искаше с php да изпълни sudo и после паролата, ама не мога да я намеря в момента. Както и да е де, но тази грешка, че не може да се върже с X-а ми е много странна. При windwos-а няма такива работи.
Код
GeSHi (PHP):
  1. exec('c:\program files\winamp\winamp.exe');
Това там работеше.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

NikolaiTalev

  • Напреднали
  • *****
  • Публикации: 307
  • Distribution: Debian Wheezy
  • Window Manager: KDE
    • Профил
    • WWW
и аз това се питах дали не са необходими рут права ама тъй като като поставях това
 smplayer "http://media11.vbox7.com/s/69/69f670a2.flv" в терминала не ми бяха необходими права за да стартира плеара и за това си мислих че е възможно  :)

А възможно ли е като се натисне свали да не го сваля ами да го отваря, както питат някои  браузари като музила ,а при хрома директно го сваля няма ли как да се забрани свалянето а директно да го отваря
« Последна редакция: Nov 04, 2010, 23:16 от NilkolaiTalev »
Активен

Веднъж Linux, цял живот Linux.

http://blog.nk-support.eu/

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
backtolife, имаш права да старираш команди. Това което си пуснал е точно изхода от smplayer.
Обаче това което си написал ще работи ако на този компютър на който върви apache-то има работещ X и инсталиран smplayer. Също ще трябва потребителят с който работи apache-то да може да ползва X-a. Тоест при стартирането му ще трябва да се направи нещо подобно на това което прави sux. Самият mplayer може да работи и без X, но smplayer е Qt програма и не може.

Друг е въпроса за какво ти е SMPlayer да плейва клипче на сървъра, където няма кой да го гледа. Поне от първият пост на NilkolaiTalev оставам с впечатление че иска да изпълни нещо на клиентската машина, а не на сървъра. Това може да стане само чрез разширение за браузъра. Никой браузър не допуска произволен сайт да стартира изпълними файлове.

@NilkolaiTalev -  не ти трябват root права. Това кои файлове се свалят и кои се отварят си е настройка на браузъра.
Активен