The native component of the Profile Switcher for Firefox extension. Written in Rust.
Please forgive the messy code as I wrote this as practice to help me learn Rust 😅.
Native connector software for the 'Profile Switcher for Firefox' extension.
License: GNU General Public License v3.0
The native component of the Profile Switcher for Firefox extension. Written in Rust.
Please forgive the messy code as I wrote this as practice to help me learn Rust 😅.
I think it'd be great if this supported Firefox forks. I was hoping to use this with LibreWolf on my Fedora 35 install (KDE/Wayland), kept getting "Setup incomplete!" in the add-on and found out that it only works in Firefox.
When I open a new profile on an M1 Mac the Firefox instance is running with Intel emulation. I'd expect it to be running natively. My original Firefox instance is running natively.
The ff-pswitch-connector
on my machine is X86_64.
% file /usr/local/bin/ff-pswitch-connector
/usr/local/bin/ff-pswitch-connector: Mach-O 64-bit executable x86_64
I would like to reinstall the extension and could not find any documentation on how to uninstall the binary part
I've followed the instructions given here but the extension still says that setup is incomplete. The browser console shows this error message:
OS: Artix Linux 6.0.7.artix1-1
LibreWolf-bin 106.0.4-1 (AUR)
firefox-profile-switcher-connector-bin 0.1.1-1 (AUR)
I got a request to update this from profile switcher. As I see there are no updates to the code recently then I think this has been exploited and should be blocked
Hi. I am having problems compiling for NixOS.
I am getting the following error messages:
error: failed to run custom build command for `nng-sys v1.4.0-rc.0`
Caused by:
process didn't exit successfully: `/home/jefferson/workspace/firefox-profile-switcher-connector/target/release/build/nng-sys-cc321bf4e0b088b8/build-script-build` (exit status: 101)
--- stdout
cargo:rustc-cfg=try_from
CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
HOST_CMAKE_TOOLCHAIN_FILE = None
CMAKE_TOOLCHAIN_FILE = None
CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
HOST_CMAKE_GENERATOR = None
CMAKE_GENERATOR = None
CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
HOST_CMAKE_PREFIX_PATH = None
CMAKE_PREFIX_PATH = None
CMAKE_x86_64-unknown-linux-gnu = None
CMAKE_x86_64_unknown_linux_gnu = None
HOST_CMAKE = None
CMAKE = None
running: "cmake" "/home/jefferson/.cargo/registry/src/github.com-1ecc6299db9ec823/nng-sys-1.4.0-rc.0/nng" "-DNNG_TESTS=OFF" "-DNNG_TOOLS=OFF" "-DNNG_ENABLE_STATS=OFF" "-DNNG_ENABLE_TLS=OFF" "-DCMAKE_INSTALL_PREFIX=/home/jefferson/workspace/firefox-profile-switcher-connector/target/release/build/nng-sys-d6d52e806f81ce06/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/run/current-system/sw/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/run/current-system/sw/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/run/current-system/sw/bin/cc" "-DCMAKE_BUILD_TYPE=Release"
-- Configuring for NNG version 1.4.0
-- Building static libs.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jefferson/workspace/firefox-profile-switcher-connector/target/release/build/nng-sys-d6d52e806f81ce06/out/build
running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--parallel" "12"
Consolidate compiler generated dependencies of target nng
[ 0%] Linking C static library libnng.a
--- stderr
make: warning: -j12 forced in submake: resetting jobserver mode.
Error running link command: No such file or directory
make[2]: *** [CMakeFiles/nng.dir/build.make:1426: libnng.a] Error 2
make[1]: *** [CMakeFiles/Makefile2:723: CMakeFiles/nng.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
thread 'main' panicked at '
command did not execute successfully, got: exit status: 2
build script failed, must exit now', /home/jefferson/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.48/src/lib.rs:975:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
Any advise on how to fix the problem?
Also, is there any chance you could provide an AppImage version of the connector?
Thanks a lot.
What is currently missing for macos support? (except signing the executable)
I am also happy to take a look and create a pull request, but I would appreciate some hints on the current state then 👍
Probably a false-positive given the lower than usual hit-rate, but BitDefender (and at least one other engine) is flagging (and quarantining) v0.0.8 of the firefox-profile-switcher-connector.exe
as a virus.
OS: Windows 11 Ent. (v10.0.220000)
Worth looking into the reason for the detection and flagging it with BitDefender as a false positive if so?
https://www.bitdefender.com/submit
Unfortunately I don't have enough Rust experience to assist on this one.
The file C:\Users\Username\AppData\Local\FirefoxProfileSwitcher\native-connector\firefox-profile-switcher-connector.exe is infected with Gen:Variant.Razy.985422 and was moved to quarantine. It is recommended that you run a System Scan to make sure your system is clean.
I am trying to configure this extension to work with LibreWolf on MacOS. I tried following #8 but I am unable to get it to work. I think I am symlinking the ax.nd.profile_switcher_ff.json
file properly with the following command:
sudo ln -sf "$(brew ls -l firefox-profile-switcher-connector | grep -i ax.nd.profile_switcher_ff.json | head -n1)" "/Library/Application Support/librewolf/NativeMessagingHosts"/ax.nd.profile_switcher_ff.json
However, I do not think I am able to configure the profile switcher using the second steps you outlined in that issue:
mkdir -p ~/.config/firefoxprofileswitcher echo ' { "browser_profile_dir": "'"$HOME"'/Application\ Support/Librewolf", "browser_binary": "/Applications/LibreWolf.app/Contents/MacOS/librewolf" } ' > ~/.config/firefoxprofileswitcher/config.json
I found that it still points to the directory for Firefox profiles. Is there a different directory for the firefoxprofileswitcher on MacOS?
It says "setup incomplete," but I keep coming back here. Is there another place that I should get this or is it simply a flaw.
To recreate:
What happens:
The second attempt will focus above all windows except the current Firefox window which will still have focus.
What I wish would happen:
The Firefox window with the profile I'm attempting to open will steal focus from the current profile.
Setup:
I have both normal and dev-edition FF installed. Normally both version work as expected - use multiple profiles in release version of FF via about:profiles and open dev-edition separately.
Problem:
After installing profile-switcher-connector which worked fine and i could launch separate profiles with chrome style switcher. Then i needed to use FF dev-edition which i tried to start via separate shortcut. This did not work - it briefly started with window flashing and then default profile from release FF version has opened.
After several FF restarts it appears all profiles are mixed up now.
Update:
With a bit more testing around opening profiles with an incorrect version of FF using -ProfileManager and it appears that the problem does happen without profile-switch-connector. So i must have accidentally selected incorrect profile using profile switcher.
A minor suggestion for the main extension: it could be useful to be able to hide profiles from the dropdown list.
sorry, I wouldn't know where to start looking for debug logs 🤷
Hi my companies computer won't let me install the msi file due to sentinel blockage,
Is there a chance to bypass this by copying the files on whatever necessary Firefox folder? I see that the files are three of them when i open the msi with 7 zip but dunno where allocate them.
Thanks in advance.
Please explain in its working mechanism in the README.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.