Skip to content

Instantly share code, notes, and snippets.

View jck's full-sized avatar

Keerthan Jaic jck

  • London, UK
View GitHub Profile
@0x24a
0x24a / catbox-segmented-upload.py
Last active June 25, 2024 13:25
Segmented Catbox Uploading Script.
import os
import requests
import rich
import rich.console
import rich.progress
twoHundredMBs=1000*1000*200
console=rich.console.Console()
@frozenpandaman
frozenpandaman / widevine-decryption.md
Created December 26, 2023 14:47
download videos protected with widevine DRM
@adrianhorning08
adrianhorning08 / zillowScraper.js
Last active November 18, 2024 14:17
Zillow Scraper
async function scrollDown() {
const wrapper = document.querySelector("#search-page-list-container");
await new Promise((resolve, reject) => {
var totalHeight = 0;
var distance = 600;
var timer = setInterval(async () => {
var scrollHeightBefore = wrapper.scrollHeight;
wrapper.scrollBy(0, distance);
totalHeight += distance;
@amahdy
amahdy / release-android-debuggable.md
Created July 16, 2023 15:39
How to make a Release Android App debuggable (Android R+)

How to make a Release Android App debuggable (Android R+)

This is a newer version with a bit more details and workarounds from this gist. Especially for Android R+.

I recommend to read the previous gist to get an idea about what I'm trying to achieve. This note will be straight forward on commands to perform. Some commands use zipalign and apksigner which are located in the build-tools of your Android SDK installation folder. Mine are located in: ~/Library/Android/sdk/build-tools/34.0.0/.

@mezhgano
mezhgano / playwright_save_mhtml.py
Created May 1, 2023 14:58
Save .mhtml web archive using playwright
from playwright.sync_api import sync_playwright
def save_mhtml(path: str, text: str):
with open(path, mode='w', encoding='UTF-8', newline='\n') as file:
file.write(text)
def save_page(url: str, path: str):
with sync_playwright() as playwright:
browser = playwright.chromium.launch(headless=False)
// ==UserScript==
// @name Arxiv PDF Title Updater for Hypothesis Pages
// @namespace http://tampermonkey.net/
// @version 1.2
// @description Update Arxiv PDF links titles on Hypothesis pages
// @author David Bieber + GPT-4
// @match *://*.hypothes.is/*
// @grant GM_xmlhttpRequest
// ==/UserScript==
{
"promptLists": {
"endOfChapterReview": {
"embedPath": {
"before": true,
"cssSelector":
"html body main#main.wb div.content nav.pagination.hidden-print"
},
"promptsByFrontText": [
"Why might over-specifying a design make it harder to estimate?",
@DarrenSem
DarrenSem / innerText.js
Last active November 9, 2024 17:02
innerText.js bookmarklet for mobile (to show webpage text contents OR html) (including PARTIAL source of SELECTION)
// innerText.js bookmarklet for mobile (to show webpage text contents OR html) (including PARTIAL source of SELECTION)
// https://gist.github.com/DarrenSem/7e1216bda80e6269ad53b43d90603158
// 05Nov2024 BUGFIX: now missing EVERY section OTHER THAN "System instructions" and inputSection (PLAYGROUND_CHAT_SECTIONS_SEL no longer `...>div.expanded div` but now `...>div div`)
// 4882 char javascript:void function(){"use strict";const e=[]._,n="main div[data-collapsed",t=((e,t,i,a,n,l,d,r)=>(t=new Date(e||Date()),[i,a,,n]=t.toLocaleTimeString().replace(/(a|p)\.(m)\./i,"$1$2").split(/\W/),[,,l,d]=t.toString().split(" "),r=t.toLocaleString().replace(/(\d+)-(\d+)-(\d+)/,"$2/$1/$3").split("/")[0].padStart(2,0),`${i}${a}${(n||"").toLowerCase()} ${d}-${r}-${l}`))(),d=`${""} ${t}`,i=top.document,a=location,l=(e,n)=>(n||i).querySelectorAll(e||null),r=(n,t)=>{const d=n?.[t?"value":m],i=d==e?e:t?d:d.replace(/\n{3,}/g,"\n\n\n").replace(/\n\n/g,"\n");return i},u=e=>e.trim(),o=e=>(e??"").replace(/\nSYNC$/i,"").replace(/ INSTRUC
@abersheeran
abersheeran / proxy.worker.js
Last active April 13, 2024 08:45
A proxy download cloudflare worker
addEventListener("fetch", (event) => {
event.respondWith(
handleRequest(event.request).catch(
(err) => new Response(err.stack, { status: 500 })
)
);
});
async function handleRequest(request) {
const url = getUrl(request)