Skip to content

Instantly share code, notes, and snippets.

View JosephRedfern's full-sized avatar

Joseph Redfern JosephRedfern

View GitHub Profile
@JosephRedfern
JosephRedfern / sync_ldap.py
Last active February 8, 2024 16:24
Sync LDAP users with Django users.
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
import ldap
class Command(BaseCommand):
help = 'Syncs LDAP users with Django DB'
def handle(self, *args, **options):
l = ldap.initialize(settings.AUTH_LDAP_SERVER_URI)
@JosephRedfern
JosephRedfern / trace.py
Created October 4, 2018 13:55
A (slow, badly written) Python implementation of https://tmcw.github.io/literate-raytracer/.
from PIL import Image
import tqdm
import math
import vector
height = 320
width = 240
scene = {}
@JosephRedfern
JosephRedfern / call_heirarchy.py
Created April 11, 2018 17:06
Short smali analyser to generate call hierarchy and inspect methods...
import glob
from collections import defaultdict
classes = defaultdict(lambda: defaultdict(list))
class Klass:
def __init__(self, name, project):
self.name = name
self.project = project
@JosephRedfern
JosephRedfern / transmit.py
Created September 26, 2017 08:03
UDP Accelerometer data transmission
import socket
from pyvmu import vmu931, messages
class VMUTransmit(object):
def __init__(self, ip, port, device="/dev/tty.usbmodem1411", euler=True, accelerometer=True, quaternion=True):
self.__device = device
self.__euler = euler
self.__accelerometer = accelerometer
# frames is a list of mdarrays
new_image = np.zeros(frames[n].shape, dtype=frames[n].dtype)
for ny, y in tqdm(enumerate(flow)):
for nx, flow in enumerate(y):
x_flow, y_flow = flow
new_x = int(nx+x_flow*flow_scaling)
new_y = int(ny+y_flow*flow_scaling)
@JosephRedfern
JosephRedfern / evil.py
Created September 8, 2017 14:05
Slack Deleted Message logged
from slackclient import SlackClient
from datetime import datetime
import time
slack_token = 'xoxb-token-goes-here'
sc = SlackClient(slack_token)
if sc.rtm_connect():
while True:
try:
@JosephRedfern
JosephRedfern / screeny.py
Created September 6, 2017 11:22
Simple Screenshot API with Selenium, Python 3 and Flask
from flask import Flask, request, Response, abort, send_from_directory
from selenium import webdriver
import sqlite3
import uuid
app = Flask(__name__)
conn = sqlite3.connect("screenshots.sqlite")
c = conn.cursor()
@JosephRedfern
JosephRedfern / threaded.py
Created September 5, 2017 13:32
produces "TypeError: can't pickle _thread.lock objects" under W10 w/ Python 3.6.2.
import time
import random
from queue import Queue
from multiprocessing import Process
import os
def produce_data(q):
print("[+] Producer thread started (PID: {})".format(os.getpid()))
while True:
@JosephRedfern
JosephRedfern / win8print.reg
Created August 25, 2017 10:02
Fix issue 0x000006d1 when connecting to print server under Windows 8/10 (mirrored from https://lapserv.maths.cam.ac.uk/docs/win8printing/win8print.reg)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers]
"ForceCSREMFDespooling"=dword:00000000
@JosephRedfern
JosephRedfern / proxy.go
Created February 15, 2017 13:18
Using Google as HTTP Proxy (limited to GET)
package main
import (
"bytes"
"fmt"
"github.com/elazarl/goproxy"
"gopkg.in/h2non/filetype.v1"
"log"
"net/http"
)