Last active
March 1, 2026 22:23
-
-
Save ravarcheon/606b641df4ade3642fb01bec0950c7c0 to your computer and use it in GitHub Desktop.
the horse that blocks your screen after a 2 minutes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // ==UserScript== | |
| // @name the horse that stands in your way | |
| // @namespace http://tampermonkey.net/ | |
| // @version 2026-03-01 | |
| // @description no more than 2 minutes of twitter. the first minute is a clear view, the second minute is where the horse slowly fades in. third minute and beyond there is nothing to see except horse | |
| // @author You | |
| // @match http*://*.x.com/* | |
| // @match http*://*.instagram.com/* | |
| // @icon https://www.google.com/s2/favicons?sz=64&domain=x.com | |
| // @grant none | |
| // ==/UserScript== | |
| (function() { | |
| 'use strict'; | |
| function map(x, a, b, c, d) { | |
| return ((x - a) / (b - a)) * (d - c) + c; | |
| } | |
| const horseContainer = document.createElement("div"); | |
| horseContainer.style.cssText = | |
| `position:fixed;` + | |
| `top:0;` + | |
| `left:0;` + | |
| `width:100vw;` + | |
| `pointer-events:none;` + | |
| `height:100vh;`; | |
| const horseImage = document.createElement("img"); | |
| horseImage.style.cssText = | |
| `width:100%;` + | |
| `opacity:0;` + | |
| `z-index:2147483647;` + | |
| `height:100%;`; | |
| horseImage.src = `data:image/webp;base64,UklGRqYEAABXRUJQVlA4IJoEAACQKACdASq4ALgAPx2AtFUtJ7AxrDIL8jAjiWctlrJe3MpDfmZr5mbZEGvmFlYzPwsqtlrpWrYmxCREt0Z32pTr5VoqJsfZMWovL7fbb/1QPYV+n1yPIYVPmhFrk10Xk4hhnklTQph/tbHe3wOjNPDaRwNHjuDNCx8J4/odMB15eW8x0ikImx7GBWoRhfPnTvU1zfgB1VeuaJVh5cgH4plvC2DibTXvz56bXEvs3KLMN6vAzngG2V4ZzdMxSzhv34gy9J2XDoZidRAKOgD9Y7Tnr0d5yqdTBA8dEJuYvliFH1AVgse2IWpwszEjxreAqV+0k4H8sBeAhnf6oO4K5/Prn9kxHcq76slaOW9VsIk8E/X2fThB9C54cnDmBbenEHsATtjL+4hb2OxFrdmoJehALGTQgyz55xdrmt9quVP05/VMR7KZo8/Y6qUCQAAA/syv+2Uf8usT4jDReenXZ/UUWPFpiO7cIB0A+Aq3orhZdXf7+CD3CaUa7Q6FZFNGx+v8E4kMGekjUPwISCKCaPE6SHN0YjVwrB5L9gN5fNuml9qSzbUosjeXYNoMwZuA6OlmIeHBzKzM8MS9gzecUJ/NiUdvbvAkwvkRGJWU0pdH+tcuwIh1ZKKd2LJTC38VY+hlLXoHQRJJnxNodShjutJiGUpURCXBivJYfRJOtq49nSVuQAfom4gzO3iXiKE8MqOrQKqIAIYRTOfE9OVyJpwrqmZOfgcMBPp7pJwL2/PpR2aKMs/1q/HilMXeC96dkp2Kp4bo7uFhGDkG/XUo1j4kc06SnAhZUYGgsuDNGMjxlcqQZsAmOz7yPdcvjv+WDybE/G+jMdYlc9DoARuqKw51rcG5QeK0Vfh1Iad/s57nr5dm6Dxvom2PW/V4aUPYE0H06MJZ9qmVHhA2Snmfv8z9SFc+EekQIkIQ+ErJUJopb6IrE3DAyX0MpcNfwhGq7jf1/cgxGaNm31wJaprCIbWCc8W66ZzHHhjfwyTyoQQzrtplgYE9XI3jXRmIeK50KNSPHHz4b0l8/ufuTfGGP/MoEhsGQouja6TIdlTHRNBm+HJ0MxZifNXndxiiU09dYYkSt0SNeerol3bMZacIWZxG62LtqBHCrIF8dq8alWXhLPfqg6wNVrwNruoRhfm2d3uqURfdMsPdiMMigbRzLGZxbuEg07LVBbO2nxobcsKhWyd+Bhr52qKvFOPPEMECswjzvOAZGRPyL78j1xi5ZVOYLw4NgS8byTLhCOPD/7qbG3443tcYpnTxCQgF7dN0Ewaqc3605T3I+UAKus6WVz3O+Zzihvx56yAttswBNkwc8snmTJ/ay5kUVPjZtUtyhRZbG6+TeOFzIRIk5ghHmnF1y5k8p3GEBmaZ/XWnKPYEIwOHMmW4UY+ZBFr1vFha0ywuaBNzlyZuVZLOOMA9OrFwg47JwSmJj0Hriiqunk/6mbXX31EJznrKwqyfQMn2qySFavugYPm0gAJUQevrUM4ueMZcy6Ay0XS9dwhnzjD76X2QqbOsPm0/YYKgn86FZP5Z049llgIrXi35Y5kJq+KfWaoa4pi7AAAAAA==`; | |
| let horsepacity = 0; | |
| document.body.appendChild(horseContainer); | |
| horseContainer.appendChild(horseImage); | |
| let horseRaf; | |
| function horseDo() { | |
| horsepacity = Math.min(Math.max(0, map(performance.now(), 60_000, 120_000, 0, 1)), 1); // the 60000 and 120000 are the times when the horse goes from 0 to 1 opacity, change this if you want a shorter time or a longer time or whatever | |
| horseImage.style.opacity = horsepacity; | |
| if (horseRaf) { | |
| cancelAnimationFrame(horseRaf); | |
| } | |
| horseRaf = requestAnimationFrame(horseDo); | |
| } | |
| horseDo(); | |
| })(); |
sogful
commented
Mar 1, 2026
would recommend
Greasemonkey on Firefox does not fully support wildcards in @match rules, so I had to replace them like this:
- // @match http*://*.x.com/*
- // @match http*://*.instagram.com/*
+ // @match http://*.x.com/*
+ // @match https://*.x.com/*
+ // @match http://*.instagram.com/*
+ // @match https://*.instagram.com/*SOTY
HORSEY
Umazing! 👍
How to add to browser
How to add to browser
Nvm I'm dumb
Greasemonkey on Firefox does not fully support wildcards in
@matchrules, so I had to replace them like this:- // @match http*://*.x.com/* - // @match http*://*.instagram.com/* + // @match http://*.x.com/* + // @match https://*.x.com/* + // @match http://*.instagram.com/* + // @match https://*.instagram.com/*
thank you very much this is incredible i now have Horse
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment


