frostco / advancedprofanityfilter Goto Github PK
View Code? Open in Web Editor NEWA browser extension to filter profanity from webpages
License: GNU General Public License v3.0
A browser extension to filter profanity from webpages
License: GNU General Public License v3.0
Investigate the possibility of being able to white-list sites that the filter would not run on.
What steps will reproduce the problem?
1. Sometimes Facebook comments on different sites such as IMDb does not get
filtered.
2.
3.
What is the expected output? What do you see instead?
I see the full profanity even though the program is ON.
What version of the product are you using? On what operating system?
Simple Profanity Filter source version 1.2.1
Please provide any additional information below.
Maybe if you made an improvment to filter profanities during Facebook comments
on the websites.
Original issue reported on code.google.com by [email protected]
on 11 Oct 2012 at 2:40
If the profanity list is increased to 100+, webpages are significantly slower
to load. On some occasions, Chrome becomes unresponsive and requests that the
tab is killed.
Further testing and code analysis is required to optimize performance.
Original issue reported on code.google.com by markyd13
on 8 Jul 2010 at 3:58
I'm using it in Firefox and it works fine (webext), can you upload it to AMO as well?
Chrome Version: 63.0.3239.132
Extension Version: 1.0.2
Operating System: Win 10
Site(s) Affected:
A user mentioned that they wanted to be able to remove a word that included an asterisk. I can think of two ways to fix this:
New functionality: Add Page Action icon to web pages that have censored
content. Clicking the page action will allow the user to temporarily disable
filtering.
Original issue reported on code.google.com by markyd13
on 7 Jul 2010 at 10:51
A user has requested simple password protection for the options page to prevent her child from changing the settings.
I'm attempting to use this to filter text in such a way that you can't tell it's been changed. The problem is, some words need to be replaced differently based on what part of speech it is. For example 'f***ing' can be removed entirely when it is a adjective or adverb, but needs to be replaced when it is a verb. Could we have the ability to do that?
With future plans - I really want to be able to export/import settings, preferably as json.
It has been mentioned that it would be nice to block audio profanity. This would probably require subtitles and also mute audio for the whole time the phrase was present on the screen. I will see if I can come up with a better method, but this is definitely on the back burner for now.
I got an idea for a ""euphemizer"" Chrome extension and came across your extension. Your extension is pretty close to the original idea I had which is this: Allow for user input for specific words or phrases they want filtered out with a list of alternate euphemisms. The filtered word will be replaced by one of the random euphemisms.
Example: Filtered word 1 = f***; Euphemisms for 1 = freak, fudge, fork, etc
With this example, the phrase ""What the f*** is that?"" becomes ""What the freak is that?"" OR ""What the fudge is that?""
Additional concept: You can assign certain words or phrases priority so that if you have a variable of f***, and a variable of f*** you, you can assign the second variable a higher priority so that you can euphemize an entire phrase instead of a single word (which might sound odd).
Example:
var f*** = ""fudge"" OR ""freak"" OR ""fork""; priority = 2
var f*** you = ""get a life"" OR ""go away""; priority = 1
With this priority setup, the sentence ""You are so dumb, f*** you!!"" becomes:
""You are so dumb, get a life!!""
instead of
""You are so dumb, freak you!!""
I guess the idea behind my feature request would be that when you read something that is censored, you still usually say the word in your head (because you know what is written even if it is censored out). With the ability to choose a bunch of euphemisms to replace words or phrases though, you could read something and have no idea it was censored in the first place.
To manually load your old wordList CSV into the new format, you can use the following code in the javascript console on the extension's options page (right-click on the options page and select 'Inspect Element', then you can paste it into the JS console)
NOTE: You should only do this after you look over the code and are comfortable with it. I am working on an automated way to upgrade so you won't need this.
// Testing string for migration
// config.wordList = "first,second,third,fourth";
// chrome.storage.sync.set(config);
// saveOptions(undefined, config);
chrome.storage.sync.get('wordList', function(storage) {
var wordListStr = storage.wordList;
if (wordListStr != undefined && wordListStr != '') {
var word = '';
var wordList = wordListStr.split(',');
try {
// Migrate to new words object
for (i = 0; i < wordList.length; i++) {
word = wordList[i];
if (word != "") {
if (!arrayContains(Object.keys(config.words), word)) {
console.log('Migrating word: ' + word);
config.words[word] = {"matchMethod": 1, "words": []};
} else {
console.log('Word already in list: ' + word);
}
}
}
// Remove wordList if successful
console.log(wordListStr, wordList);
saveOptions(undefined, config);
chrome.storage.sync.remove('wordList');
}
catch(error) {
console.log('Error: Aborting wordList migration!', error);
}
}
});
Provide a way in settings to add a singe word to the profanity list without making it all visible.
Issues are used primarily to track bugs in the project. Feature requests can be submitted either as an issue or here.
Chrome Version:
Extension Version:
Operating System:
Site(s) Affected:
For some reason, this extension interferes with composing emails in Gmail. If you use Ctrl+B or Ctrl+I to format the text, it will switch to bold/italics, and then move the cursor backwards one space so you're typing immediately before the first bolded letter. I've tested this extensively now. I disable the extension, refresh the page, and I can compose fine. I then enable the extension, refresh the page, and the bizarre behavior strikes again. The same occurs on both my home and work machines.
A feature I would like to see is the ability to retain the capitalization of the word being substituted. This would make the substitutions harder to notice especially when someone is using all caps.
There are three possibilities when replacing a word:
For some words, I would like to replace the word with another specific word. For example, I would like the flexibility to replace "poodles" with "puddles" and "rabbits" with "rodents". This would allow me to replace offensive words and not trip up reading the sentence because there is a word missing.
Firefox Version: 61.0.2
Extension Version: 1.1.1
Operating System: Windows 10
Site(s) Affected: All
I want to be able to whitelist domains (disable on certain domains)
Should we support patterns?
CSV?
Whitelist current site?
Issue submitted by Martin on Chrome Extension Gallery page:
Hi Mark, the problem with this extension is that it loads the page and only
then replaces the words. There is a "beforeload" event out now which you can
use to prevent these bad words from loading at all. I STRONGLY suggest that you
use it. AdBlock is using it too. It's much better if you don't even load the
bad word rather than load it and then hide it...
Original issue reported on code.google.com by markyd13
on 2 Aug 2010 at 8:08
Whole Match and Per-Word matching methods are not censoring Cyrillic words and they remain the same. Exact Match and Partial Match are working correctly.
Chrome Version: 68.0.3440.84
Firefox Version: 61.0.1
Extension Version: 1.0.15
Operating System: Win 10
It is a little confusing right now how the disabled domains (filter whitelist) operates. Some ideas for improvement:
Also - Next update should probably remove auto-opening of extension settings.
Issue from gregorrothfuss:
sorry, i am not sure what you are doing wrong, but this extension adds huge
latency to ajax apps. had to disable.
Original issue reported on code.google.com by markyd13
on 2 Aug 2010 at 7:58
Doesn't filter soundcloud.com comments.
Currently plugin remove any word contains character sequence listed in words. It makes non-profane words get filtered.
Firefox Version: 58.0.2 (64-bit)
Extension Version: 1.0.5
Operating System: MacOS 10.13.3
Site(s) Affected: Any site with login and word "Password" affected.
There are several methods that could probably be consolidated between at least the options and browser action popup.
https://www.microsoft.com/en-us/p/feedback-hub/9nblggh4r32n#ratings-reviews
If you start to read the reviews after about five or six pages of clicks someone posts "F'ing updates". It is not working. I even checked the code and the horrible F word is still in tack in the code. The filter is not working for that page.
Hello.
Just installed your extension, Firefox 54 x64, Win 7x64.
Trying any options at any words at any language, but nothing.
Just plain NOTHING.
What can be wrong?
From a user:
Hi I came from procon latte content filter extension. Is it possible for your extension to have the profanity list be values separated by lines instead of comma separated values with no spaces? Sometimes the phrases I want to block have commas in them. Also, I would like to customize how the filtered words are displayed, ie. instead of ***, I would like to use a mundane word like dang. It makes the site more readable and does not allow my mind to automatically correct the *** into swear words. Also, you need to have an option to toggle on and off the filter when I want to disable it.
New functionality: It would be convenient to immediately load the Options page
after installation.
Original issue reported on code.google.com by markyd13
on 7 Jul 2010 at 10:52
Add support for a one-time disable on page.
Should it be on extension click?
Maybe Add a menu that offers Disable on Page
and Settings
New Functionality: In the Filter List in the Options page, the user should be
able to specify the string that replaces a particular profanity.
Original issue reported on code.google.com by markyd13
on 8 Jul 2010 at 5:19
It is possible for a phrase (two or more words separated by spaces such as "dog
house") to not be censored.
Currently, the webpage is parsed using XPath. The profanity filter is applied
on each of the returned text nodes. If a phrase is split up into separate text
nodes, then the phrase will not be censored.
This is very rare and difficult to reproduce.
Original issue reported on code.google.com by markyd13
on 8 Jul 2010 at 4:09
Sites that are slo loading can take several seconds or I have to cancel the load before the profane words censor.
I think it would be nice to have an option to sync settings across browsers.
Issues are used primarily to track bugs in the project. Feature requests can be submitted either as an issue or here.
Right after I installed I tried to post a Comment to Facebook and the response to my keyboard inputs was to open other tabs, and other actions, but no text in the Comment block.
Chrome Version: Version 64.0.3282.186 (Official Build) (32-bit)
Extension Version: 1.0.8
Operating System: Windows 7
Site(s) Affected: Facebook
Issues are used primarily to track bugs in the project. Feature requests can be submitted either as an issue or here.
Chrome Version:Yes and Firefox
Extension Version:1.0.1.1
Operating System:Windows 10 Home
Site(s) Affected:http://www.commercialsihate.com/the-eliquis-archaeologist-moron_topic20696.html
1.The F word is not being filtered on this page.
After changing words to an object I need to refactor the default code because it keeps restoring the keys on the object.
Words such as "class", "grass", and "assassin" get unnecessary censors in them. It would be useful if there was a long, hidden whitelist of okay words.
Can there be a feature (an option) where we can have the filtered words totally blocked or blanked out(not shown at all) instead of being replaced by asterisks.
Currently there are options like preserve first letter, filter parts of words etc. This can be added as another option to have.
Example case:
Lets presume the word dog is filtered, so currently a statement before and after filtering will be something like:
The doghouse is there > The ***house is there
Instead we could have:
The doghouse is there > The house is there
I never had this problem before, but when I accidentally pushed the button to restore to default, there's an asterisk between each word. Is there a way to fix this?
It has been requested to have an option to preserve the last letter of the filtered word (in addition to the first letter) when using censor mode.
Thanks for the great project.
I would suggest making the "Faster Initial Filtering" feature, as an option.
Since the site I am using, worked fine with last version but by moving to this new Version, all the words are plainly visible and number of filtered words are always zero.
I presume it is a matter of texts loading with javascript waaay after your extension's run.
Issues are used primarily to track bugs in the project. Feature requests can be submitted either as an issue or here.
Chrome Version:
Extension Version:
Operating System:
Site(s) Affected:
Running latest beta firefox 57 and I have to run portable at work but when I load addon it says it can't save any settings. Is there a way to fix this? Where are the settings saved so I could try and manually save?
Yes the filter is blocking them but in Firefox if I go lets say to this page
https://productforums.google.com/forum/#!msg/youtube/32tHQqeTsIk/9Z1kEk6JFeUJ
as Google Product Forums have many profanities Firefox and Chrome slows down and when I scroll there is much lag.
Now there is no way I will turn off the filter on a vile form like the Google Product Forum.
I have done the work to get the extension to work on Microsoft Edge, but to publish it requires a one-time payment. I don't really use Edge, and I haven't gotten any requests for it yet, so I think I'm going to put its support on hold for now. If there is interest in it, please feel free to comment here so I can gauge demand.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.