mozilla / multi-account-containers

Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs that preserve your privacy. Cookies are separated by container, allowing you to use the web with multiple identities or accounts simultaneously.
https://addons.mozilla.org/firefox/addon/multi-account-containers/
Mozilla Public License 2.0
2.73k stars 342 forks source link

MAC doesn't detect Mozilla VPN on Fedora 35 #2246

Closed dannycolin closed 2 years ago

dannycolin commented 2 years ago

Actual behavior

MAC doesn't detect that Mozilla VPN 2.7.0 is running on my computer so I can't configure the location server for a container.

image

Expected behavior

MAC should detect Mozilla VPN and let me configure it in a container

Steps to reproduce

  1. Install Mozilla VPN from the official GitHub repository
  2. Install MAC from AMO
  3. Open Manage Containers in MAC
  4. Choose a container

Notes

[SOLVED] I enabled ipv6 and MAC now detects Mozilla VPN.

rpl commented 2 years ago

@dannycolin Firefox on Fedora 35 is using a flatpak package, right?

If that is the case as I'm assuming, then this is likely a duplicate of Bug 1738441 (which is currently pending on my needinfo request, I'm going to give it a look as soon as possible and then update that bugzilla issue).

dannycolin commented 2 years ago

@dannycolin Firefox on Fedora 35 is using a flatpak package, right?

If that is the case as I'm assuming, then this is likely a duplicate of Bug 1738441 (which is currently pending on my needinfo request, I'm going to give it a look as soon as possible and then update that bugzilla issue).

No, I use the tarball version from Mozilla.

billyzs commented 2 years ago

I'm having this issue as well on Arch with natively installed firefox. The VPN daemon is enabled via systemd and running, the VPN app can establish connections, but MAC extension does not detect that the VPN is available. I've tried reinstalling the extension, making sure the permission to talk to other applications is enabled, but it didn't help. Is this a problem with the extension or the VPN? If it's with VPN, where should I file this bug to? MozillaVPN's github issues page seem to be a mirror of an internal JIRA instance.

% pacman -Qi firefox
Name            : firefox
Version         : 95.0.2-1.1

% pacman -Qi mozillavpn
Name            : mozillavpn
Version         : 2.6.0-1

MAC version:

Firefox Multi-Account Containers    extension   8.0.4   true    @testpilot-containers
% systemctl status mozillavpn
● mozillavpn.service - MozillaVPN D-Bus service
     Loaded: loaded (/usr/lib/systemd/system/mozillavpn.service; enabled; vendor preset: disabled)
     Active: active (running) since Sat 2022-01-08 23:41:33 CET; 1h 51min ago
   Main PID: 886 (mozillavpn)
      Tasks: 10 (limit: 18868)
     Memory: 59.3M
        CPU: 4.061s
     CGroup: /system.slice/mozillavpn.service
             └─886 /usr/bin/mozillavpn linuxdaemon
 dbus-inspect -system org.mozilla.vpn.dbus 
/
  org.mozilla.vpn.dbus
    Methods
      version() → (arg_0 String)
      activate(jsonConfig String) → (arg_0 Bool)
      deactivate() → (arg_0 Bool)
      status() → (jsonStatus String)
      runningApps() → (arg_0 String)
      firewallApp(appName String, state String) → (arg_0 Bool)
      firewallPid(rootpid Int32, state String) → (arg_0 Bool)
      firewallClear() → (arg_0 Bool)
      getLogs() → (logs String)
      cleanupLogs() → ()
    Signals
      connected(hopindex Int32)
      disconnected(hopindex Int32)
  org.freedesktop.DBus.Properties
    Methods
      Get(interface_name String, property_name String) → (value Variant)
      Set(interface_name String, property_name String, value Variant) → ()
      @org.qtproject.QtDBus.QtTypeName.Out0 = QVariantMap
      GetAll(interface_name String) → (values Dict{String, Variant})
    Signals
      @org.qtproject.QtDBus.QtTypeName.Out1 = QVariantMap
      PropertiesChanged(interface_name String, changed_properties Dict{String, Variant}, invalidated_properties Array[String])
  org.freedesktop.DBus.Introspectable
    Methods
      Introspect() → (xml_data String)
  org.freedesktop.DBus.Peer
    Methods
      Ping() → ()
      GetMachineId() → (machine_uuid String)
dannycolin commented 2 years ago

@billyzs what's your DE/WM?

Also, I opened the issue here since it's MAC that should communicated with the VPN via the Native Messaging API. However, feel free to also open one on the Mozilla VPN github repository. The devs are monitoring it. If you do so make sure to mention this issue.

billyzs commented 2 years ago

I'm using kde's native Wayland session.

On 9 Jan 2022, at 03:25, Danny Colin @.***> wrote:

 @billyzs what's your DE/WM?

Also, I opened the issue here since it's MAC that should communicated with the VPN via the Native Messaging API. However, feel free to also open one on the Mozilla VPN github repository. The devs are monitoring it. If you do so make sure to mention this issue.

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.

dannycolin commented 2 years ago

/cc @groovecoder

Cimbali commented 2 years ago

This may be a duplicate of the (later) #2315. I see the specfile for Firefox on Fedora35 uses echo "ac_add_options --libdir=\"%{_libdir}\"" − not sure about arch builds.

To confirm, you could go to the about:buildconfig page and check that the configure options contain --libdir=/usr/lib64. You should also see occasional ExtensionError: No such native application mozillavpn ExtensionUtils.jsm:58:5 error messages in the Browser Console.

The proper fix is to get a version of mozilla VPN that contains mozilla-mobile/mozilla-vpn-client@998149e72f4a4850ee5aef0ee1fda3a051ff96c8 (so currently master, as the latest release to date, 2.7.1, does not contain it) and build with qmake-qt5 mozillavpn.pro LIBDIR=/usr/lib64

A (temporary) workaround is to move the VPN file from /usr/lib/mozilla/native-messaging-hosts/mozillavpn.json to /usr/lib64/mozilla/native-messaging-hosts/mozillavpn.json

dannycolin commented 2 years ago

This may be a duplicate of the (later) https://github.com/mozilla/multi-account-containers/issues/2315. I see the specfile for Firefox on Fedora35 uses echo "ac_add_options --libdir=\"%{_libdir}\"" − not sure about arch builds.

I use the Firefox (Nightly) build from Mozilla

To confirm, you could go to the about:buildconfig page and check that the configure options contain --libdir=/usr/lib64. You should also see occasional ExtensionError: No such native application mozillavpn ExtensionUtils.jsm:58:5 error messages in the Browser Console.

--libdir isn't even present on the Mozilla build...

MOZ_AUTOMATION=1 MOZILLA_OFFICIAL=1 --enable-update-channel=nightly MOZBUILD_STATE_PATH=/builds/worker/.mozbuild MOZ_FETCHES_DIR=/builds/worker/fetches ENABLE_CLANG_PLUGIN=1 MOZ_STDCXX_COMPAT=1 --enable-profile-use=cross --with-pgo-profile-path=/builds/worker/fetches/merged.profdata --with-pgo-jarlog=/builds/worker/fetches/en-US.log MOZ_LTO=cross MOZ_NO_PIE_COMPAT=1 --enable-js-shell --enable-rust-simd --enable-default-toolkit=cairo-gtk3-wayland --with-mozilla-api-keyfile=/builds/mozilla-desktop-geoloc-api.key --with-google-location-service-api-keyfile=/builds/gls-gapi.data --with-google-safebrowsing-api-keyfile=/builds/sb-gapi.data --with-branding=browser/branding/nightly

A (temporary) workaround is to move the VPN file from /usr/lib/mozilla/native-messaging-hosts/mozillavpn.json to /usr/lib64/mozilla/native-messaging-hosts/mozillavpn.json

Even if --libdir wasn't present, I tried this workaround just in case but as I was suspecting it didn't resolve the issue.

dannycolin commented 2 years ago

Enabling ipv6 solved my issue.