Skip to content

Instantly share code, notes, and snippets.

View limitedeternity's full-sized avatar
🔭
Ищу смыслы

Vyacheslav Bespalov limitedeternity

🔭
Ищу смыслы
View GitHub Profile
/*
=============
What is this?
=============
This code, when invoked, will:
- Reveal all hidden fields,
- Unlock all disabled fields,
- Convert all option, radio, and checkbox fields to editable text,
@limitedeternity
limitedeternity / wget-recursive-filedump.sh
Last active August 1, 2019 10:30
Bash-скрипт для дампа файлопомоек
#!/usr/bin/env bash
link=$(zenity --entry --text 'Please enter link:') || exit 0
wget -m -np -c -R "index.html*" "$link"
function addXMLRequestCallback(callback) {
var oldSend, i;
if (XMLHttpRequest.callbacks) {
XMLHttpRequest.callbacks.push(callback);
} else {
XMLHttpRequest.callbacks = [callback];
oldSend = XMLHttpRequest.prototype.send;
@limitedeternity
limitedeternity / IPSecVPN-Solus.sh
Created June 10, 2018 10:46
IPSecVPN network manager for Solus
git clone https://github.com/xelerance/xl2tpd.git
cd xl2tpd/
make
sudo make install
cd ../
wget https://download.strongswan.org/strongswan-5.7.0dr1.tar.bz2
tar xvf strongswan-5.7.0dr1.tar.bz2
@limitedeternity
limitedeternity / yt_repeat.js
Last active September 1, 2023 13:53
Repeat YouTube video automatically
(async () => {
while (true) {
let el = document.querySelector('button[data-title-no-tooltip="Повторить"]');
if (el) {
let evt = new Event("click");
el.dispatchEvent(evt);
} else {
await new Promise(resolve => setTimeout(resolve, 2000));
}
// FileSaver.min.js
(function(a,b){if("function"==typeof define&&define.amd)define([],b);else if("undefined"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){"use strict";function b(a,b){return"undefined"==typeof b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Depricated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open("GET",b),e.responseType="blob",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error("could not download file")},e.send()}function d(a){var b=new XMLHttpRequest;return b.open("HEAD",a,!1),b.send(),200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent("click"))}catch(c){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f="object"==typeof
@limitedeternity
limitedeternity / diff_search.py
Created December 1, 2018 09:49
Automatic solution for "find 10 differences in two pictures" tasks
from skimage.measure import compare_ssim
import argparse
import imutils
import cv2
def are_equal(imageA, imageB):
if imageA.shape == imageB.shape:
difference = cv2.subtract(imageA, imageB)
(b, g, r) = cv2.split(difference)
@limitedeternity
limitedeternity / chromeSaveFromCache.js
Created December 1, 2018 14:54
Utility to retrieve files from chrome://cache
(function() {
var preTags = document.getElementsByTagName('pre');
var preWithHeaderInfo = preTags[0];
var preWithContent = preTags[2];
var lines = preWithContent.textContent.split('\n');
// get data about the formatting (changes between different versions of chrome)
var rgx = /^(0{8}:\s+)([0-9a-f]{2}\s+)[0-9a-f]{2}/m;
var match = rgx.exec(lines[0]);
@limitedeternity
limitedeternity / runOnSeriesPage.js
Created December 1, 2018 15:03
Code to enable download button on LostFilm.tv series page
(function() {
var data = document.getElementsByClassName("mark-rate-pane")[0].getAttribute("rel").split(",");
if (document.getElementsByClassName("external-btn2").length !== 0) {
window.copyrightedEpisode = undefined;
var episode = "";
for (var i = 0; i < data.length; i++) {
episode += ('00' + data[i]).slice(-3);
}
@limitedeternity
limitedeternity / requirements.txt
Last active January 10, 2019 11:07
Tkinter time display widget
tkinter