Skip to content

Instantly share code, notes, and snippets.

View davidcralph's full-sized avatar
🐧

David Ralph davidcralph

🐧
View GitHub Profile
@Xetera
Xetera / xseed-usenet.py
Last active February 15, 2024 22:40
A cross-seeding script to go through radarr's import history and hardlink movies downloaded from usenet with their original titles
#! /usr/bin/env python3
import requests
import os
import pathlib
RADARR_TOKEN = os.environ.get("RADARR_TOKEN")
# directory where hardlinks will be created for renaming purposes
HARDLINK_TARGET = os.environ.get("HARDLINK_TARGET")
# DRY_RUN=true to test without touching the filesystem
DRY_RUN = os.environ.get("DRY_RUN", "false").lower() == "true"
@TonyJenkins
TonyJenkins / feedback.md
Last active December 25, 2023 02:09
Marking Information for FoCP Portfolio

Computer Programming Portfolio

Marking and Feedback

DELETE THIS TEXT AND REPLACE WITH YOUR NAME

DELETE THIS TEXT AND REPLACE WITH YOUR UNIVERSITY EMAIL

DELETE THIS TEXT AND REPLACE WITH YOUR GROUP

@Steveplays28
Steveplays28 / distant_horizons_shader_compatibility_information.md
Last active September 24, 2024 01:36
Distant Horizons shader compatibility info

Distant Horizons shader compatibility information

Distant Horizons v2.0.0 (and up) shader compatibility information.

v2

Install guide

Fabric

@Cyberes
Cyberes / Tunneling Proxy for Paperspace.md
Last active August 18, 2024 13:27
Tunneling Proxy for Paperspace

Tunneling Proxy for Paperspace

Gradio's reverse proxy service sucks. The WebUI program integrates ngrok to fix this issue which works well but Paperspace locks your account for using any tunneling proxy service such as (who knows how many they explicitly ban).

There is literally no easy solution for this and you must to host your own server that Paperspace doesn't know about. What I do is run a rathole server on a $4 DigitalOcean VPS.

@Aizistral
Aizistral / AbsoluteStateOfChatReporting.md
Last active July 9, 2024 12:44
The Absolute State of Chat Reporting

The Absolute State of Chat Reporting

Originally introduced in 1.19.1, chat reporting has undergone many changes in Mojang's attempts to eliminate the exploits and make the system functional. The purpose of this paper is to document the current technical state of chat reporting on an ongoing basis, and to provide a reference for the community to use when discussing the system. To that end I will try to keep it as unbiased as possible.

The Basics

Chat reporting heavily relies on cryptographic commitments and signatures to ensure that reported chat messages are not tampered with. The basic idea is that all players sign their chat messages with their private key, and then send the signature along with the message to the server.

Chat signing keypair is not generated by the client as one could expect; instead, it is issued by Mojang's services and is tied to the player's account. This means that the keypair is shared between all clients that the player uses, and the player can't change it. The keypair is f

Half-Life 2 on the Switch

This is a guide for running Half-Life 2 on your Switch. Please be aware that this isn't a great way of playing Half-Life 2 - do not expect this mod to work perfectly.

Thank you to Bringus Studios for fixing save files not showing up!

NOTE: I am assuming that you have basic knowledge about how modding games on the Switch works. I will not provide support for questions like "how do I install Atmosphère / CFW", "how do I make an emuMMC", "how do I extract games", etc. For help with modding your console, see the NH Switch Guide.

WARNING: While this mod should be fairly safe to use, I do not take any responsibility if your Portal save data is deleted, you get banned from Nintendo Switch Online, or if your Switch explodes.

@mattiaz9
mattiaz9 / blurhashDataURL.ts
Last active September 23, 2024 15:08
Convert blurhash to a base64 DataURL string (no canvas or node-canvas)
import { decode } from "blurhash"
export function blurHashToDataURL(hash: string | undefined): string | undefined {
if (!hash) return undefined
const pixels = decode(hash, 32, 32)
const dataURL = parsePixels(pixels, 32, 32)
return dataURL
}
@kennytv
kennytv / readme.md
Last active September 7, 2024 18:09
Signed Chat and Chat Types

Signed chat

This gist intends on clearing up some of the misinformation surrounding signed chat/the reporting feature Mojang has added to Minecraft 1.19.1. Here you can find both technical information as well as a general explanation of how these work.

Profile keys

After joining a server, clients now send a profile key used for verifying a message's authenticity. This key and thus the whole signing process is optional, but by default, servers enforce secure profiles for clients to send chat messages. Whenever the player sends a chat message and has a key associated, the message will be signed using their own private key, which the server then verifies using the public key sent after join. Assuming signature, timestamp, and message contents line up, the message goes through.

On the other end, clients can also require all broadcasted player messages to be signed, disregarding the ones without sender verified signatures.

Message signatures

@CatoTheYounger97
CatoTheYounger97 / gist:ddc2dd4ec459212466ea6f9887bc764b
Last active November 11, 2022 13:28
YoYo Loader Externalising and Compressing Textures (PVRTC2_4BPP) Instructions:

YoYo Loader Externalising and Compressing Textures (PVRTC2_4BPP) Instructions:

  • This manual texture externalisation method provides 2x compression compared to the built in YoYo Loader optimisation.
  • For reducing the size of the game.droid file, overall file size, memory usage and memory bandwidth over gpu.
  • Note: This is a very time consuming process that will heavily utilise your CPU.

You Will Need: