Skip to content

Instantly share code, notes, and snippets.

View jadeallencook's full-sized avatar
🤙
Send it

Jade Allen Cook jadeallencook

🤙
Send it
View GitHub Profile
@jadeallencook
jadeallencook / download-image.js
Created August 13, 2018 01:22
Download all the images on the current page.
var images = [],
nodes = document.getElementsByTagName('*');
// loop over all nodes in dom
for (var x = 0, max = nodes.length; x < max; x++) {
// look for nodes with bg imgs
var node = nodes[x],
image = node.style.backgroundImage;
// if no bg img, check for img node type
if (!image && node.nodeName === 'IMG') image = node.src;
else image = image.replace('url("', '').replace('")', '');
@jadeallencook
jadeallencook / database-architecture.json
Last active August 11, 2018 08:05
Database scheme for managing people.
{
"postals": {
"84111": "d257df6d-5fca-70a5-9d7e-a0bab213f7aa"
},
"names": {
"316e37df-71ef-06d6-6606-fc3cfc58e4e4": {
"first": "John",
"last": "Smith",
"person": "940eca25-7bf9-82db-7974-03ed857d1615"
}
@jadeallencook
jadeallencook / password-decrypt.js
Created June 24, 2018 21:05
Password decryption for Hack This Site's basic level 6.
function decrypt(password) {
var letters = 'abcdefghijklmnopqrstuvwxyz',
decrypt = '';
for (var x = 0; x < password.length; x++) {
var value = password[x];
if (isNaN(value)) decrypt += letters[letters.indexOf(value) - x];
else decrypt += value - x;
}
return decrypt;
}
@jadeallencook
jadeallencook / reset-likegrowers.js
Created May 11, 2018 06:40
Reset tags on Likegrowers website.
var types = ['tag', 'location']
for (var y = 0; y < types.length; y++) {
var type = types[y];
for (var x = 0; x < document.querySelectorAll('a[data-type="' + type + '"]').length; x++) {
var elem = document.querySelectorAll('a[data-type="' + type + '"]')[x];
while (elem) {
elem.click();
}
}
}
@jadeallencook
jadeallencook / getZip.js
Last active March 8, 2018 19:23
Google Script that returns zipcode for address.
function getZip(address) {
if (address == '') {
return 'ERROR: No address was provided';
} else {
var location = Maps.newGeocoder().geocoder.geocode(address);
if (location.status == 'OK') return extractFromAddress(location.results[0].address_components, 'postal_code');
else return 'ERROR: Something went wrong with Geocoder';
}
}
@jadeallencook
jadeallencook / instalike.js
Last active March 15, 2024 01:15
instagram autolike script
let likes = 0;
setInterval(() => {
const heart = document.querySelector('svg[aria-label="Like"][width="24"]');
const arrow = document.querySelector('svg[aria-label="Next"]');
if (heart) {
heart.parentNode.parentElement.click()
likes++;
console.log(`You've liked ${likes} post(s)`);
}
arrow.parentElement.parentElement.click();
@jadeallencook
jadeallencook / package-installer.js
Created December 4, 2017 22:25
Package installer that can handle dependencies.
/*
Coded by Jade Allen Cook 2017
Example Packages -
[
"KittenService: ",
"Leetmeme: Cyberportal",
"Cyberportal: Ice",
"CamelCaser: KittenService",
"Fraudstream: Leetmeme",
"Ice: "
@jadeallencook
jadeallencook / youtube-ad-skip.js
Last active January 17, 2019 20:19
Paste into your console while watching YouTube video to automatically press "skip" button when ad appears.
// check for ad every second
setInterval(() => {
// cache skip button
const skipBtn = document.querySelector('.videoAdUiSkipButton');
// click skip button if it exists
if (skipBtn) skipBtn.click();
}, 1000);
@jadeallencook
jadeallencook / homicide-newspaper-formatter.js
Last active November 28, 2017 20:23
Formats exported JSON from Google Form to newspaper format.
function exportHomicideReport(reports) {
return new Promise((complete, error) => {
// cache build info
let output = '',
outputPromises = [],
monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
// cache google info
const googleURL = 'https://maps.googleapis.com/maps/api/geocode/json?latlng=',
googleAPI = '&key=AIzaSyCXllb7HBvBT_nv5jF0dxjaRAo4T6D34xw';
// loop over each report
@jadeallencook
jadeallencook / validate-sudoku.js
Created September 7, 2017 16:56
Validate a sudoku board by passing this method the board numbers (left to right) in an array.
function validateSudoku(data) {
// [] for rows/colums
var board = [];
// iterate over the (r)ows
for (var r = 0; r < 9; r++) {
// start for (c)olumns
var start = r * 9;
// stores current row data
var build = [];
// iterate over the (c)olumns