Re: A new privacy and log scrubber for KDE4, Firefox, & Flash
You said it. Most users aren't going to go to the trouble. KDE4 is a nightmare from a privacy perspective. It tracks every click in some file. Between that and the growing use of hackable software (Adobe Flash, etc) that opens up your system to exploits and arbitrary code execution, it's a surveillance OS. What really got me was the kdeglobals file (edit: and plasma-desktop-appletsrc). It was tracking every file opened, deleted, or otherwise accessed, for months! You know that little pop-up in the system tray in KDE4 that shows file copy progress and other system notifications? Well, they aren't just displayed, they're logged to kdeglobals. So if you deleted a file named "xyz.abc" 6 months ago, it may be listed in there. (They may have cleaned up some of that behavior with recent updates, I'm not sure - haven't kept up with it.)
That's what these lines in kscrubber clean up:
To me, this is misuse of config files, which should only change when the user changes the settings in either the GUI or by editing the config file. Using config files to maintain histories (so you can't simply delete them a la BleachBit) is plain evil. As is logging all files a user has deleted - what possible service does that provide to the user? And that seems to be the new KDE design philosophy. Almost every KDE program does it, and they seem to be using some API that makes those "Recent Files[$e]=" entries.
I've never had a problem removing those lines. Usually what I do (and what kscrubber does automatically), is I leave the line intact but delete everything after the equal sign. Just close Konqueror before you make the edit - otherwise it may recreate the config files as it closes, overwriting your changes. And of course, make a backup of any config files before editing them.
Here are the sed commands to clean Konqueror for you. I'm going to add these to kscrubber as well - I don't use Konqueror as my file manager anymore so I didn't know the correct lines - now I do.
I know sed can look cryptic but it's not that hard, and it's a powerful automatic line editor. basically the command takes the form:
That means it searches filetoedit for lines containing "xxx". It will change "xxx" on those lines to "yyy". Output is sent to stdout unless you include the -i switch, which means edit the file in place. The \1 you see in my sed replacements above means copy the first part (#1) in parenthesis. Since "Recent Files[$e]=" is in parenthesis, it copies that to the replacement line, but not what follows it. Thus it effectively deletes everything after the equal sign. And sed uses regular expressions, and you need to escape some characters (a left parenthesis "(" as "\(" for example).
So this:
is equivalent to this:
IOW change "Recent Files[$e]=blahblahblah" to "Recent Files[$e]=". And the caret ("^") just means that Recent Files must occur at the very beginning of the line - just narrows the search.
kscrubber has a lot of sed lines to see if you want to work by example. Feel free to ask me what they do if you don't see it.
Originally posted by Qqmike
That's what these lines in kscrubber clean up:
Code:
# kdeglobals sed -i 's/\(^History Items\[\$e\]=\).*/\1/' $userhome/$kde/share/config/kdeglobals sed -i 's/\(^Recent URLs\[\$e\]=\).*/\1/' $userhome/$kde/share/config/kdeglobals sed -i 's/\(^label[0-9]*=\)file\:\/\/.*/\1/' $userhome/$kde/share/config/plasma-desktop-appletsrc
Dumb question ... as one (extreme) measure, if nothing else, any harm done by manually editing the file konquerorrc to delete those entries? and if no harm done, how much can be deleted?
Here are the sed commands to clean Konqueror for you. I'm going to add these to kscrubber as well - I don't use Konqueror as my file manager anymore so I didn't know the correct lines - now I do.
Code:
sed -i 's/\(^Recent Files\[\$e\]=\).*/\1/' ~/.kde/share/config/konquerorrc sed -i 's/\(^Paths\[\$e\]=\).*/\1/' ~/.kde/share/config/konquerorrc sed -i 's/\(^History list=\).*/\1/' ~/.kde/share/config/konquerorrc
Code:
sed 's/xxx/yyy/' filetoedit
So this:
Code:
sed -i 's/\(^Recent Files\[\$e\]=\).*/\1/' ~/.kde/share/config/konquerorrc
Code:
sed -i 's/^Recent Files\[\$e\]=.*/Recent Files\[\$e\]=/' ~/.kde/share/config/konquerorrc
kscrubber has a lot of sed lines to see if you want to work by example. Feel free to ask me what they do if you don't see it.
Comment