Skip to content

Instantly share code, notes, and snippets.

@arantius
arantius / download-test.user.js
Last active November 7, 2023 22:49
Greasemonkey downloader test
// ==UserScript==
// @name Download Test
// @description Script to test download/install. At least one: require, resource, icon.
// @icon /favicon.ico
// @require require.js
// @resource resource resource.txt
// @grant GM.getResourceUrl
// ==/UserScript==
(async function() {
@arantius
arantius / css-resource-test.user.js
Last active November 7, 2023 00:47
Test script with a CSS resource
// ==UserScript==
// @name CSS Resource Test
// @version 1
// @grant GM.getResourceUrl
// @resource css test.css
// ==/UserScript==
(async function() {
var link = document.createElement('link');
link.rel = 'stylesheet';
// ==UserScript==
// @name URLSearchParams test
// @version 1
// @grant none
// ==/UserScript==
// Test for https://github.com/greasemonkey/greasemonkey/issues/3136
const searchParams = new URLSearchParams("key1=value1&key2=value2");
for (const key of searchParams.keys()) {
@arantius
arantius / bad-match.user.js
Created November 5, 2023 14:00
User script with bad @match
// ==UserScript==
// @name Bad match
// @description A user script with an improperly formatted @match, which should not install.
// @version 1
// @grant none
// @match abc
// ==/UserScript==
@arantius
arantius / update-test.user.js
Created August 1, 2012 14:07
Greasemonkey Update Test
// ==UserScript==
// @name Update Test
// @namespace test
// @description Test whether updates really work
// @include *
// @version 2
// ==/UserScript==
dump('Update test version 2!\n');
@arantius
arantius / simple-rrd-merge.py
Created March 23, 2012 02:43
A very simple script to merge multiple RRD files, since none of those available seem to work.
#!/usr/bin/env python
"""Simple script to merge multiple RRD files together.
Accepts any number of RRD file names as arguments. Produces an "rrdtool dump"
style file on stdout. The last RRD file should have a slot for every possible
record in the resulting merged RRD.
Run something like:
$ python simple-merge-rrd.py filea.rrd fileb.rrd filec.rrd | \
@arantius
arantius / gm-addstyle.js
Created February 22, 2018 16:47
GM_addStyle
function GM_addStyle(aCss) {
'use strict';
let head = document.getElementsByTagName('head')[0];
if (head) {
let style = document.createElement('style');
style.setAttribute('type', 'text/css');
style.textContent = aCss;
head.appendChild(style);
return style;
}
@arantius
arantius / regex-include-slash.user.js
Created August 3, 2011 20:00
Regular expression include, slash escape test
// ==UserScript==
// @name Regular expression include, slash escape test
// @namespace https://github.com/arantius
// @include /^https://gist.github.com//
// ==/UserScript==
GM_addStyle('body, #main { background-color: green !important; }');
@arantius
arantius / grant-none-shim.js
Last active May 21, 2022 14:47
Greasemonkey "@grant none" compatibility shim.
/*
The MIT License (MIT)
Copyright (c) 2014 Anthony Lieuallen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
@arantius
arantius / gm-get-set-demo-with-polyfill.user.js
Last active March 8, 2022 15:31
A simple persistent value test user script
'use strict';
// ==UserScript==
// @name GM set/get demo
// @description Exercises both GM.getValue() and GM.getValue(). Logs a counter which goes up by one, at each page load.
// @grant GM.getValue
// @grant GM_getValue
// @grant GM.setValue
// @grant GM_setValue
// @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js
// ==/UserScript==