== Summary == First we added [[AptUrl|apt: support]] to Firefox, making software installation easier. This spec proposes to add a "run:" handler to launch software from a web page. == Rationale == Useful and dangerous. Running sofware with a single click could be dangerous, but a wide range of possibilities come to scene: * Web (wiki) recipes with automatic links to required tools * User manual with links to (python?) assistants * Support Team mails with links to scripts. In order to make this runnable urls as safe as possible, whitelists or a secure directory with links to allowed apps could be the solution. == User stories == An user is reading a Ubuntu forum with some kind of recipe about configuring fonts, but he/she doesn't know how to launch font-config-dialog. Another user post a link "run:fontconfig-voodoo" so the first one just need to click on it. An html manual could include a link to run an assistant for network configuration right from its pages. I want to design a nice & simple desktop for my parents with only a few big icons, but I have no programming skills. However, I can set a local html page up with launchers for them. Authoring tools like Ubuntu Tweaks would be really easy with little knowledge about gtk interface. == Design == URls beggining with "run:" should trigger (in Firefox at least) a wrapper application (/usr/bin/run-url) to control execution permissions. "run-url" will parse and check the second part (program name) of the URL. If this program is part of a distribution package, execution is granted with no more dialogs. A simple 'dpkg -S' will do the job. == Implementation == * A package with Firefox tweaks (similar to apturl) is needed, although anyone can test the launcher script tweaking the about:config page or including a run-url.js file in /etc/firefox-x/ containing these lines: `pref("network.protocol-handler.app.run","/usr/bin/run-url");`<
> `pref("network.protocol-handler.warn-external.run",false);`<
> * A simple dialog to allow/disallow runnable sofware could be needed as well. (see https://launchpad.net/run-url) == Sample test page == This wiki doesn't support run:// links, so download and save this page in order to test run-url: {{attachment:test-run-url.html}} == Discussion == * [[AlfonsoDeCala]]: another [[https://launchpad.net/runurl|runurl]] project already exists in launchpad with a different focus. That one download and execute scripts from Internet (really insecure IMHO). In order to avoid confussion, this firefox-run-url should use a different name for the plugin: "run-url" or "execurl"