Sync Firefox Extension
Firefox 3 will supposedly have the functionality to sync profiles making this project unnecessary. This extension is therefore deprecated and no longer maintained unless someone would like to sponsor it.
I love google and the work that they're doing. But i wouldn't use an extension such as google browser sync except if i could put the information on my own server and the extension is open source. And since i need functionality to sync different firefox profiles on different platforms, the sync extension was born.(Its not an original name, i know....if anybody has any ideas, please help)
So far, the extension can only sync passwords across profiles, and it needs an ftp account on a server(could be on your network or could be on the Internet, or could be your own machine). The next steps would be to introduce bookmark handling, persistent cookies, history and visit history.
The way you use it, is to install the extension on all firefox profiles that you need synced. Then you need to setup, manually, an ftp account. You set the ftp information in the options of the extensions, and you press on the sync option in the Tools menu. When you do this on each computer, the extension will update its cache of passwords(and rejects) then sync that with your own profile.(so basically it stores the passwords that it doesn't have and send the passwords that are not there). So each profiles that you sync, will have the superset of passwords so that eventually, all the profiles will have the same passwords.
The extension is still rough around the edges, and this is after several re-writes.(as i said before, mozilla apis suck) So for example, the server will always hold a superset of all the passwords of all your profiles(no repeats ofcourse) and you cannot change it, you can only add to it. However, the cache that stores the passwords on the ftp server is a simple xml text file which you can edit yourself if you need to. Plus, on first run, the extension will backup your profiles current passwords file(which is called signons.txt in your profile directory) so that if things get messy, you can always get it back.
I don't believe in half-baked applications. Having said that, i am aware that this extension is lacking in several features and i tend to fix that.(i somehow got it to the point where it served my needs and sort of got bored with it) In addition to that, the extension is under the GPL or MPL and you're free to modify it in any way. If you do(or want to do) something interesting please tell me about it so that we can share.
I also noticed a trend where writers of free software often do not document their code or explain their architecture at least which is very bad.(since you can't contribute to something you can't understand) So in addition to the above, i tried to document my code(inline comments) as much as i can and followed simple naming practice and so on. So if somebody wants to read the code to use in something else, or to learn how extensions works, or even to suggest fixes and improvements. It should be much easier(you can't believe the crap that i had to go through to find out about all of things that i now know about extensions). If anything is lacking or is confusing in anyway, please also tell me about that.
The tar file of the source code is here. Along with a build file if you change the code.
It seems firefox 3 will finally have the profile synchronization function enabled, so this extension will be outdated by then. However, i will keep it for reference.

