Ga naar inhoud


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.

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

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