Click on the URL which is then automatic opened in a new disposable

I’ll improvise a bit since it’s after midnight and I’m tired after the whole day. It’s mostly inspired by this topic.

In your TelegramVM create a file named mybrowser.desktop inside ~/.local/share/applications/ containing:

[Desktop Entry]
Encoding=UTF-8
Name=MyBrowser
Exec=qvm-open-in-vm --view-only Telegram-URL-Handler-VM %u
Terminal=false
X-MultipleArgs=false
Type=Application
Categories=Network;WebBrowser;
MimeType=x-scheme-handler/unknown;x-scheme-handler/about;text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;

Then in your TelegramVM run the following commands:

$ xdg-mime default mybrowser.desktop x-scheme-handler/https
$ xdg-mime default mybrowser.desktop x-scheme-handler/http

In dom0 create a new named disposable and give it the name Telegram-URL-Handler-VM. Then still in dom0 open the Policy Editor GUI, open the 30-user policy and write there:

qubes.OpenURL * TelegramVM Telegram-URL-Handler-VM allow target=Telegram-URL-Handler-VM
qubes.OpenInVM * TelegramVM Telegram-URL-Handler-VM allow target=Telegram-URL-Handler-VM
qubes.OpenURL * Telegram-URL-Handler-VM @anyvm deny
qubes.OpenInVM * Telegram-URL-Handler-VM @anyvm deny

Then save this policy. Assuming I didn’t forget anything, from now on by clicking on a link in your TelegramVM qube it should open in a browser in the qube Telegram-URL-Handler-VM.

And if I did forget, provide some feedback - I’ll correct myself after getting some sleep.

3 Likes