Skip to content

Instantly share code, notes, and snippets.

@TheBrokenRail
TheBrokenRail / Dockerfile
Last active November 17, 2023 07:47
Cross-compile a Linux kernel with FunctionFS for the PinePhone running postmarketOS v23.06.
# Change this when changing the postmarketOS version!
FROM arm64v8/alpine:3.18
# The postmarketOS Version
ENV PMOS_VERSION="v23.06"
# Use postmarketOS
RUN \
echo "https://mirror.postmarketos.org/postmarketos/${PMOS_VERSION}" > temp && \
cat /etc/apk/repositories >> temp && \
@TheBrokenRail
TheBrokenRail / install.sh
Last active November 17, 2023 07:51
Basic MTP on postmarketOS/PinePhone. (This requires a kernel with FunctionFS!)
#!/bin/sh
set -e
# Install Scripts
install -v -m 755 umtprd-*.sh /usr/libexec
# Install Service
install -v -m 755 umtprd /etc/init.d
rc-update add umtprd
@TheBrokenRail
TheBrokenRail / the-code-is-easy.patch
Created April 8, 2023 06:46
It really is that easy!
diff --git a/src/file-utils.c b/src/file-utils.c
index 2095a8d2..d283b091 100644
--- a/src/file-utils.c
+++ b/src/file-utils.c
@@ -48,7 +48,7 @@
/* path */
-static const char *try_folder[] = { "cache", "~", "tmp", NULL };
+static const char *try_folder[] = { "var-tmp", "cache", "~", "tmp", NULL };
@TheBrokenRail
TheBrokenRail / index.ts
Last active January 22, 2023 03:41
ShakespeareBot
import { ChatGPTAPIBrowser, ChatResponse, SendMessageOptions } from 'chatgpt';
import { Client, GatewayIntentBits, Events, PermissionsBitField, WebhookCreateMessageOptions, MessageType, MessageFlags, TextChannel, ThreadChannel, WebhookEditMessageOptions, ForumChannel, Webhook } from 'discord.js';
import { RateLimiter } from 'limiter';
// Login To ChatGPT
const api = new ChatGPTAPIBrowser({
email: '<Your Email>',
password: '<Your Password>',
isGoogleLogin: true
});
@TheBrokenRail
TheBrokenRail / README.md
Last active June 10, 2024 16:26
Jailbreak Firefox!

Jailbreak-Firefox

This script allows you to install unsigned extensions (ones that aren't approved by Mozilla) on normal Firefox builds and the official Snap! That's right, no "Firefox Developer Edition" nonsense required!

⚠️ Disclaimer ⚠️

This script is not well tested, like at all. This script might break things, possibly important things. You should probably take a backup of your Firefox profile before using it. You have been warned.

Dependencies

sudo apt install -y curl unzip zip
# Only needed when jailbreaking the Snap
@TheBrokenRail
TheBrokenRail / Dockerfile
Last active January 31, 2021 04:52
Mesa-QEMU Bug
FROM arm32v7/debian:bullseye
RUN apt-get update && apt-get install -y mesa-utils
ENTRYPOINT glxgears
package com.thebrokenrail.minecraftbakery.texture.builtin.atlas;
import com.thebrokenrail.minecraftbakery.texture.Texture;
public class TerrainAtlas extends Texture {
public TerrainAtlas() {
super("terrain", 256, 256);
}
private void block(String name, int x, int y) {
@TheBrokenRail
TheBrokenRail / README.md
Created November 11, 2020 16:22
Simple Program Allowing MCPI level.dat Files To Be Used With NBT Editors

Pi-NBT

This is a simple command-line program that will remove or add the additional header information MCPI/Old MCPE uses in its level.dat files, this header information prevents many commonly used NBT ediors/libraries from reading MCPI/Old MCPE level.dat files.

Header Details

The header consists of 2 32-bit little-endian integers. The first integer is the "storage version", this is always equal to 3. The second integer is the remaining bytes in the file, this is used to detect file corruption.

Usage

pi-nbt add-header in.dat out.dat
pi-nbt remove-header in.dat out.dat
#include <linux/input.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <time.h>
#include <errno.h>
#define LENGTH 250
int msleep(long msec) {
@TheBrokenRail
TheBrokenRail / README.md
Last active June 19, 2020 20:36
Packages!

Place both shell scripts in the root of your dev environmen and change the package name in package.sh.