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)
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

Florent 1 Dec 17, 2021
Discord bot that performs various functions.

rikka-bot A Discord bot that performs various functions. Table of Contents Commands Main Commands Utility Commands Admin Commands Self-Assignable Role

Carlos Saucedo 7 Aug 27, 2021
Simple Bot With Python 3.8+ For Converstaion Your Media

Media-Conversation Simple Bot With Python 3.8+ For Converstaion Your Media

Farzin 2 Dec 06, 2021
Python client for numerbay.ai - the Numerai community marketplace

NumerBay Python API Programmatic interaction with numerbay.ai - the Numerai community marketplace. If you encounter a problem or have suggestions, fee

Numerai Council of Elders 5 Nov 30, 2022
Mailjet API implementation in Python

READ THIS FIRST!! This repository isn't compatible with the current Mailjet API (v3) and, as a consequence, is considered deprecated and won't undergo

Rick van Hattem 18 Oct 21, 2022
LoL API is a Python application made to serve League of Legends data.

LoL API is a Python application made to serve League of Legends data.

Caique Cunha Pereira 1 Nov 06, 2021
An unofficial client library for Google Music.

gmusicapi: an unofficial API for Google Play Music gmusicapi allows control of Google Music with Python. from gmusicapi import Mobileclient api = Mob

Simon Weber 2.5k Dec 15, 2022
Moderation By Pokemon Bot (Discord)

Moderation Bot By Pokémon Bot (Discord) Official Moderation Bot for Pokemon Bot functional and based in the Discord Server, the bot is written in Pyth

Aakash Manoj Agrawal 6 Jan 04, 2022
Discord Bot Sending Members - Leaked by BambiKu ( Me )

Wokify Bot Discord Bot Sending Members - Leaked by BambiKu ( Me ) Info The Bot was orginaly made by someone else! Ghost-Dev just wanted to sell "priva

bambiku 6 Jul 05, 2022
Cord Python API Client

Cord Python API Client The data programming platform for AI 💻 Features Minimal low-level Python client that allows you to interact with Cord's API Su

Cord 52 Nov 25, 2022
Shuffle and add items from jellyfin to mpd (use in tandem with jellyfin-mopidy and mpd-mopidy). Similar to ncmpcpp's "Add random" feature..

jellyshuf Essentially implements ncmpcpp's add random feature (default hotkey: `) through a script which grabs info from jellyfin api itself. jellyfin

Ethan Djeric 2 Dec 14, 2021
Sakamata-alpha-pycord - Sakamata bot alpha with pycord

sakamatabot このリポジトリは? ホロライブ所属VTuber沙花叉クロヱさんの非公式ファンDiscordサーバー「クロヱ水族館」の運営/管理補助を行う

sushichaaaan 1 May 04, 2022
szrose is an all in one group management bot made for managing your group effectively with some advance security tools & Suit For All Your Needs ❤️

szrose is an all in one group management bot made for managing your group effectively with some advance security tools & Suit For All Your Needs ❤️

szsupunma 93 Jan 07, 2023
Fully asynchronous trace.moe API wrapper

AioMoe Fully asynchronous trace.moe API wrapper Installation You can install the stable version from PyPI: $ pip install aiomoe Or get it from github

2 Jun 26, 2022
Periodically check the manuscript state in the scholar one system and send email when finding a new state.

ScholarOne-manuscript-checker Periodically check the manuscript state in the scholar one system and send email when finding a new state. Parameters ne

2 Aug 18, 2022
a simple python script that monitors the binance hotwallet and refunds the withdrawal fee to encourage people to withdraw their Nano and help decentralisation

Nano_Binance_Refund_Bot a simple python script that monitors the binance hotwallet and refunds the withdrawal fee to encourage people to withdraw thei

James Coxon 5 Apr 07, 2022
Automatically pulls specified repository whenever a specified file is pushed. Great for working collaboratively when you need to run something locally.

autopull Simple python tool that allows you to automatically pull from a github repository whenever a file with a specified name is uploaded installat

carreb 0 Sep 27, 2022
A free, minimal, lightweight, cross-platform, easily expandable Twitch IRC/API bot.

parky's twitch bot A free, minimal, lightweight, cross-platform, easily expandable Twitch IRC/API bot. Features 🔌 Connect to Twitch IRC chat! 🔌 Conn

Andreas Schneider 10 Dec 30, 2022
Translates English into Mandalorian (Mando'a) utilizing a "funtranslations" free API

Mandalorian Translator Translates English into Mandalorian (Mando'a) utilizing a "funtranslations" free API About I created this app to experiment wit

Hayden Covington 1 Dec 04, 2021
A python library for creating selfbots/automating your Nertivia account.

nertivia-selfbot (WIP) A python library for creating selfbots/automating your Nertivia account. how to use Download the nertivia_selfbot folder from t

Ben Tettmar 2 Feb 03, 2022