diff --git a/improved_redgifs.user.js b/improved_redgifs.user.js
new file mode 100644
index 0000000..7cab70d
--- /dev/null
+++ b/improved_redgifs.user.js
@@ -0,0 +1,163 @@
+// ==UserScript==
+// @name Improved RedGIFs
+// @namespace BigDuckie.ImprovedRedgifs
+// @version 2025.1.13
+// @description Fix a few annoying "features" and add an easy download button.
+// @icon https://www.google.com/s2/favicons?sz=64&domain=redgifs.com
+// @author Big Duckie
+// @copyright 2025, Big Duckie (https://bigduckie.dev)
+// @license MIT
+// @match https://*.redgifs.com
+// @match https://*.redgifs.com/watch/*
+// @match https://*.redgifs.com/niches/*
+// @match https://*.redgifs.com/ifr/*
+// @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js
+// @require https://raw.githubusercontent.com/pie6k/jquery.initialize/master/jquery.initialize.min.js
+// @grant GM_addStyle
+// @grant GM_download
+// ==/UserScript==
+
+(function () {
+ 'use strict';
+ GM_addStyle(`
+ .DLButton {
+ background: 0 0;
+ border: none;
+ cursor: pointer;
+ color: var(--white);
+ font: var(--s1-medium);
+ text-shadow: var(--black) 1px 0 5px;
+ text-align: center;
+ }
+
+ .embeddedPlayer .buttons .button svg {
+ margin-left: 3px;
+ }`);
+
+ jQuery.noConflict();
+
+ const play_svg = () => jQuery(document.createElementNS("http://www.w3.org/2000/svg", "svg")).attr({
+ width: 24,
+ height: 24,
+ viewBox: "0 0 24 24",
+ fill: "none",
+ stroke: "currentColor",
+ stroke_width: 2,
+ stroke_linecap: "round",
+ stroke_linejoin: "round"
+ }).html(``);
+
+ const pause_svg = () => jQuery(document.createElementNS("http://www.w3.org/2000/svg", "svg")).attr({
+ width: 24,
+ height: 24,
+ viewBox: "0 0 24 24",
+ fill: "none",
+ stroke: "currentColor",
+ stroke_width: 2,
+ stroke_linecap: "round",
+ stroke_linejoin: "round"
+ }).html(``);
+
+ const download_svg = () => jQuery(document.createElementNS("http://www.w3.org/2000/svg", "svg"))
+ .attr({
+ width: 24,
+ height: 24,
+ viewBox: "0 0 24 24",
+ fill: "none",
+ stroke: "currentColor",
+ stroke_width: 2,
+ stroke_linecap: "round",
+ stroke_linejoin: "round"
+ }).html(``);
+
+ // Remove overlayer
+ jQuery.initialize(".Player-OverLayer", function() {
+ this.remove();
+ });
+
+ // Watch & Niche pages
+ jQuery.initialize(".SideBar", function () {
+ const gif_root = jQuery(this).parent().parent();
+ let gif_id = gif_root.attr("id").substring(4);
+
+ jQuery(this).find(".SideBar-Item>.rg-button.views").on("click", function () {
+ togglePlayer(gif_root.find(".Player-Video>video")[0]);
+ }).children("svg").replaceWith(pause_svg());
+
+ jQuery(this).children(".SideBar-Item:has(.FSButton)").after(
+ jQuery("
", {
+ class: "SideBar-Item"
+ }).append(
+ jQuery("