Fire Fox Anatomy
My friend wanted to install FireFox. And not just to install, but so that it is "like yours." FireFox has a built-in tool for publishing a list of installed add-ons. I immediately used it and published my additions. But since a person’s friend is not very close to IT, although he is also lazy, he didn’t want to go anywhere, download, install, configure. He says "why all this, you have everything on a flash drive, just copy it to me."
I had to think it over: you just can’t copy, except for the FireFox settings and its plug-ins, there are still passwords, history of visits, favorites. Why would he know whatpornI wandered sites. I don’t want to clean it manually. All this is stored in files, not in the registry - FireFox is cross-platform, but in Linux there is no registry, as far as I know. So the files in which all this is stored should be replaced with files from a freshly installed FireFox.
Minimum task: find out where FireFox store saved passwords and history.
The maximum task: to form a general opinion on the purpose of files in the FireFox directory.
I warn you right away, all that I managed to find out is not the result of disassembly, debugging, translation of manuals, code analysis. This is a simple comparison of directories, reading configs in notepad, and experiments with replacing files with two installed FireFox s.
So, we try to turn on intuition, since the names are quite meaningful there, we look at the directory of the newly installed FireFox and we see such subdirectories there:
And also the files in the FireFox directory:
Now, without turning off your intuition, consider the user profile directory, which has the following subdirectories:
as well as files:
As you can see, there are still questions about some files. For other files, I'm not sure that they perform exactly the role that is assigned to them here. I hope that someone can add in the comments or write a post about the internal structure of our beloved Fire Fox. And maybe his new version, which we are promised in February. Have fun surfing everything.
PS
Well, I solved the minimum task
- by clearing the bookmarkbackups directory;
- replacing cookies.sqlite, downloads.sqlite, formhistory.sqlite, search.json, signons.sqlite files;
- deleting session * .rdf files that store the history of visited sites.
I had to think it over: you just can’t copy, except for the FireFox settings and its plug-ins, there are still passwords, history of visits, favorites. Why would he know what
Minimum task: find out where FireFox store saved passwords and history.
The maximum task: to form a general opinion on the purpose of files in the FireFox directory.
I warn you right away, all that I managed to find out is not the result of disassembly, debugging, translation of manuals, code analysis. This is a simple comparison of directories, reading configs in notepad, and experiments with replacing files with two installed FireFox s.
So, we try to turn on intuition, since the names are quite meaningful there, we look at the directory of the newly installed FireFox and we see such subdirectories there:
chrome - contains jar files with their manifests, and the manifest format is not Windows;
components - Java scripts that are responsible for one or another FireFox functionality (you can guess the purpose by the file name, for example, what is your name: NetworkGeolocationProvider.js);
defaults - scripts and styles common to all profiles;
dictionaries - spelling dictionaries (for the HunSpell engine );
extensions - add-ons common to everyone (usually there is only a default theme);
greprefs - FireFox engine settings in the form of Java scripts;
modules - additional Java scripts for working with different baubles (for example, for microformats );
plugins - plugins common to all (by default there is only Mozilla Default Plugin, the purpose of which is to monitor updates of other plugins or, if necessary, display messages about a missing plugin);
res - some CSS styles, fonts and drawings (and it will be interesting for a web designer to look at the “directories” in the “dtd” subdirectory and let them come with you <,> and & );
searchplugins - search engines (the ones that are "found using ...");
uninstall - a program for uninstalling and installation log files (I do not recommend uninstalling, sometimes it is needed when updating FireFox).
And also the files in the FireFox directory:
AccessibleMarshal.dll - to be honest, I don’t know what this ActiveX library is, everything works for me even without registering it in the system;
application.ini, platform.ini - some unimportant settings;
blocklist.xml - a list of plugins blocked for installation;
browserconfig.properties - despite the loud name, just setting up the "home page";
crashreporter.exe, crashreporter.ini, crashreporter-override.ini - the very application that starts when FireFox crashes , plus its settings;
dependentlibs.list - a list of libraries required for FireFox to work in this operating system;
freebl3.dll, nspr4.dll, nss3.dll, nssckbi.dll, nssdbm3.dll, nssutil3.dll, plc4.dll, plds4.dll, softokn3.dll, smime3.dll, ssl3.dll, xpcom.dll - those are “Required libraries”, as I understand it, are wrappers for working with files, directories and the cryptosystem of the operating system (the ns prefix indicates the parent of FireFox - Netscape);
freebl3.chk, nssdbm3.chk, softokn3.chk - digital signatures of some libraries (or maybe not signatures, or maybe not digital);
firefox.exe - it’s the one that’s fire :)
install.log - installation log (you can look at installation errors, or you can just delete it);
js3250.dll - Java script engine;
License- MOZILLA PUBLIC LICENSE Version 1.1 - exactly so, in capital letters;
mozcpp19.dll, mozcrt19.dll - wrappers over objects of the operating system (types, lines, threads, threads and functions for working with them) - this is the price of cross-platform (it’s just scary to look at the headers);
plugin-container.exe - for some time now the add-ons are executed in the sandbox, which is implemented by this application (it often helps out when working with curved add-ons);
README.txt - a file that no one ever reads (there is basically nothing to read there);
sqlite3.dll - SQLite database engine (it is used in FireFox);
updater.exe, update.locale, updater.ini- the updater and its settings (update.locale - sister of talent);
xul.dll - a layer between content and plugins (I may be wrong);
Now, without turning off your intuition, consider the user profile directory, which has the following subdirectories:
bookmarkbackups - contains a bookmark file and its backups in JSON format (the fact that json is easy to read is a lie, I almost broke my eyes when I opened it in notepad);
chrome - custom css styles;
extensions - add-ons (this is the official translation);
minidumps - stores minidumps of memory recorded when FireFox crashed;
searchplugins - custom search engines;
as well as files:
blocklist.xml - a list of plugins blocked for installation;
bookmarks.html - stub page for bookmarks;
cert_override.txt - root certificates added / blocked by the user;
cert8.db - root certificates;
compatibility.ini -?
compreg.dat - registered for execution Java-scripts / components
content-prefs.sqlite - some FireFox settings;
cookies.sqlite - saved cookies (except flash);
downloads.sqlite - list of downloaded files;
extensions.cache, extensions.ini, extensions.rdf - installed add-ons;
formhistory.sqlite- history of filling html-forms;
key3.db - file storing the key, which saved passwords are encrypted with;
localstore.rdf -?
mimeTypes.rdf - list of known MIME types;
permissions.sqlite - saved permissions for sites (for example, addons.mozilla.org can install add-ons);
places.sqlite - location of cached resources;
places.sqlite-journal -? log of current cached resources?
pluginreg.dat - list of registered plugins (not to be confused with add-ons);
prefs.js - user settings;
search.json - history of search queries;
search.sqlite-? history of search queries (for some reason, nothing is written here, maybe in the future)?
secmod.db -? encryption and token settings?
signons.sqlite - saved passwords;
urlclassifierkey3.txt -?
webappsstore.sqlite -? saved RSS feeds?
xpti.dat -? something related to ActiveX?
As you can see, there are still questions about some files. For other files, I'm not sure that they perform exactly the role that is assigned to them here. I hope that someone can add in the comments or write a post about the internal structure of our beloved Fire Fox. And maybe his new version, which we are promised in February. Have fun surfing everything.
PS
Well, I solved the minimum task
- by clearing the bookmarkbackups directory;
- replacing cookies.sqlite, downloads.sqlite, formhistory.sqlite, search.json, signons.sqlite files;
- deleting session * .rdf files that store the history of visited sites.