Giter Site home page Giter Site logo

bleachbit / bleachbit Goto Github PK

View Code? Open in Web Editor NEW
2.7K 57.0 251.0 11.68 MB

BleachBit system cleaner for Windows and Linux

Home Page: https://www.bleachbit.org

License: GNU General Public License v3.0

Makefile 0.57% Python 59.15% NSIS 40.03% Batchfile 0.25%
antiforensics security privacy windows linux disk-cleaner gplv3 bleachbit python gtk

bleachbit's Introduction

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

Read more about running from source.

Links

Localization

Read translation documentation or translate now in Weblate, a web-based translation platform.

Translation status

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

bleachbit's People

Contributors

abitrolly avatar audreytoskin avatar az0 avatar bovirus avatar chuckmichael avatar ciampix avatar danielk43 avatar guzman2019 avatar hahnavi avatar hugok79 avatar inson1 avatar ivoxavier avatar jonatanwick avatar karm46 avatar linuxned avatar luoliyan avatar matthardcastle avatar mkhon avatar monosans avatar ppolewicz avatar rados avatar swoidowski avatar theatre-x avatar tiemay avatar tjw123hh avatar to-ba avatar tobias-b-besemer avatar toni-estevez avatar tstenner avatar yarons avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bleachbit's Issues

Passwords in Opera

Anyone have any idea as to where the passwords are stored for Opera? We got to get that in there.

SQLite Python Traceback - DatabaseError: UNIQUE constraint failed

Please can anybody help me understand/fix SQLite traceback error.

Issue:

Error in execution of <bleachbit.Command.Function instance at 0x106c7bcb0>
Traceback (most recent call last):
File "/Users/user/bleachbit/bleachbit/Worker.py", line 84, in execute
for ret in cmd.execute(self.really_delete):
File "/Users/user/bleachbit/bleachbit/Command.py", line 146, in execute
self.func(self.path)
File "/Users/user/bleachbit/bleachbit/Special.py", line 280, in delete_mozilla_url_history
FileUtilities.execute_sqlite3(path, cmds)
File "/Users/user/bleachbit/bleachbit/FileUtilities.py", line 307, in execute_sqlite3
'%s: %s' % (Common.decode_str(exc), path))
DatabaseError: UNIQUE constraint failed: moz_places.url: /Users/user/Library/Application Support/Firefox/Profiles/lawxndmw.default/places.sqlite

System Info:

platform.mac_ver() = ('10.10.5', ('', '', ''), 'x86_64')
platform.platform = Darwin-14.5.0-x86_64-i386-64bit
platform.version = Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64
sys.argv = ['bleachbit.py', '--sysinfo']
sys.executable = /usr/local/opt/python/bin/python2.7
sys.version = 2.7.11 (default, Jan 22 2016, 08:28:37)

about dialog and GTK+ 3

@moimael: Would you please take a look? I am using Ubuntu 14.04, which is a relatively new distribution. I would prefer not to lose support for any new systems like this.

Traceback (most recent call last):
  File "/bleachbit/bleachbit/Application.py", line 129, in about
    builder.add_from_file('data/AboutDialog.ui')
gi._glib.GError: data/AboutDialog.ui: required gtk+ version 3.12, current version is 3.10

Reminiscent easytag data

~/.easytag/easytagrc will store some usage history, but it also stores user settings. Does someone know of a way to clean this without deleting the settings?

To recreate the data I’m talking about, select an album, click the “Write Playlist” button, (optionally) select “Use mask” and enter whatever you want, save, and whatever was in the “Use mask” field will be written to easytagrc as playlist_name=<whatever you entered>. The next time you go to create a playlist, this data will be recalled to the “Use Mask” field, and will be used to recreate play_list_name.mask if that file was deleted.

This is limited to the last entry, and I suspect something similar is happening with playlist_content.mask

Remove Python 2.5 support

I am waiting on these changes to avoid merge conflicts

  • Remove simplejson
  • Remove backports
  • Remove ignore_missing in FileUtilities
  • Remove environment variable translation in Winapp.py
  • grep for version_info
  • grep for sys.hexversion
  • Change $foo to %foo%
  • Remove pgettext backport
  • Red Hat package metadata
  • Debian package metadata

Exception while running operation 'localizations'

Traceback in BleachBit 1.9.2 beta on Slackware 14.1 x86_64

Traceback (most recent call last):
File "/usr/share/bleachbit/Worker.py", line 330, in run_operations
for dummy in self.clean_operation(operation):
File "/usr/share/bleachbit/Worker.py", line 127, in clean_operation
assert(isinstance(operation_options, list))
AssertionError

Strange GUI where Localizations is at the top level (not under System)

Reported by BBUser on the forum

@tstenner Do you think this is related to changes to put localizations in XML? Would you please mind taking a closer look?

Why i can't edit the "path" on Preferences?

It will be difficult for the users when using a hidden folder ("." dot), although ubuntu has nautilus, but there is no setting for the root user.
Anyway, the bleachbit config located in: ~/.config/bleachbit/bleachbit.ini, what do you think?

1

2

Ideas about the project itself

First @az0 thank you for this great project!
I don't know the stats but I think Bleachbit is used by far too few people and needs to replace CCleaner as the standard in peoples minds.
It's all about design and how something is marketed for most people/users.

Some ideas about how to improve the project in unsorted order:

  • Link to the chocolatey package: https://chocolatey.org/packages/bleachbit as an install option
  • modernize the website (open source project websites do not need to be old-fashined)
    • maybe GitHub Pages (would allow everyone to contribute to the site)
      • maybe I can sponsor a WordPress based site (depending on traffic)
    • maybe bleachbit.org?
  • move bleachbit repos to BleachBit GH organization? (would already allow for GH pages under bleachbit.github.io + custom domain support)
  • consider www.transifex.com to replace launchpad translation platform

This are just some ideas. What do you think?

Add cleaner for the systemd journal

Almost every modern distro uses systemd, so a new cleaner for journal files is needed.
This should be quite simple, I'll try it this week.

Transmission "cache cleaning" is wrong

Blocklists directory could contain a cached blocklist file corresponding to one downloaded from single URL provided in settings. The file Transmission uses to store cached blocklist in this case is "[config dir]/blocklists/blocklist.bin". However, this directory could also contain additional blocklist files put there manually by user; those files are either already in the format used by Transmission for blocklist cache (in which case they should have ".bin" extension) or in the format that Transmission is able to parse (in which case they should not have ".bin" extension and Transmission will parse and create/update cache files named "[config dir]/blocklists/[original file base name].bin" during initialization, or on SIGHUP if transmission-daemon is used). The issue is, both ".bin" and non-".bin" files are being removed, while only the former are considered "cache" (and even then, some of those could be user-provided).

Resume directory, if managed solely by Transmission without user's intervention, could only contain files with ".resume" extension. Those files are used to track torrent download/seed progress/statistics, current files location (complete and incomplete files could be stored in different directories on per-torrent basis), file download priorities and "do not download" flags, bandwidth/seeding limits overrides, paused state, real file names on disk (in case any files/directories inside torrent were renamed by user). As you could see, none of this information could be considered "cache". Each ".resume" file though should have a corresponding ".torrent" file in "[config dir]/torrents" directory (with matching base name); and only those ".resume" files which do not have corresponding ".torrent" files could be safely removed.

I see cleaners are simple XML files, while they used to be implemented in Python. I would've made a pull request right away if they still were in Python, but I suppose this XML description format doesn't provide what's necessary for a proper cleaning implementation (correct me if I'm wrong). Thus I propose you to either fix Transmission cleaning (if that's possible) or remove this cleaner.

Unable to open prefences menu (GNU/Linux)

Here's a funny bug!

I have tried replicating this in Windows but I can not for the life of me even try to figure out how to cause an Error 13.
On GNU/Linux, if you run BleachBit using the "BleachBit as Admin" option, set a directory that you do not have permission to wipe (I used the / directory), select the option to wipe the Free Disk Space, and run the cleaning process, you will get an Error 13.

After this, try to open BB's preferences menu.
It won't open.
You have to restart BleachBit.

I tested this using BB 1.6 on Linux Mint 17.1 and Trisquel 6 Mini.
I'm going to test this with BB 1.7 Beta.

Update wants me to downgrade!

I am running the latest version from github (master branch) (currently 1.11) however, at the startup the app shows the update dialog and wants me to update to version 1.10.

bleachbit3

bleachbit2

(system is Fedora 23 64bit with KDE 5)

Export list of files to text file

I would like to see an export option for the preview list, to export the list of files that need to be deleted.

Advantages:

  • I can make a backup of the files before deleting them, so I can recover in case of a problem.
  • Delete files that need root permission (from shell script) without having to run the app as root.
  • Automating the deletion of the files, so I only need to run the app from time to time to update that list.

Currently I can copy / paste the list of files but i still need to parse it to remove stuff not related to file names. Also the copy/paste cause the program to crash (see #125)

[Suggestion] Enhance files overview

Hi,

I have a suggestion to improve in my opinion the user interface. It would be nice to have a graphical (or not) overview of the files to be deleted, maybe using a tree showing the impacted folders, with the total size of each file.
At least, it would be great to have a textual representation of this in the log, to have a global idea of the files to be targeted by the cleaning.

What do you think about this suggestion?

Thank you for your work!

Installation error

Tried to install in python 2x:
Traceback (most recent call last): File "setup.py", line 27, in <module> import bleachbit.Common File "C:\Users\ivandro\Subtitles\bleachbit-1.2\bleachbit-1.2\bleachbit\Common. py", line 32, in <module> from win32com.shell import shell, shellcon ImportError: No module named win32com.shell

CleanerML command="mozilla_url_history" error

I'm working on porting the Firefox cleaner to CleanerML for CleanerML issue 9, and it seems command="mozilla_url_history" is no longer working right. When I try to preview or clean the URL history option, I get an error:

'NoneType' object has no attribute 'execute'

Disk space to be recovered: 0
Files to be deleted: 0
Errors: 1

"See the logfile C:\Program Files (x86)\BleachBit\bleachbit.exe.log' for details":

Traceback (most recent call last):
  File "bleachbit\Worker.pyo", line 82, in execute
AttributeError: 'NoneType' object has no attribute 'execute'

The cleaner I'm using is here, and I encountered the error using:
Windows: 8; Firefox: 9.0.1, 36.0.4; BleachBit: 1.6
Ubuntu 14.10; Firefox: 36.0.1; BleachBit: 1.6

The error does not occur using the python Firefox cleaner. Sorry if this issue belongs in the CleanerML repo, but to me the problem doesn't seem to be CleanerML, but rather the Python scripts acting on the CleanerML.

Chocolatey package

I am looking into "repairing" the bleachbit chocolatey package (https://chocolatey.org/packages/bleachbit)!!
It is totally outdated because the maintainer abandoned the package and it was not an "automatic" package. Which means he had to manually submit the new version.

I want to make the choco bleachbit package "automatic" which means it will fetch new releases (automatically) regularly.

We need predictable and lasting download urls for all versions!!
Since sourceforge is drifting off into a bad direction I would suggest hosting the files as GitHub releases. Currently sourceforge urls break for all old versions and the bit advantage of package managers is the ability to revert/install older versions if you wish to. But for that to work all old dl urls need to be valid in the future.
If needed you could use https://bintray.com/ to distribute the files.

If you need download stats for the releases and think they are not available on github you can use http://www.somsubhra.com/github-release-stats/?username=az0&repository=bleachbit to get the download_count. The bleachbit repo has no releases so there is no data found by the direkt link. (Working example: http://www.somsubhra.com/github-release-stats/?username=chocolatey&repository=ChocolateyGUI)

Port to GtkHeaderBar and ApplicationMenu

Hi,

I just started porting bleachbit to GtkheaderBar (as a first step to a more radical UI redesign, if my propositions are accepted). Since it means UI redesign, i'd like to have some thoughts on it.
It's based on the earlier gtk 3 porting i've done in modernization branch.

It looks like this right now :

capture d ecran de 2014-09-17 00 39 56

Crash when copy & paste the preview list

When I copy the preview list and try to paste it into a text file the application crashes (almost every time). The list is big and has 45869 files to be deleted.

This is the output from the console,

(bleachbit.py:27168): Gdk-ERROR **: The program 'bleachbit.py' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 169182 error_code 3 request_code 18 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Trace/breakpoint trap (core dumped)

I wanted to try --sync as suggested in the error message but didn't know how

(system Fedora 23 64bit with KDE 5)

Please, sign your releases.

Hi,
I'm bleachbit's Debian Maintainer.

In order to improve the security of bleachbit's releases, I suggest to start signing them. Signing releases allows bleachbit's users to ensure they can trust the code they're downloading.

Here is some help you might need to do it.

Thanks for your work,
Hugo

app-menu.ui strings are not included in bleachbit.pot

original message

@moimael: Would you please look at including strings from data/app-menu.ui in bleachbit.pot using po/Makefile, so the strings can be translated?

requirements

  • put strings to be translated into bleachbit.pot to upload to LaunchPad translation system
  • use translated strings from the .po files for the strings in data/app-menu.ui

Firefox URL Histroy - Clean-up Issue

Firefox URL History does not get cleaned even when it is selected under Firefox options.

Both Windows and Mac has same issue.

BleachBit version 1.10
GTK version 2.16.6
local_cleaners_dir = C:\Program Files (x86)\cleaners
locale_dir = C:\Program Files (x86)\BleachBit\share\locale
options_dir = C:\Users\user\AppData\Roaming\BleachBit
personal_cleaners_dir = C:\Users\user\AppData\Roaming\BleachBit\cleaners
system_cleaners_dir = C:\Program Files (x86)\BleachBit\share\cleaners
locale.getdefaultlocale = ('en_US', 'cp1252')
os.getenv('APPDATA') = C:\Users\user\AppData\Roaming
os.getenv('LocalAppData') = C:\Users\user\AppData\Local
os.getenv('LocalAppDataLow') = C:\Users\user\AppData\LocalLow
os.getenv('Music') = C:\Users\user\Music
os.getenv('USERPROFILE') = C:\Users\user
os.getenv('ProgramFiles') = C:\Program Files (x86)
os.getenv('ProgramW6432') = C:\Program Files
os.getenv('TMP') = C:\Users\user\AppData\Local\Temp
os.path.expanduser('~') = C:\Users\user
platform.win32_ver1 = 6.1.7601
platform.platform = Windows-Vista-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 = 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)]
win32com.shell.shell.IsUserAnAdmin() = True
file = C:\Program Files (x86)\BleachBit\library.zip\bleachbit\Diagnostic.pyo

Three duplicate cleaners

Using fslint, I found three duplicate cleaners.

bleachbit/cleaners/adobe_reader.xml
cleanerml/pending/adobe_reader.xml

bleachbit/cleaners/octave.xml
cleanerml/pending/octave.xml

cleanerml/pending/playonlinux.xml
cleanerml/release/playonlinux.xml

I take it they should be merged?

Russian filenames are corrupt in Windows GUI

Python 2 raises localized exceptions using system encoding, e.g. if you use Russian Windows you may spot in log such error:

error: (5, 'MoveFileEx', '\xce\xf2\xea\xe0\xe7\xe0\xed\xee \xe2 \xe4\xee\xf1\xf2\xf3\xef\xe5.')

The mystery part was encoded in cp1251, and it’s supposed to be

error: (5, 'MoveFileEx', 'Отказано в доступе.')

locale.getpreferredencoding() tries to guess the system encoding, and from my experience it guesses correctly on Windows, here is example of my implementation for that stuff in another project (note ST3 in example’s code means Py3), I do not imply that how it must be done, it’s just an example which works, perhaps it might be done better.

Supress GTK warning messages while running in CLI

Is there anyway we can prevent these messages from appearing while running BB from the command line?

"/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/init.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)"

setup_environment() function on Windows 8

Is it possible that the function setup_environment() ( SEE: https://github.com/az0/bleachbit/blob/96500aafb38c0539159b764a53be1fef55988762/bleachbit/Windows.py#L538-L544 ) is broken on Windows >=7?
My issue here bleachbit/cleanerml#61 with the $MUSIC variable might be caused by the deprecation of CSIDL https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx in Vista.

The CSIDL system is supported under Windows Vista for compatibility reasons. However, new development should use KNOWNFOLDERID values rather than CSIDL values.

I am running Win 8.1 so it might be possible that CSIDL values are not available anymore!?

Cleaners: limit actions to OS

I encountered following issue. Example:
Virtualbox is available for Win and Linux.

<cleaner id="virtualbox">
  <label>VirtualBox</label>
  <description>Virtual machine</description>
  <option id="logs">
    <label>Logs</label>
    <description>Delete the logs</description>
    <action command="delete" search="walk.all" path="$USERPROFILE\.VirtualBox\" regex="\w+\.log(\.\d+)$"/>
    <action command="delete" search="walk.all" path="~/.VirtualBox/" regex="\.log(\.[0-9]+)?$"/>
    <!-- Chakra 2014.02 has ~/.config/VirtualBox -->
    <action command="delete" search="walk.all" path="~/.config/VirtualBox/" regex="\.log(\.[0-9]+)?$"/>
  </option>
</cleaner>

I know that these delete actions are a little different but produce duplicate results.
path="~/.VirtualBox/" shouldn't even be run on Windows but both actions run and files are found with / and \ as path delimiters.

I thought a solution could be to separate win/linux cleaners by setting <cleaner id="virtualbox" os="windows"> and <cleaner id="virtualbox" os="linux">.
But if I do that and both files are in the cleaners folder (on Windows) both actions are run. Resulting in the same issue.

Nexuiz cleaner is ambigious

I know that the Nexuiz cleaner means the free software game by AlienTrap, not the proprietary game by IllFonic.
But nothing in the cleaner disambiguates this. Probably just rename it “Nexiuz (AlienTrap)” and change the description to make it clear which game is meant.

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.

Supported python versions

I couldn't find any information on which python versions should be supported.
Currently, the tests are running for 2.6 which isn't supported any more since 2013 while making support for 3.x impossible.
What are the future plans for the supported versions?

depreciation warnings

@moimael: Would you please take a look?

In modernization branch add whitespace to any cleaner/*xml file and restart BleachBit GUI. Then you will see some warnings

/bleachbit/bleachbit/RecognizeCleanerML.py:59: PyGTKDeprecationWarning: The "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  flags=Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT)
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:500: PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated in favor of "transient_for" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  self._init(*args, **new_kwargs)
/bleachbit/bleachbit/RecognizeCleanerML.py:65: DeprecationWarning: Gtk.set_from_stock is deprecated
  image.set_from_stock(Gtk.STOCK_DIALOG_WARNING, Gtk.IconSize.DIALOG)
/bleachbit/bleachbit/RecognizeCleanerML.py:70: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  _("These cleaner definitions are new or have changed. Malicious definitions can damage your system. If you do not trust these changes, delete the files or quit."))
/bleachbit/bleachbit/RecognizeCleanerML.py:98: DeprecationWarning: Gtk.add_with_viewport is deprecated
  scrolled_window.add_with_viewport(treeview)

petabytes does not work

This code shows "a lot" instead of petabytes, but it looks like you intended to show petabytes.

Otherwise, the new code looks good, and I added unit tests for IEC units.

from bleachbit.FileUtilities import bytes_to_human;from bleachbit.Options import options
options.set('units_iec', False)
bytes_to_human(1000**5)
options.set('units_iec', True)
bytes_to_human(1024**5)

@tstenner , would you please take a look?

Errors when starting/closing BleachBit

I'm using BleachBit 1.10 on Windows 10 Pro x64. Every time I start or close BleachBit, a message box is shown saying:

Errors occurred

See the logfile 'C:\Program Files (x86)\BleachBit\bleachbit.exe.log' for details

The following section is placed in that log file for each time the message box appears:

exception when getting special folder path for music
Traceback (most recent call last):
  File "bleachbit\Windows.pyo", line 131, in csidl_to_environ
com_error: (-2147467259, 'Niet nader omschreven fout', None, None)

exception when getting special folder path for pictures
Traceback (most recent call last):
  File "bleachbit\Windows.pyo", line 131, in csidl_to_environ
com_error: (-2147467259, 'Niet nader omschreven fout', None, None)

exception when getting special folder path for video
Traceback (most recent call last):
  File "bleachbit\Windows.pyo", line 131, in csidl_to_environ
com_error: (-2147467259, 'Niet nader omschreven fout', None, None)

"Niet nader omschreven fout" is Dutch for "Unspecified error" (because I use the Dutch locale on Windows). I think BleachBit may not like the fact that I don't have Music/Pictures/Video folders in the Documents folder (I removed them because I don't use them), however that should cause any errors.

The errors are created at https://github.com/az0/bleachbit/blob/master/bleachbit/Windows.py#L133. Perhaps it should be changed such that it does not constantly show a message box about this (change logger.exception to logger.info?).

Do you have an idea on how to fix this? Aside from the message boxes BleachBit works as expected. If you need more information, feel free to let me know. Thank you for building this awesome piece of software!

Deletion of important flash_player config files by flash-plugin

Hi,
I'm bleachbit's Debian Maintainer.

Today I've received the following bug (also available online here):


Dear Maintainer,

  • What led up to the situation?
    If one enables deleting temp files of the flash-plugin then also the config-file of the flash-plugin gets deleted.
  • What exactly did you do (or not do) that was effective (or ineffective)?
    I had enabled deleting of the undesired flash files (cookies, tmp files etc.)
  • What was the outcome of this action?
    It deleted also the (binary) config file: ~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/settings.sol
  • What outcome did you expect instead?
    It should not delete that file, because that is a config file, and if it is not existent, then the defaults apply, and that leads to severe security issues, because if one had tightened the security of the flash-plugin, then these security settings will silently be gone by deleting the said file. So, the said file should be not deleted by this otherwise useful program.

Please, notice that this bug have been reported against bleachbit's version 1.4, currently available on Debian Jessie.

I haven't reproduced this bug on later versions (lack of time, sorry). I've decided to directly forward the bug since it may be a security issue.

Thanks for your work,
Hugo

vlc netMRL list

The vlc cleaner currently doesn't erase a list of network streams saved in ~/.config/vlc/vlc-qt-interface.conf. To generate the list click on Media > Open Network Stream... (or use hot-key: Ctrl N), enter an mrl to a video stream (for example: https://upload.wikimedia.org/wikipedia/commons/b/bd/Elephants_Dream.ogg), and after closing vlc a new section in vlc-qt-interface.conf will be created named [OpenDialog] under which has a list of recently opened network streams:
netMRL=https://upload.wikimedia.org/wikipedia/commons/b/bd/Elephants_Dream.ogg
which will hold a handful of history as you use it more:

netMRL=https://upload.wikimedia.org/wikipedia/commons/b/bd/Elephants_Dream.ogg, "https://www.youtube.com/watch?v=Fj46zIqn2bQ", "https://www.youtube.com/watch?v=KjSTAAacWFE", http://youtu.be/KjSTAAacWFE, "https://www.youtube.com/watch?v=7DRWJ7cHF9A", http://youtu.be/7DRWJ7cHF9A

I would write a patch myself, but I couldn't find documentation on how command="ini" works.

Mac - Traceback error for below code snippet

i get below error but work fine when i make this below change.

ERROR:

Exception while running operation 'firefox': ''NoneType' object has no attribute 'split''
Traceback (most recent call last):
File "/Users/nshetty/bleachbit/bleachbit/Worker.py", line 336, in run_operations
for dummy in self.clean_operation(operation):
File "/Users/nshetty/bleachbit/bleachbit/Worker.py", line 139, in clean_operation
if self.really_delete and backends[operation].is_running():
File "/Users/nshetty/bleachbit/bleachbit/Cleaner.py", line 159, in is_running
if Unix.is_running(pathname):
File "/Users/nshetty/bleachbit/bleachbit/Unix.py", line 496, in is_running
return is_running_darwin(exename)
File "/Users/nshetty/bleachbit/bleachbit/Unix.py", line 467, in is_running_darwin
processess = (re.split(r"\s+", p, 10)[10] for p in run_ps().split("\n") if p != "")
AttributeError: 'NoneType' object has no attribute 'split'

CODE:

def is_running_darwin(exename, run_ps=None):
if run_ps is None:
def run_ps():
subprocess.check_output(["ps", "aux", "-c"])
try:
processess = (re.split(r"\s+", p, 10)[10] for p in run_ps().split("\n") if p != "")
next(processess) # drop the header
return exename in processess
except IndexError:
raise RuntimeError("Unexpected output from ps")

CHANGE:

processess = (re.split(r"\s+", p, 10)[10] for p in subprocess.check_output(["ps", "aux", "-c"]).split("\n") if p != "")

"WindowsError: [Error 5] Access is denied" in free_space()

Symptoms

Symptom is on first startup BleachBit crashes with an error message about a log. The log contains the following information.

BleachBit 1.4 is affected, but not on all Windows systems. BleachBit 1.2 is not affected.

The problem exists on systems with special drives. Microsoft Click and Run sets up a virtual drive like this.

Traceback (most recent call last):
File "bleachbit.py", line 43, in
File "bleachbit\GUI.pyo", line 40, in
File "bleachbit\Cleaner.pyo", line 40, in
File "bleachbit\Special.pyo", line 27, in
File "bleachbit\Options.pyo", line 297, in
File "bleachbit\Options.pyo", line 65, in __init__
File "bleachbit\Options.pyo", line 194, in restore
File "bleachbit\FileUtilities.pyo", line 394, in guess_overwrite_paths
File "bleachbit\FileUtilities.pyo", line 443, in same_partition
File "bleachbit\FileUtilities.pyo", line 324, in free_space
WindowsError: [Error 5] Access is denied.

Solution

Try the fixed version: download BleachBit 1.5 1.5.1 (beta)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.