What's the best way to share Firefox add-ons among VMs and have separate bookmarks and settings per VM?

102 views
Skip to first unread message

Qbert Qube

unread,
Dec 4, 2017, 2:37:12 AM12/4/17
to qubes...@googlegroups.com
I am new to Qubes OS.

My understanding is that TemplateVMs are for installing software, DVM Templates are for configuring software, DispVMs and AppVMs are for running software, and StandaloneVMs are kind of all of the above.

AppVMs are based on TemplateVMs.
DispVMs are based on DVM Templates.

I have a standard set of Firefox add-ons that I like to install (particularly privacy-based ones). I'd ideally like all my Firefox instances to have these add-ons. I assume I can do that by creating a DVM Template, installing Firefox add-ons there, and then using DispVMs.

The problem is that I also want to have different sets of bookmarks and settings depending on domain (for example, work, school, banking, etc.). Since I want persistent bookmarks and settings, I assume I need to use an AppVM (one per domain) instead of a DispVM, but then I can't get a shared set of add-ons, since it's not recommended to configure anything in a TemplateVM (what AppVMs are based on).

What are my options for my use case (Firefox add-ons shared among VMs and separate bookmarks and settings per domain)?

I'm guessing the safest option would be to just set up Firefox from scratch in a bunch of AppVMs. I'm hoping there's a more convenient solution, but maybe this is a case where one has to sacrifice convenience for security.

Thanks!

Ro...@tuta.io

unread,
Dec 4, 2017, 3:01:38 AM12/4/17
to qubes-users
Pretty much security for convenience. Make a throw away firefox account with what you need and sync it. Then remove account but keep plugins and all on it.

awokd

unread,
Dec 4, 2017, 9:10:13 AM12/4/17
to Qbert Qube, qubes...@googlegroups.com
On Mon, December 4, 2017 7:37 am, Qbert Qube wrote:

> What are my options for my use case (Firefox add-ons shared among VMs and
> separate bookmarks and settings per domain)?

If you can generalize the Firefox settings you could store a list of your
bookmarks in your Archive VM and copy and paste them out as needed. That
would let you use disposable templates. I think 4.0 also lets you have
multiple disposable VM templates. You could have three templates with
high, medium, low security settings for example and launch disposable VMs
from those, then copy and paste your shortcuts to those.

Just some thoughts!


Steve Coleman

unread,
Dec 4, 2017, 10:09:45 AM12/4/17
to Qbert Qube, qubes...@googlegroups.com
If I understand your needs correctly, you can setup each VM/firefox to
use the Firefox sync using the same firefox account, and then adjust the
firefox account configuration to only sync the add-on's. Most people
want bookmarks sync'ed, but then that is easily turned off in that
account configuration. The bookmarks won't change but you will bet
add-on updates in each VM.
> --
> You received this message because you are subscribed to the Google
> Groups "qubes-users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to qubes-users...@googlegroups.com
> <mailto:qubes-users...@googlegroups.com>.
> To post to this group, send email to qubes...@googlegroups.com
> <mailto:qubes...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/qubes-users/CAJrLjobCytiWcow5XR___BB3o%2BTCMdtWZu3mD2bFSRxdESJ7VA%40mail.gmail.com
> <https://groups.google.com/d/msgid/qubes-users/CAJrLjobCytiWcow5XR___BB3o%2BTCMdtWZu3mD2bFSRxdESJ7VA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Matteo

unread,
Dec 4, 2017, 2:01:36 PM12/4/17
to qubes...@googlegroups.com
>> The problem is that I also want to have different sets of bookmarks
>> and settings depending on domain (for example, work, school, banking,
>> etc.). Since I want persistent bookmarks and settings, I assume I need
>> to use an AppVM (one per domain) instead of a DispVM, but then I can't
>> get a shared set of add-ons, since it's not recommended to configure
>> anything in a TemplateVM (what AppVMs are based on).
>>
>> What are my options for my use case (Firefox add-ons shared among VMs
>> and separate bookmarks and settings per domain)?

Here is what i have done, not perfect but might help:
i have started a vm as soon as i have installed Qubes (at this point
every vm has equal level of trust, in your case use a trusted one).
set up all the firefox settings: instal addons, clear bookmarks, change
settings...
After i copied the whole firefox profile in each vm so that in each vm
that need firefox you have a good base settings.
In the end i have fixed minor things like installing flash only in
untrasted domain. adding the bookmark of bank in banking.

As far as i know the only way is to set up every vm manually, but as i
said you can start from a good level of personalization and tweek only
minor settings.

you can have bookmarks and custom settings also in dispvm (at least in
3.2, i haven't installed 4 yet)
https://www.qubes-os.org/doc/dispvm-customization/

Unman

unread,
Dec 4, 2017, 4:54:16 PM12/4/17
to Qbert Qube, qubes...@googlegroups.com
What no one who has responded to you has pointed out is that you are
making a basic mistake about the use of Templates. There is absolutely
no reason why you cant configure a Template, as you like.
DVM Templates can be configured, but need not be. They exist so that you
can rapidly spawn DisposableVMs.

The simplest way to get what you want is to fire up a Template (perhaps
cloned from a base template), open Firefox in the template and configure
it as you wish - install add-ins, change search engines etc.(To do this
or at least some of it you will of course have to open the firewall.)
Then qvm-create new appVMs based on that template - each will inherit the
base settings and each can be separately configured with new add-ins.
Bookmarks will be saved on a per appVM basis.

Be aware of course that each appVM will be linked by virtue of the
common template. If you are particularly keen to keep some qubes
separate, then I would suggest using different templates with different
browsers. Just a thought.

unman

Qbert Qube

unread,
Dec 4, 2017, 10:40:22 PM12/4/17
to qubes...@googlegroups.com
Thanks, everyone, for the very helpful replies!

Ángel

unread,
Dec 6, 2017, 6:00:00 AM12/6/17
to qubes...@googlegroups.com
You can configure the software inside your TemplateVM.

I would place your favorite Firefox settings in a .js inside
/etc/firefox (or /etc/firefox-esr)
Note that this is done with the internal names (ie. as if done with
about:config), so it may be a bit hard need a to find out the mapping
with the UI preference
(eg. I didn't find out yet how to set a certain search engine this way)

As for extensions, you may be able to install them using an OS package:
https://packages.debian.org/search?keywords=xul-ext-&searchon=names

in case it is not available there, you could manually install it (note
you will need to watch for updates yourself) providing the xpi at
/usr/lib/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
({ec8030f7-c20a-464f-9b0e-13a3a9e97384} is the application ID of
Firefox)

See for details
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Alternative_distribution_options/Sideloading_add-ons


This way, you are providing system defaults, and you can create then a
different profile on each AppVM, without needing to keep or carry
individual settings on them.


Best

Reply all
Reply to author
Forward
0 new messages