Ga naar inhoud
Sat4all gemigreerd! LEES HIER VERDER! ×

Aanbevolen berichten

Geplaatst:

Om een plugin op te starten vanaf de commandolijn (voor testdoeleinden) kan je het volgende doen op de dreambox:

wget -q -O- http://root:myrootpass@127.0.0.1/cgi-bin/startPlugin?name=pluginname.cfg

 

gezien hier gebruik gemaakt wordt van een cgi lijkt het me dat het ook moet mogelijk zijn dit eenvoudiger rechtstreeks te doen vanaf de commandolijn. Weet iemand hier hoe?

 

abu_ilya

 

p.s. ik zoek _niet_ naar click en point "grafische omgevingen als oplossing"

Geplaatst:

Ik heb de sources nog niet bekeken, maar volgens mij wordt er geen gebruik gemaakt van cgi (al doet het pad dat wel vermoeden). De webserver is geintegreerd in enigma, als dit pad wordt meegegeven, wordt de bijbehorende methode in de webserver uitgevoerd, die vervolgens de enigma-plugin start. Alles blijft dus binnen enigma zelf.

 

- Ruud

Geplaatst:
Citaat:
Ik heb de sources nog niet bekeken, maar volgens mij wordt er geen gebruik gemaakt van cgi (al doet het pad dat wel vermoeden). De webserver is geintegreerd in enigma, als dit pad wordt meegegeven, wordt de bijbehorende methode in de webserver uitgevoerd, die vervolgens de enigma-plugin start. Alles blijft dus binnen enigma zelf.

- Ruud

waar kan ik die sources vinden?

abu_ilya
Geplaatst:

Sources vind je op cvs.tuxbox.org (instructies en meer info vind je hier op het forum - even zoeken)

 

De webinterface bestaat uit de enigma_dyn* modules. Relevant voor plugins is enigma_dyn_misc

 

Code:
static eString startPlugin(eString request, eString dirpath, eString opt, eHTTPConnection *content){        std::map<eString, eString> opts = getRequestOptions(opt, '&');        if (opts.find("name") == opts.end())                return "E: no plugin name given";        eZapPlugins plugins(-1);        eString path;        if (opts.find("path") != opts.end())        {                path = opts["path"];                if (path.length() && (path[path.length()-1] != '/'))                        path += '/';        }        if (ePluginThread::getInstance())                ePluginThread::getInstance()->kill(true);        return plugins.execPluginByName((path + opts["name"]).c_str());}dyn_resolver->addDyn("GET", "/cgi-bin/startPlugin", startPlugin, lockWeb);

 

Laatste regel koppelt de methode startPlugin aan een GET request voor /cgi-bin/startPlugin.

 

Lijkt me dat wget de enige manier is om via de cmdline wat te doen.

  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...