Jak uzyskać dostęp do zakładek Firefox Sync bez Firefoksa

Firefox 4 synchronizuje zakładki i inne ustawienia z hostem uruchamianym przez Mozillę.

  • Jak uzyskać dostęp do zakładek (bez Firefoksa)?
  • czy istnieje udokumentowane API?

Wydaje się https://developer.mozilla.org/en/Firefox_Sync powinny zawierać niezbędną dokumentację, ale wszystkie linki z wyjątkiem pierwszego punktu do pustych stron.

Znalazłem skrypt o nazwie weave.py tutaj https://github.com/mozilla/weaveclient-python/blob/master/weave.py to ma być w stanie uzyskać dostęp do tych zakładek, ale nie jest w stanie użyć moich poświadczeń. Wydaje się, że oczekuje się nazw użytkowników bez znaków"@".

Czy jest jakaś dokumentacja, jak uzyskać dostęp do danych Firefox sync. Najlepiej z przykładami.

W tej chwili nawet nie znam punktu wejścia do tego rzekomego serwisu internetowego.

When I go to https://services.mozilla.com / mogę zmienić hasło i prawdopodobnie wszystko usunąć.

Author: Dirk Jäckel, 2011-05-22

3 answers

Jeśli spojrzysz na https://wiki.mozilla.org/Services/Sync , myślę, że to jest dokumentacja, którą chcesz. Więcej szczegółów na https://wiki.mozilla.org/Labs/Weave/Sync/1.1/API .

 6
Author: Femi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-22 16:09:26

Rzeczywiście, nazwa użytkownika to sha1 + base32. Kod Pythona:

import base64
import hashlib
base64.b32encode(hashlib.sha1('[email protected]').digest()).lower()
 5
Author: ayke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-07 09:01:43

WeaveID zwracany przez ID.get("WeaveID").username jest rzeczywiście hashowany przez SHA-1 i kodowany przez base32. Dobrym sposobem na to w Javie jest użycie kodeka Apache Commons, który zawiera Base32 od wersji 1.5:

public String getWeaveID(String email) throws UnsupportedEncodingException
{
    byte[] sha = DigestUtils.sha(email.getBytes("UTF-8"));
    Base32 b32 = new Base32(64, new byte[]{ }, false);
    return b32.encodeToString(sha).toLowerCase();
}
 0
Author: david_p,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-23 20:10:48