FA Blacklist is released!
8 years ago
This project is deprecated due to the limitations of userscript managers, my awful coding habits back then, and a bunch of other excuses. You can still use the export tool to save your blacklists on your computer then import them into my new browser add-on: http://www.furaffinity.net/journal/8762898/
Download: https://raw.githubusercontent.com/D.....cklist.user.js
Developers: @mathfetish/DragonOfMath
Current Version: 2.00
Last Updated: May 30, 2019
License: MIT
How to Install
1. Have latest version of Firefox or Chrome
2. Install Greasemonkey (Firefox) or Tampermonkey (Chrome)
3. Click the download link above.
4. If all goes well, you're done.
The following instructions below are for the legacy userscript only! Please follow the updated usage instructions.
How to Use
Mostly mouse control. You can drag the interface around and collapse parts of it. Many features are included as context menu options, which you can use via right-clicking certain things:
- Right clicking a user's stuff will bring up options for blacklisting / whitelisting them and inspecting their representative object in-code
- Right clicking a blacklist tag will bring up options for managing users on page, changing settings, and performing functions such as the auto-blacklist.
- Right clicking the blacklist tag pool area (not the tags) will bring up options for sorting them and exporting as a single file.
The Blacklist uses a tagging system. There are several ways you can tag people:
1. Using the Blacklist Editor in the Blacklists tab
2. Clicking the "+" button in each user's row in the Users tab
3. Right-clicking content on the webpage and selecting the appropriate menu option
4. Use the auto blacklist feature (see below for details)
You can remove tags just as easily as you can add them, and everything updates instantly.
You can choose how each blacklist deals with content by modifying its options:
1. Disabling a blacklist changes its color to grey and prevents it from being used in the main loop
2. Users tagged by the blacklist will have select content hidden, such as titles, thumbnails, avatars, etc.
3. Setting a blacklist to automatic lets it check content using its filter, which is conveniently placed below that option.
The options tab has a few things:
1. You can choose whether blacklisted things get hidden or replaced.
2. You can let the program sort users as you blacklist them.
3. You can let the program include usernames when auto-blacklisting.
4. You can choose to have certain items on profiles removed that are not filter-able by the program.
5. You can choose to receive desktop notifications when changes occur. Note that enabling this also lets you undo an action (if possible) by clicking on the notifications.
6. You can enable debug mode, which logs what's happening inside the program into your browser's console.
As of 1.01, the options tab now has a Whitelist editor. Whitelists will protect certain users from being blacklisted by automatic means, but you can still blacklist one manually, which revokes their whitelisted status. You can see if a user is whitelisted by
About the Auto-Blacklist Feature...
Yeah, this was a last-minute addition to the project. Taking advantage of predictable titles, you can specify the exact keywords you don't want in titles using regular expressions. You can just type words and it'll work fine, but if you want to prevent catching false positives, I recommend using regular expressions (see this website; the scope of regexps is much too large to fit here). Filters may be placed one per line or separated by pipes "|".
Be warned, since this is just a computer doing what it's told, you may end up blacklisting innocent users, so use with caution.
If you do not want a user blacklisted no matter what, please use the whitelist feature.
Can I Help?
Yes, you absolutely can. If you're experienced in JavaScript and know ES6 features, you can feel free to start editing the source code with me. Other ways you can help are by submitting bug reports and feedback. What features would you like to have?
To Do List:
Still a few things I want to add/fix:
1. On profiles, the favorites section contains no information for who the artists are. Sorry, I can't really do anything about that. Only thing I could do was let you know you're on a blacklisted page.
2. Give it a better, consistent look. I'm no CSS wizard so anyone with that kind of skill will be worshiped.
3. Turn context menu functions into part of the UI
4. Fix the app window jumping off-screen randomly when visiting pages
5. Fix the snackbar not detecting mouse interaction
Changelog:
2.00
+ Completely rebuilt userscript based on the web extension version.
+ Language selection in Options.
+ Import/Export all filters at once for portability between userscript and webextension.
1.05
~ The auto-blacklist undo function is fixed. This was quite annoying for me and all it was was a missing null in the arguments.
+ It now remembers where you drag it to. So now you don't have to go looking for it when you have multiple FA tabs open.
+ It will stay within the window boundaries even if you try to drag it off-screen or resize the window.
~ Small positioning bug fixed caused by attempting to calculate its bounding box before it's inserted onto the page.
- Notification bug discovered causing redundant events to fire and basically undoing certain actions.
1.04
+ Undoing the auto-blacklist pruning is now possible by clicking the notification for it
+ Advanced(ish) search, you can search multiple names and search by tags (put a # before your search term)
~ Blacklist tags cannot have spaces in them now; existing blacklists replace them with underscores
~ Notifications last 3 more seconds (8 total) if an action can be undone
~ Hover over the Blacklist/Whitelist/Total text to view the exact users affected
~ Hover over blacklisted items to view which user they belong to
1.03
+ Preview censored content: if for whatever reason you want to see blacklisted content, but don't want to make changes to your blacklists, right click and choose "View Censored Items"; to return to the censored view, choose "Hide Censored Items".
~ Simplified search checkbox options
~ User table is larger
~ "x" button in tag is more spaced apart from the name text
~ App window goes transparent when not hovered over
- fixed the userlist not cascading properly when doing a search
- fixed error on submission pages when tags are missing
- fixed tag insertion when using the dropdown
- fixed a couple events not firing correctly
1.02
- Fixed Beta theme problems such as client username mixup
- Fixed blacklist initialization saving problem
+ Blacklist table options: sorting and exporting as one file.
+ Blacklist merge feature
~ Whitelist editor upgrade
~ Tweaks to notifications
1.01
- Whitelisting
+ Additional user search settings
+ Additional context menu options
+ Can fetch your watchlist
~ Updated app footer
- Fixed menu elements taking up space in Chrome
- Fixed HTTP/HTTPS mismatch (curses, FA!)
- Fixed Beta content fetching
- Fixed notifications not requesting permission
- Blacklist editor no longer resets when switching to the tab
- General bug fixes
1.00
- Released
Also, is there/will there be a way to blacklist only pieces with certain tags without blacklisting users? There are some artists that I love that sometimes draw some really nasty pieces I'd rather not see.
Unfortunately without some API I can use to get tags for art pieces, I can't easily get it to automatically blacklist individual things that an artist has in their gallery. I would have to program getting all the pages of art pieces and then parsing their tags from the webpage; even if it took a split second for each, that would delay browsing by more than 10 seconds on average.
Man, that sounds like a pain. It's no wonder why FA doesn't have it as a site feature yet :/
Also, regarding blocking submissions by tag, it would be possible, however it cannot be automated (as in, it cannot "see" what the content of a submission is without the title). I have made it on my to-do list to filter submissions in addition to users.
(It's been 2 months since I said "soon"? Gosh I'm getting sidetracked...)
Due to a lot of issues with browser support and awful naive coding habits I had back then, I've halted updating this project in favor of a browser add-on for it (which has much better support). You can see the progress here: https://github.com/DragonOfMath/fa-.....acklist-webext
Just really wish they'd add in a blacklist for real.
However, neither this userscript or the web extension have the ability to filter by tags since those are not visible except on submission pages. I really wish it were, because that would make this project much more useful. The only other option is to flood FA's servers just to parse tags for each submission every time a page is loaded.
I had no intention of ignoring submission tags, but with no useful endpoint or metadata I could scrape from sample pages, it won't work.
If you don't see it, check for an error in the console (press F12).
Luckily the "Classic" theme is still available, so it still works there
Using keywords/submission IDs don't seem to work, and right-clicking the image/submission title either asks you to add yourself, the artist, or some other artist to the blacklist.
If it's any help, the readme file references the Master List added in ver 2.1.0
Happy New Year by the way! Completely forgot to mention it.
If you are using the old blacklist userscript (1.xx), I recommend exporting your blacklists, updating to 2.00, and importing them to the newest version with many compatibility fixes and UI improvements.
If the problem still persists in the new version, please provide which browser/version you are using so I can identify the cause.
What is this referring too? How do I blacklist 'tags' or what I assume are keywords like I want to filter out all vore art, how do I do that?
much love and appreciation.
you can't have a site hosting NSFW content that won't allow tag blacklisting, that just makes it practically unusable. I can't search anything without half the results being scat or gore and i don't want to see that crap.
it would solve many issues and critics to the site