Skip to content

Instantly share code, notes, and snippets.

@programminghoch10
programminghoch10 / snapchat_anonymous_screenshots
Last active July 11, 2024 20:42
Anonymous Snapchat screenshots on LineageOS
appops set com.snapchat.android READ_EXTERNAL_STORAGE deny
appops set com.snapchat.android WRITE_EXTERNAL_STORAGE deny
appops set com.snapchat.android READ_MEDIA_AUDIO ignore
appops set com.snapchat.android WRITE_MEDIA_AUDIO ignore
appops set com.snapchat.android READ_MEDIA_VIDEO ignore
appops set com.snapchat.android WRITE_MEDIA_VIDEO ignore
appops set com.snapchat.android READ_MEDIA_IMAGES ignore
appops set com.snapchat.android WRITE_MEDIA_IMAGES ignore
appops set com.snapchat.android LEGACY_STORAGE ignore
@programminghoch10
programminghoch10 / snapchat_data_extractor.sh
Last active March 23, 2025 06:03
Snapchat Data Extractor
#!/bin/bash
if [[ $(id -u) -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
if [ -z $(pm list packages | grep com.snapchat.android) ]; then
echo "Snapchat not found"
exit 1
fi
rm -r /storage/emulated/0/whatsapp_exports
mkdir -v /storage/emulated/0/whatsapp_exports
cp -r /data/data/com.whatsapp/files/Stickers /storage/emulated/0/whatsapp_exports
mkdir /storage/emulated/0/whatsapp_exports/Avatars
mkdir /storage/emulated/0/whatsapp_exports/AvatarsThumbnail
cp /data/data/com.whatsapp/files/Avatars/* /storage/emulated/0/whatsapp_exports/AvatarsThumbnail
cp /data/data/com.whatsapp/cache/Profile\ Pictures/* /storage/emulated/0/whatsapp_exports/Avatars
cp /data/data/com.whatsapp/files/me.jpg /storage/emulated/0/whatsapp_exports/Avatars
cp /data/data/com.whatsapp/files/status /storage/emulated/0/whatsapp_exports/status.txt
cp /data/data/com.whatsapp/files/statistics.json /storage/emulated/0/whatsapp_exports
@programminghoch10
programminghoch10 / bl_splash_helper.sh
Last active March 19, 2024 08:00
Samsung UP_PARAM Bootloader Splash Helper Script
#!/bin/bash
DEVICE="unknown"
PIC_META_FILE="up_param_files_${DEVICE}.txt"
if [ "$1" = "" ]; then
echo "This script helps you create your own up_param file for modifying bootloader splashes on samsung devices."
echo
echo "Download the stock firmware, extract it until you have up_param.bin"
echo "Set your device codename by editing this script. (Currently set to \"$DEVICE\")"
@programminghoch10
programminghoch10 / nccp.sh
Last active May 14, 2022 11:00
scp compliant copy without encryption using netcat
#!/bin/bash
echo "Arguments: "
echo "${@}"
set -x #explain steps for debug purposes
set -e #exit when any command executed fails unexpectedly
IFS=$'\n'
@programminghoch10
programminghoch10 / torsocksmulticore.sh
Last active February 12, 2023 15:11
Multi-Core Torsocks
#!/bin/bash
# TorSocksMultiCore
# a wrapper for torsocks for multicore tor execution
#
# This script starts a new tor daemon everytime it is invoked.
# This way every command or shell will have it's own tor daemon.
# The usage is functionally equivalent to torsocks itself.
#
@programminghoch10
programminghoch10 / semlock.sh
Last active January 23, 2024 09:48
Simple bash script parallelization using semaphores
#!/bin/bash
SEMPATH="/run/lock"
SEMNAME=""
semtake() {
local name="$1"
[ -z "$name" ] && echo "Missing semaphore name!" && return 1
local j="$2"
[ -z "$2" ] && j=$(nproc)
@programminghoch10
programminghoch10 / FFmpegISOlanguagecodesforJellyfin.md
Last active December 7, 2024 16:29
FFmpeg ISO language codes for Jellyfin

Jellyfin uses only ISO 639-2 language codes to translate the metadata tag eng to English for the track selector.

For some languages multiple such tags exist, for example Germany has ger and deu. Here only the tag deu is correctly translated to German whilst ger remains unrecognized.

mkvmerge always replaces the language codes with the matroska specified set of langauge codes, which sadly are the wrong ones for Jellyfin.

As an end user one can use ffmpeg to rewrite the metadata language tags to the correct set for Jellyfin.

@programminghoch10
programminghoch10 / remove-mkvmerge-statistics-metadata.md
Last active December 7, 2024 16:32
remove mkvmerge statistics metadata

After mkvmerge processed an mkv file, all streams have a lot of statistics metadata tagged onto them.

For example:

Stream #0:27: Subtitle: hdmv_pgs_subtitle
    Metadata:
      BPS-eng         : 40153
      DURATION-eng    : 02:26:34
      NUMBER_OF_FRAMES-eng: 3294
      NUMBER_OF_BYTES-eng: 34073971
@programminghoch10
programminghoch10 / android_external_protobuf.patch
Created August 8, 2024 15:58
statically linked aapt2 binary for android
diff --git a/Android.bp b/Android.bp
index a2a2cbdc8..16dc0e699 100644
--- a/Android.bp
+++ b/Android.bp
@@ -252,7 +252,7 @@ cc_library {
target: {
android: {
static: {
- enabled: false,
+ enabled: true,