Automated Thumbs Up/Down. Settings page with themes, list transfer, and more.
FJ Ultimate Manager — Documentation
Automate comment voting, manage targeted user lists, transfer lists between accounts, and customize the interface — all from a floating panel on any FunnyJunk page.
FJ Ultimate Manager injects a small floating control panel onto every FunnyJunk page. From that panel you can automatically upvote comments from all users — while either skipping or downvoting comments from a curated list of targeted users.
It's designed for power users who want to quickly sort through comment sections without clicking every single thumb manually, while still maintaining fine-grained control over specific accounts.
You need a userscript manager installed in your browser before the script will run.
@downloadURL link at the top of the .user.js file..user.js URL and prompt you with an install screen. Review the permissions and confirm.@updateURL, Tampermonkey will automatically check Greasyfork for newer versions and prompt you to update.The main panel floats in the top-right corner of the page at all times. It has a fixed width of 220px and a dark background so it stays readable over any FunnyJunk layout.
The mode dropdown controls what happens when the engine encounters a targeted user (someone on your permanent blocklist or checked via checkbox). All non-targeted users are always upvoted.
The comment is marked as processed and moved past — no vote is cast. Use this when you simply don't want to engage with a user's content at all.
A downvote is fired on the comment. If the comment is already downvoted it's skipped to avoid toggling it back. Use this to actively push down targeted users.
The permanent blocklist is stored in your browser's localStorage and persists between sessions. Every username is stored lowercase for consistent matching regardless of how the name appears on the page.
There are four ways to add a user to the permanent list:
Click the ❌ icon next to any name in the permanent list view in the main panel, or click ✕ next to the name in the Settings → Current Blocklist section.
When the script loads (or when you press the ⟳ scan button), it walks the DOM and injects a small red checkbox before each comment author's username link. Checking one marks that user as a target for the current run only.
Checkboxes are injected once per unique author element. If you scroll down and new comments load dynamically, press ⟳ to scan the new content before starting a run.
Click the ⚙ button in the panel header to open the Settings overlay. Changes are not saved until you click Save Settings — clicking the overlay background or Cancel discards unsaved changes.
Settings are stored under the fj_manager_settings key in localStorage and loaded on every page load.
Eight accent colors are available. The chosen color is applied to the panel border (when idle), the START button, the ⚙ button, the restore bubble, and mode/toggle highlights inside Settings.
Choose whether the mode dropdown opens on Skip Targets or Downvote Targets each time the page loads. The currently running mode is always shown in the main panel dropdown and can be changed per-session without going into Settings.
When enabled the panel will automatically minimize itself to the small "M" bubble as soon as it injects, keeping the page unobstructed. Toggle the bubble to expand the panel when you need it.
Settings → Export List converts your permanent blocklist into a compact, portable string using Base64 encoding around a JSON payload. The format is:
Click Generate to produce the string, then 📋 Copy to put it in your clipboard. You can paste it into a text file, Discord message, or send it to another person.
Settings → Import & Merge accepts any valid export string. Paste it into the text area and click Merge into List.
Settings → Bulk Add Usernames lets you paste a raw list of names — no encoding required. Supported formats:
All names are lowercased and trimmed before saving. Duplicates are skipped automatically. Click Add All and the result is reported immediately.
All data is written to window.localStorage under two keys. No data leaves your browser.
| Key | Contains | Format |
|---|---|---|
| fj_user_blocklist | Your permanent targeted-user list, persisted across all sessions. | JSON array of lowercase strings — ["alice","bob"] |
| fj_manager_settings | Your chosen theme, default voting mode, and default-minimized toggle. | JSON object — {"theme":"blue","defaultMode":"skip","defaultMinimized":false} |
To completely reset the script, open your browser's DevTools (F12), go to Application → Local Storage → funnyjunk.com, and delete both keys. Alternatively, run this in the DevTools console:
document.body to exist before injecting. On pages with unusual load sequences it may take a moment. If it never appears, check the Tampermonkey dashboard to confirm the script is enabled and matches the current URL.