BleachBit system cleaner for Windows and Linux

Overview

BleachBit

BleachBit cleans files to free disk space and to maintain privacy.

Running from source

To run BleachBit without installation, unpack the tarball and then run these commands:

make -C po local # build translations
python3 bleachbit.py

Then, review the preferences.

Then, select some options, and click Preview. Review the files, toggle options accordingly, and click Delete.

For information regarding the command line interface, run:

 python3 bleachbit.py --help

Links

Licenses

BleachBit itself, including source code and cleaner definitions, is licensed under the GNU General Public License version 3, or at your option, any later version.

markovify is licensed under the MIT License.

Development

Comments
  • Application window stays minimized with dual monitors, Windows 10, BleachBit 3

    Application window stays minimized with dual monitors, Windows 10, BleachBit 3

    On Win10, BB 3.0 will sometimes stay minimised in the task bar and cannot be restored to a normal window. (a) Sometimes this happens if I close BB when the window is open on one monitor and then open BB later in a different multi-monitor configuration. (b) Sometimes this happens when I maximise the BB window on a monitor that is not the primary monitor and then minimise the window; I can't restore the window and have to kill the process.

    I have reverted to BB 2.2

    Microsoft Windows 10 Enterprise Version 10.0.17134 Build 17134

    bug priority:high gui 
    opened by notonymous 46
  • BleachBit v4.4.0 display unreadble text after installed on win7(64bit), Simplified Chinese os

    BleachBit v4.4.0 display unreadble text after installed on win7(64bit), Simplified Chinese os

    Describe the bug The newest BleachBit v4.4.0 display unreadble text when I installed it on win7(64bit), Simplified Chinese operating system. Please see the screenshots below. I like this tools and expect this could be resolved, thank you.

    To Reproduce

    1. install the Bleachbit new version v4.40
    2. It prompt old version BleachBit already exist, and follow the instructions to unstall the old one(v4.0.0)
    3. continue to install BleachBit v4.4.0
    4. run the BleachBit by click from the start menu on win7 64bit, Simplified Chinese operating system.
    5. It display unreadble text srceen after the window opened.

    The error happens (sometimes/every time).

    Expected behavior Tt should display nornal Simplified Chinese screen just like the install process.

    Screenshots bleachbit bug1

    Desktop (please complete the following information):

    • OS: win7 bit64
    • BleachBit version 4.4.0

    Additional context System info displayed by BleachBit is list below by texts: BleachBit version 4.4.0 Build number 1929 GTK version 3.18.9 GTK theme = Adwaita GTK icon theme = Adwaita GTK prefer dark theme = True SQLite version 3.35.0 local_cleaners_dir = None locale_dir = C:\Program Files (x86)\BleachBit\share\locale
    options_dir = C:\Users\rs\AppData\Roaming\BleachBit personal_cleaners_dir = C:\Users\rs\AppData\Roaming\BleachBit\cleaners system_cleaners_dir = C:\Program Files (x86)\BleachBit\share\cleaners
    locale.getdefaultlocale = ('zh_CN', 'cp936') os.getenv('APPDATA') = C:\Users\rs\AppData\Roaming os.getenv('cd') = C:\Program Files (x86)\BleachBit os.getenv('LocalAppData') = C:\Users\rs\AppData\Local os.getenv('LocalAppDataLow') = C:\Users\rs\AppData\LocalLow os.getenv('Music') = C:\Users\rs\Music os.getenv('USERPROFILE') = C:\Users\rs os.getenv('ProgramFiles') = C:\Program Files (x86) os.getenv('ProgramW6432') = C:\Program Files os.getenv('TMP') = C:\Users\rs\AppData\Local\Temp os.path.expanduser('~') = C:\Users\rs platform.win32_ver1 = 6.1.7601 platform.platform = Windows-7-6.1.7601-SP1 platform.version = 6.1.7601 sys.argv = ['C:\Program Files (x86)\BleachBit\bleachbit.exe'] sys.executable = C:\Program Files (x86)\BleachBit\bleachbit.exe sys.version = 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] win32com.shell.shell.IsUserAnAdmin() = False file = C:\Program Files (x86)\BleachBit\library.zip\bleachbit\SystemInformation.pyo

    priority:high gui bug: regression 
    opened by huastone2018 42
  • Freeze with preview or cleaning of Steam games (via Winapp2.ini)

    Freeze with preview or cleaning of Steam games (via Winapp2.ini)

    This issue occurs on a Windows 10 laptop running BleachBit 1.12. This has been happening for awhile, but I thought it was an issue with the Winapp2.ini so I didn't report it. Then I realized it shouldn't matter what's in the file, it still shouldn't crash, heh.

    It should be noted I can't duplicate this on systems without Steam, Origin, etc. So it has to be an issue with deleting things that are there because if they aren't there it runs fine.

    I can run all of the other options in BleachBit, but if I choose any of the options within the games category, the crash happens the second the games category starts cleaning.

    The only thing I can do to clean my system is uncheck the games category.

    I'm not really sure what other information I can give, so if you need anything else please let me know. I have included the log file here.

    bleachbit.exe.log

    UPDATE: This issue occurs on Windows 10 regardless of version, and occurs on BleachBit 1.12 and the latest commit built from GitHub.

    The issue is with the "Steam Games", "Steam Installers", and "Steam Logs" entries.

    Those entries contain these values:

    [Steam Games*] Section=Games Detect=HKCU\Software\Valve\Steam Default=False FileKey1=%ProgramFiles%\Steam\steamapps|.mdmp;.tmp;.dmp;.icns;.DS_Store;logfile.;.log;text.txt;output_log.txt;log.txt;log.txt|RECURSE FileKey2=%ProgramFiles%\Steam\steamapps\common*\Cache|.|RECURSE FileKey3=%ProgramFiles%\Steam\steamapps\common*\config\html|.|RECURSE FileKey4=%ProgramFiles%\Steam\steamapps\common*\DebugData|.|RECURSE FileKey5=%ProgramFiles%\Steam\steamapps\common*\docs|.|RECURSE FileKey6=%ProgramFiles%\Steam\steamapps\common**\downloads|.|RECURSE FileKey7=%ProgramFiles%\Steam\steamapps\common*\EULA|.|RECURSE FileKey8=%ProgramFiles%\Steam\steamapps\common*\Manual|.|RECURSE FileKey9=%ProgramFiles%\Steam\Steamapps\temp|.|RECURSE ExcludeKey1=PATH|%ProgramFiles%\Steam\steamapps\common\Supreme Ruler 1936\Cache|. ExcludeKey2=PATH|%ProgramFiles%\Steam\steamapps\common\Supreme Ruler Cold War\Cache|. ExcludeKey3=PATH|%ProgramFiles%\Steam\steamapps\common\Supreme Ruler Ultimate\Cache|.

    [Steam Installers*] Section=Games Detect=HKCU\Software\Valve\Steam Warning=Run this entry AFTER you have launched all of your steam games once, as they will not be able to load for the first time. After the first launch, these files become useless. Default=False FileKey1=%ProgramFiles%\Steam\Steamapps\common|redist.msi;dosbox*.tar.gz;redist.exe;setup.msi;pbsvc.exe;UPlayInstaller*.exe;WMFADist.exe;SPInstaller.exe;python*.msi;bitmap2substance_installer.exe;perforce*.exe;p4vinst*.exe;mcpp*.;firewallinstallhelper.dll;gameuxinstallhelper.dll;eadm-installer.exe;wmpappcompat.exe;umdf.exe;Microsoft .NET Framework.cmd;Microsoft .NET Framework*.bat;NDP*.exe;WMFDist*.exe;PhysX*.msi;PhysX*.exe;d3dx11.cat;d3dx11.inf;prompt.bat;GDFInstall.exe;DSInstaller.exe;d3d*.exe;directx*.exe;.msu;Windows-KB*.exe;cmp.bat;PVRTexTool.exe;wmp11-windowsxp-x86-enu.exe;.vdk;RGB9RAST.msi;WIC*.exe;XPSEPC*.exe;msxml6.msi;AdbeRdr*.;inst.vdf;.cab;.msp;ac3filter.exe;GamesExplorerIntegrationTool.exe;install.ini;globdata.ini;install.exe;install.res..dll;eula..;DSETUP.DLL;oalinst.exe;dsetup32.dll;D3DInstall.exe;D3DInstall.dll;dotnetfx*.exe;vcred*.exe;vcred.msi;WindowsInstaller*.exe;locdata..ini;setupres..dll;setup.exe;wapres..dll;NetFx.|RECURSE

    [Steam Logs*] Section=Games Detect=HKCU\Software\Valve\Steam Default=False FileKey1=%AppData%\SteamVR\Logs|.|REMOVESELF FileKey2=%ProgramFiles%\Steam|.log;log.last;connection_log_.txt;log.txt;remote_connections.txt;vr*.txt|RECURSE FileKey3=%ProgramFiles%\Steam\logs|.* FileKey4=%ProgramFiles%\Steam\vr\runtime\logs|.|RECURSE FileKey5=%LocalAppData%\VirtualStore\Program Files*\Steam|.log;log.last;connection_log_.txt;log.txt;remote_connections.txt;vr**.txt|RECURSE

    enhancement::performance 
    opened by DerekTurtleRoe 37
  • Improve unit tests

    Improve unit tests

    For an eventual py3-transition we need better unit test coverage.

    What's planned / done:

    • [X] Introduce a custom base class with better tempfile handling and asserts
    • [ ] Convert asserts / tempfile creation to use the class
    • [x] Convert asserts from self.assert_ to more meaningful asserts (especially self.assert_(isinstance(...))
    • [ ] test for unicode / bytes explicitly
    opened by tstenner 31
  • Py3-Tracker

    Py3-Tracker

    Todo-tracker for supporting both Python 2 and 3:

    • [X] print statements (PR #153)
    • [x] require six
    • [x] absolute imports
    • [ ] unicode / str-split (types for unit tests)
    • [x] merge GTK 3 port (PyGTK isn't available for Python 2)
    modernization 
    opened by tstenner 31
  • Some cleaner take long to

    Some cleaner take long to "load" at start, when option "only needed" is checked ("Vuze Case")

    Some cleaner take long to "load" at start, when option "only needed" is checked ("Vuze Case") My English... :-D

    OK, I have now the "Vuze Case" also on BiglyBT and on my Windows Cleaner...

    Is it really sure, that the check stops, after the first file, the cleaner finds ???

    Can you display a bit more what the cleaner do in console for debugging ???

    Whats about the case, I cleaned e.g. Vuze immediately before, then the cleaner can't find anything and have to run to the end, right?

    Is maybe a < Detect >-Rule a solution for such scanners that have to scan a big amount of files ???

    enhancement::performance 
    opened by Tobias-B-Besemer 30
  • bleachbit.exe (BleachBit-3.1.0.1507-portable.zip) false positive with ratio 29/70

    bleachbit.exe (BleachBit-3.1.0.1507-portable.zip) false positive with ratio 29/70

    Starting from BleachBit-3.1.0.1496-portable https://www.virustotal.com/gui/file/821f953c72ebfabaa4247caf7c0aa86cb90cd96b2df8e915910605326cbf04a2/detection

    false positive 
    opened by ediowar 29
  • Bleachbit 4 doesn't start in Windows 10 (slow start without feedback to user)

    Bleachbit 4 doesn't start in Windows 10 (slow start without feedback to user)

    I recently tested Bleachbit 4 in Windows 10, but it didn't start at all. I believe I had the latest version; I installed it within the past 48 hours, unless you've updated Bleachbit within that time frame. In case it becomes important, I was running Windows 10 version 1909.

    I do see a bleachbit.exe process in Task Manager, but no Bleachbit window opens. Running bleachbit_console.exe just opens a blank black window that does nothing. Bleachbit 2.0 ran just fine on the same installation of Windows, but I'd rather not have to go back to that.

    priority:high 
    opened by gitthepie 28
  • Mac OSx  Support - Enhancement

    Mac OSx Support - Enhancement

    Love to see Mac OSX Support.

    i started working on it but love to see more people helping me with the effort , i am beginner python coder so it might be over ambitious project.

    opened by brahmastra2016 26
  • sudo bleachbit takes a long time to start on Fedora 35

    sudo bleachbit takes a long time to start on Fedora 35

    https://user-images.githubusercontent.com/63902683/140805646-05046b48-b086-401b-8d0f-7c5dae3cfd5b.mp4

    After upgrading to Fedora 35, the command "sudo bleachbit" takes a long time to execute and sometimes leading to system freeze.

    I have been experiencing the problem ever since I upgraded my system to Fedora 35.

    • OS: Fedora 35
    • BleachBit version: 4.4.0
    new platform: linux 
    opened by Biplab-Dutta 25
  • Internet Explorer not cleaned with non-English folder name

    Internet Explorer not cleaned with non-English folder name

    BleachBit - Unable to Delete Internet Temporary Files IE8 in Windows XP

    After cleaning Internet Temporary Files IE8 in Windows XP the directories and desktop.ini files are not deleted.

    ex. C:\Documents and Settings\username\Local Settings\Temporary Internet Files\Content.IE5\2IW1KED4\desktop.ini C:\Documents and Settings\username\Local Settings\Temporary Internet Files\Content.IE5\LS10OW75\desktop.ini

    C:\Documents and Settings\username\Local Settings\Temporary Internet Files\Content.IE5\desktop.ini C:\Documents and Settings\username\Local Settings\Temporary Internet Files\Content.IE5\index.dat

    The error occurs in the BleachBit version 2.0 and 2.1 Beta

    Help

    bug 
    opened by PiotrMP006 25
  • AttributeError when shredding files from clipboard

    AttributeError when shredding files from clipboard

    To reproduce

    1. In Windows Explorer, copy files to clipboard
    2. In BleachBit application, press CTRL+V

    Or

    1. In Windows Explorer, copy files to clipboard
    2. In BleachBit application, click application menu
    3. Click Shred Paths from Clipboard

    What happens

    Error is printed to console, but no files are previewed or deleted.

    Traceback (most recent call last):
      File "bleachbit\GUI.pyc", line 241, in cb_clipboard_uri_received
    AttributeError: 'NoneType' object has no attribute 'get_uris'
    

    System

    • Build 2310 (new Python 3.10 and GTK 2.24)
    • Windows 10
    modernization gui 
    opened by az0 0
  • "Make chaff" closes the application

    To reproduce

    1. Open application (either with admin permissions or not)
    2. Click the application menu
    3. Choose the Make Chaff option

    What happens

    • Application immediately closes
    • No error message in GUI
    • Nothing printed to console (bleachbit_console.exe)

    System

    • Build 2310 (new Python 3.10)
    • Windows 10
    modernization gui 
    opened by az0 0
  • remove some fontconfig files/code

    remove some fontconfig files/code

    In build 2310 (new Python 3.10), application no longer requires:

    • %localappdata%\fontconfig directory
    • fc-cache.exe
    • etc\fonts directory

    The file fontconfig-1.dll is still needed.

    So remove fontconfig from

    • [ ] bleachbit.nsi
    • [ ] setup_py2exe.py
    • [ ] GUI.py
    • [ ] Windows.py
    • [ ] _init.py (FONTCONFIG_FILE environment variable)
    modernization 
    opened by az0 0
  • Windows 10 theme broken with GTK 2.24 update

    Windows 10 theme broken with GTK 2.24 update

    When enabling the theme in the preferences, the console is filled with pages of messages like this

    (bleachbit_console.exe:7396): Gtk-WARNING **: 15:42:19.734: Theme parsing error: gtk-widgets.css:1:61: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version
    
    (bleachbit_console.exe:7396): Gtk-WARNING **: 15:42:19.748: Theme parsing error: gtk-widgets.css:1:95: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version
    
    (bleachbit_console.exe:7396): Gtk-WARNING **: 15:42:19.760: Theme parsing error: gtk-widgets.css:1:123: The style property GtkButton:default-border is deprecated and shouldn't be used anymore. It will be removed in a future version
    
    (bleachbit_console.exe:7396): Gtk-WARNING **: 15:42:19.772: Theme parsing error: gtk-widgets.css:1:150: The style property GtkButton:image-spacing is deprecated and shouldn't be used anymore. It will be removed in a future version
    
    (bleachbit_console.exe:7396): Gtk-WARNING **: 15:42:19.784: Theme parsing error: gtk-widgets.css:1:176: The style property GtkButton:inner-border is deprecated and shouldn't be used anymore. It will be removed in a future version
    
    (bleachbit_console.exe:7396): Gtk-WARNING **: 15:42:19.798: Theme parsing error: gtk-widgets.css:1:204: The style property GtkWidget:interior-focus is deprecated and shouldn't be used anymore. It will be removed in a future version
    
    (bleachbit_console.exe:7396): Gtk-WARNING **: 15:42:19.810: Theme parsing error: gtk-widgets.css:1:240: The style property GtkButtonBox:child-min-height is deprecated and shouldn't be used anymore. It will be removed in a future version
    
    

    A while ago, Max noted the Windows 10 theme was broken, so this is not news. This is just to track the issue. The theme will either be replaced (fixed) or removed.

    modernization 
    opened by az0 0
  • DynamicImporter.find_spec() not found; falling back to find_module()

    DynamicImporter.find_spec() not found; falling back to find_module()

    This error was seen when cleaning with build number 2310 (Python 3.10) on Windows 10. It happened during the first clean for each application session. (In other words, it did not happen until restarting the application and cleaning again.)

    Delete 942B C:\Users\username\AppData\Roaming\Mozilla\Firefox\Profiles\abc123.default-release\bookmarkbackups\bookmarks-2023-01-01_11_JYVVFSGkZAAD2OYbxWK0yQ==.jsonlz4
    DynamicImporter.find_spec() not found; falling back to find_module()
    
    Disk space recovered: 942B
    Files deleted: 1
    
    modernization 
    opened by az0 0
  • [Feature Request] Smart Cleaning for Browsers

    [Feature Request] Smart Cleaning for Browsers

    Now, I am using CCleaner by two reasons: smart cleaning for browsers and cleaning schedule.

    I think it will be useful if this app also has those features.

    new 
    opened by gracie95 7
Releases(v4.4.2)
4 Oct 28, 2021
Touca SDK for Python

Touca SDK For Python Touca helps you understand the true impact of your day to day code changes on the behavior and performance of your overall softwa

Touca 12 May 18, 2022
Faux is a chatbot bridge between urbit and discord.

Faux Faux is a chatbot bridge between urbit and discord. Whenever a member posts in your discord group, a bot will echo their message in your urbit gr

10 Dec 27, 2022
A telegram bot for generate fake details. Written in python using telethon

FakeDataGenerator A telegram bot for generate fake details. Written in python using telethon. Mandatory variables API_HASH Get it from my telegram.org

Oxidised-Man 6 Dec 19, 2021
A simple Discord Mass-Ban that's still working with Member Scraper.

Mass-Ban [!] This was made for education / you can use for revenge. Please don't skid it. [!] If you want to use it, please use member scraper before

WoahThatsHot 1 Nov 20, 2021
Changes the Telegram bio, profile picture, first and last name to the song that the user is currently listening to.

TGBIOFY - Telegram & Spotify integration Changes the Telegram bio, profile picture, first and last name to the song that the user is currently listeni

elpideus 26 Dec 07, 2022
IACR Events Scraper

IACR Events Scraper This scrapes https://iacr.org/events/ and exports it as a calendar file. I host a version of this for myself under https://arrrr.c

Karolin Varner 6 May 28, 2022
Automatically commits and pushes changes from a specified directory to remote repository

autopush a simple python program that checks a directory for updates and automatically commits any updated files (and optionally pushes them) installa

carreb 1 Jan 16, 2022
Cloud-optimized, single-file archive format for pyramids of map tiles

PMTiles PMTiles is a single-file archive format for tiled data. A PMTiles archive can be hosted on a commodity storage platform such as S3, and enable

Protomaps 325 Jan 04, 2023
QuickStart specific rules for cfn-python-lint

AWS Quick Start cfn-lint rules This repo provides CloudFormation linting rules specific to AWS Quick Start guidelines, for more information see the Co

AWS Quick Start 12 Jul 30, 2022
Wrapper for the Swiss Parliament API for Python

swissparlpy This module provides easy access to the data of the OData webservice of the Swiss parliament. Table of Contents Installation Usage Get tab

Stefan Oderbolz 8 Jun 13, 2022
An automated bot for twitter using Tweepy!

Tweeby An automated bot for twitter using Tweepy! About This bot will look for tweets that contain certain hashtags, if found. It'll send them a messa

Ori 1 Dec 06, 2021
An open-source, multipurpose, configurable discord bot that does it all

Spacebot is an open source discord bot that is designed to be fun, easy to use, and replace every other discord bot out there!! Feel free to add a star ⭐ to the repository to promote the project!

Dhravya Shah 41 Dec 10, 2022
A quick and dirty script to scan the network, find default credentials on services and post a message to a Slack channel with the results.

A quick and dirty script to scan the network, find default credentials on services and post a message to a Slack channel with the results.

Security Weekly 11 Jun 03, 2022
The community bot for the Python Discord community

Python Utility Bot This project is a Discord bot specifically for use with the Python Discord server. It provides numerous utilities and other tools t

Python Discord 998 Jan 03, 2023
You can connect with Sanila Ranatunga using this botπŸ˜‰πŸ˜‰

Sanila-Ranatunga-s-Assistant-Bot You can connect with Sanila Ranatunga using this bot πŸ˜‰ πŸ˜‰ Reach me on Telegram Sanila's Assistant Bot What is Telegr

Sanila Ranatunga 5 Feb 01, 2022
Find songs by lyrics.

LyricSearch Hi, welcome to LyricSearch - a simple (Yes), fast (Maybe), and powerful (Approach) lyric search engine. We support Three search methods to

Dicer_ 1 Dec 13, 2021
Easily report Instagram pages and close the page

Program Features - πŸ“Œ Delete target post on Instagram. - πŸ“Œ Delete Media Target post on Instagram - πŸ“Œ Complete deletion of the target account on Inst

hack4lx 11 Nov 25, 2022
A Telegram bot for playing Trop Bon Cadavre.

Trop Bon Cadavre A Telegram bot for playing Trop Bon Cadavre (english: very good corpse), a game freely adapted from the french Cadavre exquis. A game

4 Oct 26, 2021
A simple telegram bot to download from Zee5 links

Zee5 Downloader If you find any bugs, report at @TroJanzSupport My Features: πŸ‘‰ Upload as file/video from any NON-DRM Zee5 link πŸ‘‰ Permanent thumbnail

TroJanzHEX 95 Dec 20, 2022