Send remote commands to a specific Firefox instance, using its remote protocol over DBus.
With no arguments, findfox
will print the Firefox instances found in DBus. It
also tries to decode the profile name from the identifier.
Example:
$ findfox
d29yaw__ work
YmFua2luZw__ banking
cGVyc29uYWw_ personal
The first column is the identifier generated by Firefox. In the current
implementation, this identifier is the profile name encoded as Base64, but the
characters +
, /
, =
, and -
are replaced with _
.
To get the original name, findfox
assumes that all _
are =
, and then
decode the string as Base64. If the original string contains any one of +
,
/
, or -
, the decode will fail. It is still possible to send commands to that
instance, because findfox
only requires the generated identifier.
To send a remote command to a Firefox instance use the following command:
findfox send $ID args*
args*
is the command line required by Firefox.
For example, to open https://example.com
in a private window:
$ findfox send d29yaw__ firefox --private-window https://example.com
The implementation is tested against Firefox 94.