Skip to content

Instantly share code, notes, and snippets.

@varenc
varenc / extract_firebase_access_token.sh
Last active March 24, 2024 20:27
on macOS extract a firebase user accessToken from your active Chrome session. Demoing with partiful.com
function partifulToken() {
# some overly terse JS that extracts the Firebase access token from indexedDB and assigns it to `window.__FB_KEY`
local SOME_JS="indexedDB.open('firebaseLocalStorageDb').onsuccess=event=>(((event.target.result.transaction('firebaseLocalStorage','readonly').objectStore('firebaseLocalStorage').getAll().onsuccess=e=>console.log('FIREBASE_TOKEN:',window.__FB_KEY=e.target.result[0].value.stsTokenManager.accessToken)),null))";
echo "Getting partiful firebase token..." >&2
# This requires that automation access is enabled on Chrome
# It first finds an active partiful.com tab and runs the JS there.
# NOTE: Right now this only checks that tabs in the FIRST window. Should be improved to check all windows/tabs.
@varenc
varenc / README.md
Last active March 21, 2024 04:40
Keep your Mac from waking by disabling the `InternalPreventSleep` assertion from `com.apple.powermanagement.acwakelinger`

Disable AC Wake lingering in macOS using undocumented pmset features

Every time your Mac wakes from sleep powerd creates an InternalPreventSleep assertion labeled com.apple.powermanagement.acwakelinger with a 45 second timeout. That assertion ensures that even if your Mac needs to wake for 2 seconds to recieve a push notification that it stays on for 45 seconds. Seemingly there's no way to control this. And recent versions of macOS love to wake quite frequently.

Forunately we can disable this. The built in pmset tool has many undocumented features but thankfully it's open source

Cruicially there's an undocumented pmset disabledassertion feature that just makes macOS ignore certain power assertions. To effectively disable acwakelinger we just run this:

$ sudo pmset disableassertion InternalPreventSleep
@varenc
varenc / 2048_masher.js
Last active March 21, 2024 00:38
2048 button masher to show how artless the game is
// This script just mashes Up and Left until its stuck, and then it presses Right. Plays decently, which is the sad part.
//
// tested on https://2048game.com/
// To use this just go to that page, open dev tools, and paste this JS in the console. Refresh the page to stop it.
const simulateKeyPress = (keyCode) => {
document.dispatchEvent(new KeyboardEvent('keydown', { keyCode, which: keyCode }));
};
const upArrowKeyCode = 38, leftArrowKeyCode = 37, rightArrowKeyCode = 39;
@varenc
varenc / make_usable.js
Created January 19, 2024 02:04
Force iccsafe.org code text to be selectable and copyable
function __unblockEvents(){for(var i=0;i<arguments.length;i++){document.addEventListener(arguments[i],function(e){e.stopPropagation();console.log("event received and unblocked:",e);},true);}};
__unblockEvents('keydown','keyup','keypress','copy','contextmenu','beforeprint','afterprint');
document.head.appendChild(Object.assign(document.createElement("style"), {textContent: "* { user-select: initial !important; }"}));
// TODO: disabling 'beforeprint' doesnt seem to work. Fix that so its printable. Use Chrome Dev tools to remove that event handler manually in the mean time.
@varenc
varenc / weather_app_open.sh
Created December 17, 2023 00:05
Automatically open the macOS Weather app from the the terminal/shell for a given GPS lat/long
open -a Weather "https://weather.apple.com/?city=Boston&lat=42.3226734&lng=-71.0924375"
# the 'city' arg can be any string, only the lat/lng is used to look up weather
# You can make the string somethng silly and it gets displayed in the app
open -a Weather "https://weather.apple.com/?city=Bawston&lat=42.3226734&lng=-71.0924375"
# Or if you exclude 'city' arg then Apple just looks up the name based on the lat/long
open -a Weather "https://weather.apple.com/?lat=42.3226734&lng=-71.0924375"
# Also all of these have `weather://` scheme equivalents, like this:
@varenc
varenc / product_descriptions.txt
Last active July 2, 2023 02:20
some random lab401 listings
======Roll Remote V2
Introduction
The Roll Remote is a powerful miniaturised RF & Remote Control duplication device. Supporting both fixed and rolling codes across multiple frequencies, the device can save and replay multiple signals up to 70m from the target.
The device also provides RF bruteforce functionality, and can also duplicate most 125KHz (low-frequency) RFID tags.
Functionality at a glance
The Roll Remote is purposed built to capture, clone and emulate RF / Remote Controls for residential access control, including alarms, gates, garage doors, etc.
It has an extensive database of over 100 compatible brands and models.
The device also has brute-force capability for some fixed code systems.
@varenc
varenc / get_gists.py
Last active June 14, 2023 20:29 — forked from selimslab/get_gists.py
Download all gists of a user
#!/usr/bin/env python3
import sys
from subprocess import call
import json
import os
import requests
import shutil
import colorama
@varenc
varenc / unbreak_snapchat.user.js
Last active December 2, 2023 22:02
Unbreak Snapchat web. Disable focus tracking and screenshot prevention
// ==UserScript==
// @name Unbreak Snapchat web. Disable focus tracking and screenshot prevention
// @namespace http://tampermonkey.net/
// @version 0.1.1
// @description This userscript improves the Snapchat web experience by disabling screenshot prevention features which don't prevent screenshots but do actively harm the usability.
// @homepage https://gist.github.com/varenc/20e4dbfe8e7a2cc305043ffcbc5454d0
// @author https://github.com/varenc
// @match https://web.snapchat.com/*
// @icon http://snapchat.com/favicon.ico
// @license MIT
@varenc
varenc / get_native_console.log_function.js
Created June 6, 2023 19:44
Get original native Chrome console.log function, even if its been overwritten by a page's JS
// Sometimes a page tries to thwart extension developers/hackers by overriding the native console.{log,debug,trace,etc} functions.
// Or Sentry wraps them with additional logging and you want to prevent your messages showing up in Sentry logs.
// To avoid this, we just create a blank iframe and copy the real native console object from there.
const iframe = document.createElement('iframe');
iframe.style.display = 'none';
document.body.appendChild(iframe);
const nativeConsole = iframe.contentWindow.console;
// now to use the real native console.log function, just call:
nativeConsole.log("Using the real console.log!")
@varenc
varenc / chrome_force_energy_saver_or_tab_discarding.sh
Last active May 16, 2023 19:20
Force energy saver mode or tab memory discarding on Google Chrome on macOS
#### Force energy saver mode or tab memory discarding on Google Chrome on macOS
# Works even when you're plugged into AC power and not on battery or when your battery or memory is not low.
# The script below works by just automating clicks on the chrome://discards page which allows you to force these behaviors
#
# Setup instructions:
# - Just add the functions below to your .zshrc, .bashrc, or any other shell config file
# - Or save them to a file and add `source <path-to-file>` to a shell rc
# - You must also have Chrome "Allow JavaScript from Apple Events" enabled. This is the Chrome menu: View -> Developer -> Allow JavaScript from Apple Events
# - You must also grant macOS accessibility permissions but you should be prompted for this on first run.
#