Projects/AndroidDolphinHDFirefoxSyncPlugin
From marcuswolschon
Contents |
description
Standalone app and DolphinHD -plugin to implement a client for Firefox Sync
standalone app
View, copy to clipboard and open tabs, bookmarks and of cause stored passwords from the weave server.
- AndroidPit
- AndroidPit(light)
- Admob (Advertisements in the free version)
DolphinHD plugin
Oneway-sync stored passwords (form-based and HTTP Auth) from the server into the browser and open tabs from other computers.
engineering notes
overview
- Sorage API (v1)
- used by Sync API (v1.1)
- using Data Model (v3)
Contact the server
- HTTP basic auth
- SSL
- basic REST
settings from about:settings in a Firefox:
- services.sync.clusterURL="https://phx-sync057.services.mozilla.com/"
- services.sync.serverURL="https://auth.services.mozilla.com/"
- services.sync.userURL="user/"
- services.sync.miscURL="misc/"
- services.sync.storeAPI="1.0"
api: Sync API 1.0
CURL examples:
curl --user marcuswolschon:XXXXXXX -v "https://phx-sync057.services.mozilla.com/1.0/marcuswolschon/info/collections" curl --user marcuswolschon:XXXXXXX "https://phx-sync057.services.mozilla.com/1.0/marcuswolschon/storage/passwords" curl --user marcuswolschon:XXXXXXX "https://phx-sync057.services.mozilla.com/1.0/marcuswolschon/storage/passwords?full=true" curl --user marcuswolschon:XXXXXXX "https://phx-sync057.services.mozilla.com/1.0/marcuswolschon/storage/crypto/passwords" curl --user marcuswolschon:XXXXXXX "https://phx-sync057.services.mozilla.com/1.0/marcuswolschon/storage/tabs?full=true" [{"id":"...", "modified":1290261980.53, "payload":"{\"ciphertext\":\"...\",\"encryption\":\"..\/crypto\/tabs\",\"IV\":\"...==\",\"hmac\":\"...\"}"}, {"id":"...", "modified":1290432830.44, ... }]
History in WebKit:
- get history: browserActivity.getTabControl().getCurrentTab().getTopWindow().copyBackForwardList()
- put history only possible using restore(Bundle).
- source
- saveState(), then modify the bundle, then restoreState()?
- Bundle contains WebHistoryItem immuatable, uses byte[]
- restoring history from Mozilla Weave to a new Tab failed.
DONE
- decryption works now
- simple Android application to show stored passwords, tabs and bookmarks published
- simple DolphinHD plugin to open tabs from other computers
- choosing a server
- google groups post
- implemented in plugin versions >1
- import of passwords for forms and http-auth
- implemented in plugin version 1.1
- send tabs to the server
- import bookmarks from the server
- implement SimplifiedCrypto and storage format 4 to be compatible with the latest Firefox Betas
TODO
- extend plugin to send passwords to the server instead of just receiving them
- extend plugin to send bookmarks to the server instead of just receiving them
- implement sending and receiving history
- importing form-data seems to be incompatible. Firefox stores them independent of the form while in Webkit they are bound to a specific form URL
links
specifications
- Weave sync API 1.0
- Weave sync API 1.1
- Firefox sync (worklog?)
- sync-service
- objects (specification)
cryptography
sourcecode
- Fennec resopitory and build environment
- firefox sourcecode
- firefox sourcecode - crossreferenced
- server-changelog
- WebViewDatabase.java




