This is the desktop Firefox client for PiCL (Profile in the CLoud). This add-on will sync passwords, tabs, and bookmarks with the picl-server, encrypted with keys provided by the picl-keyserver. (Note: encryption is currently not being done.)
Running and testing the PICL Desktop Client requires the Jetpack SDK. Installation instructions are here. Testing and running the add-on depends heavily on cfx, a command line tool included with the SDK.
By default, the add-on runs against and is tested against the “standup” dev servers. To run it against locally running servers, set LOCAL_SERVERS=true in lib/config.js. When LOCAL_SERVERS=true, the add-on assumes the key server is running at 127.0.0.1:8090 and the storage server is running at 127.0.0.1:8080.
WARNING
THIS IS DEVELOPMENT-QUALITY, PRE-ALPHA SOFTWARE. IT IS LACKING MANY SECURITY MECHANISMS, DOES NOT USE AUTHENTICATION OR ENCRYPTION, HAS NO DATA BACKUP, AND IS NOT STABLE. YOU MAY LOSE ALL YOUR PROFILE DATA WITH THIS ADD-ON. USE THIS ADD-ON WITH TEST PROFILES AND DATA ONLY.
The UI to log in and log out of PICL is still a work in progress. Since we are currently using the “null security architecture”, you can log in to PICL with any email address. To launch the add-on and log in as a specific email address:
cfx run --static-args="{ \"email\": \"<email>\"}"
If no email is given via --static-args, then the add-on will use a test account by default.
Logging in with Persona
The add-on also supports “login to the browser” with Persona, but you need a special build of Nightly. When using this special build of Nightly, first log in to the browser via Persona Login in the Tools menu. After logging in to the browser, follow the instructions for “Using PICL” below.
You can launch the add-on with this special Nightly build with:
cfx run -a firefox -b /path/to/special/nightly/binary
e.g.:
cfx run -a firefox -b /Applications/FirefoxNightly.app/Contents/MacOS/firefox
Using PICL
The add-on adds PICL Start and PICL Stop
menu items to the Firefox Tools menu. PICL Start will start syncing against either the specified account or test account, and PICL Stop will stop syncing. Currently, bookmarks, passwords, and tabs are synced.
PICL Start will also open a page that shows your open tabs on this and other synced browsers. You can reopen this page via the PICL Tabs menu item.
Testing
Tests are included in the test subdirectory and are Javascript files prefixed with test-.
To run all the tests:
cfx test --verbose
To run only a subset of the tests, use -f FILENAME[:TESTNAME], where FILENAME and TESTNAME are both regular expressions, for example:
cfx test --verbose -f storageserver:getCollectionsInfo
To run tests in a way that filters the annoying warnings:
cfx test --verbose 2>&1 >/dev/null | grep -v NS_ERROR_XPC_BAD_CONVERT
The -b and -p switches apply here as well. More cfx test options are here.
PICL Desktop Client
This is the desktop Firefox client for PiCL (Profile in the CLoud). This add-on will sync passwords, tabs, and bookmarks with the picl-server, encrypted with keys provided by the picl-keyserver. (Note: encryption is currently not being done.)
Running and testing the PICL Desktop Client requires the Jetpack SDK. Installation instructions are here. Testing and running the add-on depends heavily on cfx, a command line tool included with the SDK.
By default, the add-on runs against and is tested against the “standup” dev servers. To run it against locally running servers, set
LOCAL_SERVERS=trueinlib/config.js. WhenLOCAL_SERVERS=true, the add-on assumes the key server is running at127.0.0.1:8090and the storage server is running at127.0.0.1:8080.WARNING
THIS IS DEVELOPMENT-QUALITY, PRE-ALPHA SOFTWARE. IT IS LACKING MANY SECURITY MECHANISMS, DOES NOT USE AUTHENTICATION OR ENCRYPTION, HAS NO DATA BACKUP, AND IS NOT STABLE. YOU MAY LOSE ALL YOUR PROFILE DATA WITH THIS ADD-ON. USE THIS ADD-ON WITH TEST PROFILES AND DATA ONLY.
Running
To run in a temporary profile:
To run with an existing profile:
To run with a different build of Firefox:
More cfx run options are here.
Logging in with the NULL security architecture
The UI to log in and log out of PICL is still a work in progress. Since we are currently using the “null security architecture”, you can log in to PICL with any email address. To launch the add-on and log in as a specific email address:
If no email is given via
--static-args, then the add-on will use a test account by default.Logging in with Persona
The add-on also supports “login to the browser” with Persona, but you need a special build of Nightly. When using this special build of Nightly, first log in to the browser via
Persona Loginin theToolsmenu. After logging in to the browser, follow the instructions for “Using PICL” below.You can launch the add-on with this special Nightly build with:
e.g.:
Using PICL
The add-on adds
PICL StartandPICL Stopmenu items to the FirefoxToolsmenu.PICL Startwill start syncing against either the specified account or test account, andPICL Stopwill stop syncing. Currently, bookmarks, passwords, and tabs are synced.PICL Startwill also open a page that shows your open tabs on this and other synced browsers. You can reopen this page via thePICL Tabsmenu item.Testing
Tests are included in the
testsubdirectory and are Javascript files prefixed withtest-.To run all the tests:
To run only a subset of the tests, use
-f FILENAME[:TESTNAME], whereFILENAMEandTESTNAMEare both regular expressions, for example:To run tests in a way that filters the annoying warnings:
The
-band-pswitches apply here as well. More cfx test options are here.