Skip to content

Instantly share code, notes, and snippets.

View hym3242's full-sized avatar
💭
still lovin' TIOCSTI

hym3242 hym3242

💭
still lovin' TIOCSTI
View GitHub Profile
@hym3242
hym3242 / ChatGPT.enhanced.bookmarklet.js
Created May 14, 2023 10:51
Various enhacements for chat.openai.com, including easier to use textarea styling, and less waste of screen real estate
var el = document.querySelector("#__next > div.overflow-hidden.w-full.h-full.relative.flex.z-0 > div.relative.flex.h-full.max-w-full.flex-1.overflow-hidden > div > main > div.absolute.bottom-0.left-0.w-full.border-t.md\\:border-t-0.dark\\:border-white\\/20.md\\:border-transparent.md\\:dark\\:border-transparent.md\\:bg-vert-light-gradient.bg-white.dark\\:bg-gray-800.md\\:\\!bg-transparent.dark\\:md\\:bg-vert-dark-gradient.pt-2 > form > div > div.flex.flex-col.w-full.py-2.flex-grow.md\\:py-3.md\\:pl-4.relative.border.border-black\\/10.bg-white.dark\\:border-gray-900\\/50.dark\\:text-white.dark\\:bg-gray-700.rounded-md.shadow-\\[0_0_10px_rgba\\(0\\,0\\,0\\,0\\.10\\)\\].dark\\:shadow-\\[0_0_15px_rgba\\(0\\,0\\,0\\,0\\.10\\)\\]");
el.style.boxSizing='border-box';
el.style.backgroundColor='#fafafa';
var ta = document.querySelector("#__next > div.overflow-hidden.w-full.h-full.relative.flex.z-0 > div.relative.flex.h-full.max-w-full.flex-1.overflow-hidden > div > main > div.absolute.bottom-0.left-0.w-full.border-t.md
@hym3242
hym3242 / settings.json
Last active May 14, 2023 10:57
VS Code quality of life settings
{
//Also add a css rule: .minimap.slider-always [ border-left: 1px solid #3b3b3b; ]
"workbench.startupEditor": "none",
"editor.scrollbar.horizontal": "visible",
"editor.scrollbar.vertical": "visible",
"editor.mouseWheelScrollSensitivity": 0.25,
"editor.stickyScroll.enabled": true,
"editor.minimap.showSlider": "always",
@hym3242
hym3242 / ForceCommandUseAlternateScreen.md
Last active October 22, 2023 21:50
Forcing the FreeBSD default man/less/top to use alternate screen.

Add this to your .profile/.bashrc etc:

altdo() { 
  echo -e '\e[?1049h'; "$@"; echo -e '\e[?1049l'; 
}

then run altdo man or altdo less, altdo top etc.

@hym3242
hym3242 / DisableLineBufferInNetcat&Cat.md
Last active October 25, 2023 15:45
netcat/cat in raw mode (not line buffered, every keypress is immediately sent over)

Put this in your .bashrc/.profile:

rawcat() { sh -c 'trap "stty icanon" SIGINT; stty -icanon; cat $@;' _ $@; }
rawnc() { sh -c 'trap "stty icanon" SIGINT; stty -icanon; nc $@;' _ $@; }

The trap is used to set cat/nc to icanon state when it is Ctrl+C'd, otherwise it will be stuck in -icanon even if you run the normal /bin/cat, or any program that reads stdin like cat, like hexdump.

When using cat > file stty would complain, but still works as expected for some unknown reason

see man stty

@hym3242
hym3242 / terminal_mouse_hover_effect_showcase.c
Created November 24, 2023 12:15
a c program that showcases how to utilize the all event mouse reporting of terminals to create a hover effect
//Copyleft 2023 hym3242
//No rights reserved
//please forgive my bad code
//tested pass on FreeBSD 13.2
//inspired by vttest(1) and xterm manual concerning ctrl sequences (https://invisible-island.net/xterm/ctlseqs/ctlseqs.html)
//Usage: stty -echo -icanon; stdbuf -o0 ./mouse 2>debug_output.txt
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
@hym3242
hym3242 / raw cat -v to show raw bytes input.md
Last active December 30, 2023 13:09
raw cat -v to show raw bytes input. like showkey by catb.
$ type rawcatv
rawcatv is a function
rawcatv ()
{
    sh -c 'trap "stty icanon" SIGINT; stty -icanon; cat -v $@;' _ $@
}
@hym3242
hym3242 / trivia.md
Created January 19, 2024 08:08
Misc trivia i know
  • The "force quit applications" window is from loginwindow.

iOS Shared Cache Extraction

Having fallen off the iOS-exploration train due to completing my Masters and other commitments, I have finally climbed back aboard in pursuit of understanding the telephony stack.

Like most things in iOS that are used frequently, the vast majority of the frameworks and libraries used in the telephony stack reside in the DYLD shared cache located at /System/Library/Caches/com.apple.dyld/dyld_shared_cache_armv7.

In this post I am going to explain how to go about extracting this cache file so that you can then work with each library individually.

Get The Cache

The first step in all of this is to copy the cache over to your local machine. I did this using a program called iExplorer, but you can just as easily do it over SSH. As a side note, you can connect to your iDevice using SSH over USB if you install a tool called iProxy.

@hym3242
hym3242 / genAAPBPlayURL.bashfunction
Last active January 26, 2024 14:22
Generate direct m3u8 url from a url to americanarchive.org catalog
bash$ type genaapbplayurl
genaapbplayurl is a function
genaapbplayurl ()
{
curl -si "https://americanarchive.org/media/$(basename "$1")" -H "Referer: https://americanarchive.org/catalog/$(basename "$1")" --compressed | grep '^Location:' | cut -d ' ' -f 2
}
@hym3242
hym3242 / generatePlayM3U8.av.lib.uh.edu.media_objects.bashfunction
Created March 24, 2024 16:59
BASH function that prints m3u8 URLs for given media object link in University of Houston Audio Video Repository
avlibuheduplayurlGEN ()
{
curl "https://av.lib.uh.edu/media_objects/$(basename "$1")" | grep m3u8 | sed -n 's/.*\(https[^ ]*m3u8\).*/\1/p'
}