Skip to content
This repository has been archived by the owner on Jan 22, 2020. It is now read-only.

Simple script to vacuum and reindex sqlite databases used by Firefox and by Chrome/Chromium.

License

Notifications You must be signed in to change notification settings

NoMacSec/profile-cleaner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Profile-cleaner

Use profile-cleaner to reduce the size of browser profiles by organizing their sqlite databases using sqlite3's vacuum and reindex functions. The term "browser" is used loosely since profile-cleaner happily works on some email clients and newsreaders too.

Supported Browsers

Packages by Distro

Debian Users

To add the PPA (personal package archive) to your Debian (tested on squeeze) system, and to install psd, do the following as the root user:

echo "deb http://ppa.launchpad.net/graysky/utils/ubuntu quantal main" > /etc/apt/sources.list.d/graysky.list
echo "deb-src http://ppa.launchpad.net/graysky/utils/ubuntu quantal main" >> /etc/apt/sources.list.d/graysky.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FF7F9516
apt-get update
apt-get install profile-cleaner

Gentoo Users

Profile cleaner is in the main repo:

emerge -av app-admin/profile-cleaner

Mint Users

To add the PPA (personal package archive) to your Mint system (tested on 14.1), and to install psd:

sudo add-apt-repository ppa:graysky/utils
sudo apt-get update
sudo apt-get install profile-cleaner

Ubuntu Users

To add the PPA (personal package archive) to your Ubuntu (packages available for Lucid and newer) system, and to install psd:

sudo add-apt-repository ppa:graysky/utils
sudo apt-get update
sudo apt-get install profile-cleaner

Other Distros

If you are interested in packaging psd for your favorite distro, please contact me.

Dependencies

  • bash
  • bc
  • findutils
  • sqlite
  • parallel

Sample Output and Results Using an "Uncleaned" Firefox Profile:

Size before: 154.17 Mbytes
Size after:  99.11 Mbytes

$ profile-cleaner f

/home/facade/.mozilla/firefox/zee52krz.default/cookies.sqlite reduced by .87 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/signons.sqlite reduced by .41 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/downloads.sqlite reduced by .56 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/chromeappsstore.sqlite reduced by .03 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/urlclassifier3.sqlite reduced by 43.10 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/formhistory.sqlite reduced by .11 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/addons.sqlite reduced by 0 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/permissions.sqlite reduced by 0 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/content-prefs.sqlite reduced by 0 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/extensions.sqlite reduced by 0 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/webappsstore.sqlite reduced by 0 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/OfflineCache/index.sqlite reduced by 0 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/search.sqlite reduced by 0 Mbytes
/home/facade/.mozilla/firefox/zee52krz.default/places.sqlite reduced by 9.98 Mbytes

firefox profile reduced by 55.06 Mbytes

Speed Comparison

28-Nov-2012 Profile-cleaner has been rewritten to use GNU Parallel for processing.

Here is a contrived example cleaning 6 firefox profiles comparing the classical version of Profile-cleaner which used for loops to process profiles to the new version:

  • There are a total of 312 M in the 6 "dirty" profiles.
  • Test machine is an Intel 3770K @ 4.50 GHz.
  • After cleaning there is a total of 213 M in the 6 "clean" profiles.

new 4.07s user 0.42s system 318% cpu 1.411 total

old 8.15s user 0.43s system 95% cpu 8.942 total

Your mileage may vary.

About

Simple script to vacuum and reindex sqlite databases used by Firefox and by Chrome/Chromium.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 90.6%
  • Makefile 9.4%