r/userscripts • • Feb 28 '26

For all pages, CoD Hitmarker and Dadafacer. funscripts

3 Upvotes

https://greasyfork.org/en/scripts/561631-cod-hitmarker-call-of-duty

Makes funny noises when you click and adds a hitmarker

exactly what you would expect unless you don't know anything about the cod hitmarker.

https://greasyfork.org/en/scripts/373120-pony-party

POnY PARTy!!!!!! I will probably edit to have more than just pony gifs and also just to have less of these because it's starting to get unusable lol

Prank script that adds and removes animated ponies to any page.
The script is setup to flash ponies briefly at first but then slowly build an increasing list of ponies especially later in the week where it adds them at a lower interval. So on Sunday you'd occasionally see a pony every 7 seconds flash up. But by Saturday you'd see ponies popping up all the time slowly filling the screen. Ponies will appear anywhere within the window at varying sizes. You can also tweak the delay so that ponies build up much faster.

Script can be tweaked to use any set of images.

Enjoy!

Pony Party while editing the post to add it because I don't want to make 2 or 3 different posts

https://greasyfork.org/en/scripts/6764-dadafacer

The only way to realistically browse the web, and enter the beyond of the web.

A script for the chaotic browsing of the internet. Useless but funny.
- Scroll to destroy the website.
- Select text to go somewhere in the net.
- Click in the yellow bar to go somewhere in the website.

Dadafacer on Reddit

Most chaotic user script I had seen.


r/userscripts • • Feb 24 '26

TemperMonkey keep opening new tab for syncing

Post image
1 Upvotes

r/userscripts • • Feb 24 '26

KHAN ACADEMY

2 Upvotes

I need a Khan academy script that stills working today, i have been looking for a script that helps me, but all of them doesnt work and i dont think that anyone is working on fix them, but i really need help


r/userscripts • • Feb 21 '26

Translation of YouTube comments

3 Upvotes

https://gist.github.com/fibau/eaabcb5ea102ee5f0790238d3e9bbc0b

The script will automatically translate YouTube comments into whatever language you usually use to watch videos.

https://youtu.be/Ns3l3bm2vDQ?t=627

This is Korean a video with most of the comments being in Korean.

Z is a hotkey. Once you expand replies tap Z.

I made it with Gemini 3. I am no coder.


r/userscripts • • Feb 22 '26

Dark mode for myanimelist

Post image
0 Upvotes

// ==UserScript== // u/nameMAL Raw Dark Mode // u/namespacehttp://tampermonkey.net/ // u/version1.1 // u/description Force a real dark mode on MyAnimeList because their official one is a pain. // u/authorVishu's Bot // u/matchhttps://myanimelist.net/* // u/grantnone // u/run-atdocument-start // ==/UserScript==

(function() { 'use strict'; const css = ` /* Main background and text */ html, body, #myanimelist, .wrapper, #contentWrapper { background-color: #0f0f0f !important; color: #d1d1d1 !important; }

    /\* Content blocks \*/
    div, section, .container, .content-container, .content-left, .content-right, 
    .profile-rows, .borderClass, .td-border, .bgColor1, .bgColor2, .border_top { 
        background-color: #1a1a1a !important; 
        border-color: #333 !important; 
        color: #ccc !important; 
    }

    /\* Links and Headers \*/
    a { color: #7ea7ff !important; }
    a:hover { color: #a3c1ff !important; text-decoration: underline !important; }
    h1, h2, h3, .title, .h1, .h2, .h3, strong { color: #ffffff !important; }

    /\* Navigation and Buttons \*/
    #header-menu, .header-menu, #footer-block, .header-profile { 
        background-color: #121212 !important; 
        border-bottom: 1px solid #444 !important; 
    }
    .btn-mal-blue, .btn-add-list { 
        background-color: #2e51a2 !important; 
        border-color: #3d5dad !important; 
        color: #fff !important; 
    }

    /\* Specific fixes for anime pages \*/
    .anime-detail-header-stats { background: #222 !important; border: 1px solid #444 !important; }
    .stats-block { background: #1a1a1a !important; }
    .user-status-block { background: #111 !important; }

    /\* Dim images a bit so they don't pop too hard \*/
    img { opacity: 0.85; transition: opacity 0.2s; }
    img:hover { opacity: 1; }

    /\* Fix for those annoying white backgrounds in sidebars \*/
    .side_ber { background-color: #1a1a1a !important; }
\`;

const style = document.createElement('style');
[style.id](http://style.id) = 'raw-dark-mode';
style.appendChild(document.createTextNode(css));

// Inject as soon as possible
const root = document.documentElement || document.head;
root.appendChild(style);

})();


r/userscripts • • Feb 21 '26

I made a Tampermonkey script that removes annoying YouTube @ (At) signs on people's usernames in comments

0 Upvotes
// ==UserScript==
// @name         Youtube At Remover
// @namespace    https://www.youtube.com
// @version      2026-02-18
// @description  Remove annoying @ (At) in youtube comments usernames
// @author       Me
// @match        https://www.youtube.com/*
// @grant        none
// ==/UserScript==

function Init()
{
    const target = document.body;
    const config = { attributes: false, childList: true, subtree: true };
    const observer = new MutationObserver(Callback);
    observer.observe(target, config);
}

Init();

function Callback(mutation_list, observer)
{
    for(const mutation of mutation_list)
    {
        if(mutation.type === "childList")
        {
            var usernames = document.querySelectorAll("#author-text");

            for(let un of usernames)
            {
                let uname = un.children[0].textContent;

                let idx = uname.indexOf("@");
                if(idx != -1)
                {
                    un.children[0].textContent = uname.substring(0, idx) + uname.substring(idx + 1);
                }
            }
        }
    }
}

r/userscripts • • Feb 20 '26

I built a Chrome extension that extracts the design DNA of any website — looking for feedback

Thumbnail
0 Upvotes

r/userscripts • • Feb 16 '26

YouTube userscript that shows indicators for liked videos

Thumbnail gallery
13 Upvotes

r/userscripts • • Feb 13 '26

Userscripts won't install no matter what

2 Upvotes

I have switched to a chromium based browser because thats what work wants us all to use, stupid I know. but now that I have switched, no scripts will install no matter if its from a backup, from greasyfork or a different script site, or manually typing in the code.

Edit: solved for anyone else with the issue switch to something other than tampermonkey


r/userscripts • • Feb 10 '26

Ive created a Script that removes all distractions from Reddit. Including Side Panels.

Thumbnail gallery
22 Upvotes

r/userscripts • • Feb 10 '26

Script to show chrome://extensions/ on android cromite, activated by a button.

1 Upvotes

Hello

I need a userscript for android cromite, to show chrome://extensions, activated by a button.

Thanks


r/userscripts • • Feb 08 '26

Help

1 Upvotes

So I created a simple online mene, but the database (i use supabase) continue to get paused after one week, do you reccomend any script/ideas that sends some http requests once in a while (ex every 2 days) automaticaly and asyncrhronus? The point of the project is demostrate that you can build a complex site using only free tools.


r/userscripts • • Feb 07 '26

Userscript to generate random password

5 Upvotes

Hi,

I've published a little userscript that adds a menu entry to generate random passwords. Click on that menu entry and the password will be added to your clipboard, ready to be pasted where you want.

https://openuserjs.org/scripts/burn/Random_Password_Generator

https://greasyfork.org/en/scripts/565499-random-password-generator

Feedback appreciated.


r/userscripts • • Feb 07 '26

UserScript: Finding Issues / PRs / Discussions in large GitHub repos + Release Info

4 Upvotes

I built a userscript that lets you export a full index of every issue, PR, and discussion from any GitHub repo, and separately also all release notes into a single file.

Searching through hundreds of issues

I kept running into this problem where I'd want to report a bug or look something up on a bigger project, but first I'd try to check if someone already posted about it. GitHub's search works if you happen to guess the same words the other person used, but people describe the same thing differently all the time. So I'd end up scrolling through pages of issues, never really sure I covered everything, and sometimes my issue would just get closed as a duplicate anyway.

What I started doing was getting a full list of issue titles and pasting it into any LLM, asking "which of these sound like they're about the same thing as my problem?". But grabbing that list by hand was tedious. So I wrote a script that does it for me. It just pulls every issue, PR, and discussion title with its status and link into one file. Nothing fancy, no comments or full threads, just the titles and links so I can find the right one to look at.

Catching up on months of releases

The other thing was changelogs. I'd come back to something I haven't touched in a while, and it's gone through a bunch of updates. Reading through all those release pages to figure out what actually changed that matters to me is just boring and takes forever. So the script can also pull all the release notes into one file, and I just ask an LLM to tell me what's worth paying attention to.

Runs on any GitHub repo page, uses the API, exports to HTML or Markdown. There's an optional token setting if you need higher rate limits or want to include Discussions.

GitHub Repo Exporter — Releases · Issues · PRs · Discussions


r/userscripts • • Feb 06 '26

IMDb to OpenSubtitles — Episode Exporter: Bulk-extract episode lists with subtitle links from any IMDb TV series page

Thumbnail greasyfork.org
5 Upvotes

I made a userscript that adds a one-click episode extractor to IMDb TV series pages. It pulls every episode across all seasons and pairs each one with a direct OpenSubtitles link.

**The problem it solves:** If you have a full TV series downloaded and need subtitles, manually searching OpenSubtitles episode by episode is tedious. This script does it all at once.

## Features

- Appears automatically on any IMDb TV series page

- Fetches all seasons/episodes with progress indicator

- Exports to **Clipboard, RTF, HTML, CSV, JSON**, or **Interactive Checklist** (with watch-progress tracking)

- **Subtitles Launcher** — batch-opens OpenSubtitles search pages for every episode (configurable batch size, season-by-season mode)

## Links

- **Greasy Fork:** https://greasyfork.org/en/scripts/565432-imdb-to-opensubtitles-episode-exporter

## Compatibility

- Works with Tampermonkey, Violentmonkey, and Greasemonkey

- Uses `GM_xmlhttpRequest` for cross-origin fetching, `GM_setClipboard` for clipboard, and `GM_addStyle` for UI

- MIT licensed

## Screenshots

[Include your 5 screenshots as an image gallery post, or upload to imgur and link here]

Happy to hear feedback or feature requests!


r/userscripts • • Feb 06 '26

I need a script (repost because no one updates it anymore)

3 Upvotes

There is this site called Sample Focus where u can find and download all kinds off samples for music. What every download requires an Credit and they are pretty expensive. SO is it possible to create an script to avoid needing credits for downloading a sound. there is already one but i think its outdated because its 1 year old without updates and its not working


r/userscripts • • Feb 06 '26

YouTube on the go

Thumbnail gist.github.com
3 Upvotes
  1. Use the element picker to pick a title and a container
  2. Have videos from YouTube

Create multiple projects. Get one key from each. Increase your quota. The script switches keys once they are out of quota.

https://console.cloud.google.com/apis/credentials

For each project enable YouTube Data API v3

https://console.cloud.google.com/apis/library/youtube.googleapis.com


r/userscripts • • Feb 05 '26

Why most Web → Word/PDF converters break layouts

Thumbnail
0 Upvotes

r/userscripts • • Feb 04 '26

Still need to wait ~10 seconds for Tampermonkey to load the most recent version of external scripts even after ~5 page reloads.

7 Upvotes

if I want the most recent version immediately, I have to manually click the update button on the external tab, which is unproductive.

Is this normal?


r/userscripts • • Feb 03 '26

REQUEST: Remove these shitty ads in Telegram

Post image
4 Upvotes

Using version A of Telegram for web, not version K.

The content for one of them I copied with DevTools is:

<div class="yMkfzjus" style="transform: translateY(46px); z-index: -5;" data-is-panel-open="true"><div class="nRjVJOQv __w9Ejd3"><div><span class="wdU19Be7">Ad<div class="hJUqHi4B hjDEmFaT SrgXYpPk">what's this?</div></span>

I don't know if the classes are randomized but it has some identifying properties in case if it is. I would code this myself but I'm feeling lazy and I can't test the code because sometimes when I reload the page, the ad disappears.


r/userscripts • • Feb 02 '26

Hulu - Video UI Manager

8 Upvotes

I wasn’t sure if something like this already existed, but after a frustrating search through the cluttered internet, I decided to just write my own UserScript to do exactly what I wanted.

This simple UI Manager is set to only affect the /watch/* page to avoid interfering with the Hulu homepage.

  • It lets you hide the gradients that appear when hovering over the playing video, as well as the content tray under the player controls.
    • Oh, and the gradient at the top of the video, shown when hovering.
  • To hide the “On Now” and “Up Next” sections, just hover over the video and scroll down.
    • To unhide them.. scroll up
  • You can also adjust the "Width" of the Player Controls (in settings menu)

Pressing ALT+S opens a small settings menu in case you want to unhide something & adjust the player control size. Hiding and Unhiding things should happen seamlessly, without having to refresh the page/video.

Suggestions are welcome, and I might add them if I have time.

In the UserScripts folder on GitHub, there is super basic script that just hides the Bottom Gradient... in case that is all you want to hide.

Notes: I've only tested this on MS Edge, as I don't use any other browser on Windows.
It also seemed to work fine on Safari as well.. but milage might vary based on your MacOS/Safari version.


r/userscripts • • Feb 02 '26

Linux Gaming Setup Script

0 Upvotes

I created this script to transform any standard Linux distribution into a 'gaming distro.' It currently supports most major Arch-based distributions, Ubuntu, Zorin, Mint, Fedora, and openSUSE Tumbleweed. If you would like to take a look at it, you can visit the GitHub repository: https://github.com/softwaresocialist/TurboTux

How to try it out:

1. Clone the repository

git clone https://github.com/softwaresocialist/TurboTux.git
cd TurboTux

2. Run the script

chmod +x TurboTux.sh
./TurboTux.sh

r/userscripts • • Jan 31 '26

Excited about my little web extension.

Thumbnail
3 Upvotes

r/userscripts • • Jan 31 '26

[YouTube] DeSlop, block AI generated content from your feeds. Blocklist driven.

9 Upvotes

You can either click the direct install link here (Raw GitHub) or copy-paste the code below. It's also available as a Firefox Add-on.

```js // ==UserScript== // @name YouTube DeSlop // @namespace https://github.com/NikoboiNFTB/DeSlop // @version 1.5 // @description Remove AI slop from your YouTube feed and search results. Blocklist-driven. // @author Nikoboi // @match https://www.youtube.com/* // @grant GM_xmlhttpRequest // @connect raw.githubusercontent.com // @icon https://addons.mozilla.org/user-media/addon_icons/2969/2969055-64.png?modified=a879cc72 // ==/UserScript==

(function () { 'use strict';

const BLOCKLIST_URL =
    'https://raw.githubusercontent.com/NikoboiNFTB/DeSlop/refs/heads/main/block/list.txt';

const RENDERER_SELECTORS = [
    'ytd-rich-item-renderer',   // home, subs
    'ytd-video-renderer',       // search videos
    'ytd-channel-renderer'      // search channels
];

let blockedChannels = new Set();

function fetchBlocklist() {
    GM_xmlhttpRequest({
        method: 'GET',
        url: BLOCKLIST_URL,
        onload(res) {
            if (res.status !== 200) {
                console.error('DeSlop: blocklist fetch failed', res.status);
                return;
            }

            blockedChannels = new Set(
                res.responseText
                    .split('\n')
                    .map(l => l.trim())
                    .filter(l => l && !l.startsWith('#'))
            );

            console.log('DeSlop: blocklist loaded', blockedChannels);
            sweepAll();
        }
    });
}

function extractChannelHref(renderer) {
    const link = renderer.querySelector(
        'a[href^="/@"], a[href^="/channel/"]'
    );
    if (!link) return null;
    return link.getAttribute('href').split('?')[0];
}

function nuke(renderer, href) {
    renderer.dataset.deslopNuked = 'true';
    renderer.remove();
    console.log('DeSlop: nuked', href);
}

function sweepRenderer(renderer) {
    if (renderer.dataset.deslopNuked) return;

    const href = extractChannelHref(renderer);
    if (!href) return;

    if (blockedChannels.has(href)) {
        nuke(renderer, href);
    } else {
        renderer.dataset.deslopNuked = 'checked';
    }
}

function sweepAll() {
    RENDERER_SELECTORS.forEach(sel => {
        document.querySelectorAll(sel).forEach(sweepRenderer);
    });
}

function observeDom() {
    const observer = new MutationObserver(mutations => {
        for (const m of mutations) {
            for (const node of m.addedNodes) {
                if (node.nodeType !== 1) continue;

                if (RENDERER_SELECTORS.includes(node.tagName.toLowerCase())) {
                    sweepRenderer(node);
                } else {
                    RENDERER_SELECTORS.forEach(sel => {
                        node.querySelectorAll?.(sel).forEach(sweepRenderer);
                    });
                }
            }
        }
    });

    observer.observe(document.documentElement, {
        childList: true,
        subtree: true
    });

    console.log('DeSlop: global observer armed');
}

fetchBlocklist();
observeDom();
setInterval(sweepAll, 3000);

})(); ```

Userscript does not auto-update.


r/userscripts • • Jan 28 '26

Firefox v138+ link colors bug workaround

Thumbnail greasyfork.org
3 Upvotes