Skip to content
/ findfox Public

Send remote commands over DBus to Firefox instances

License

Notifications You must be signed in to change notification settings

ayosec/findfox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

findfox

Send remote commands to a specific Firefox instance, using its remote protocol over DBus.

Usage

List Instances

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.

Send Commands

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

Compatibility

The implementation is tested against Firefox 94.

License

Apache 2.0