Skip to content

Instantly share code, notes, and snippets.

@sfan5
sfan5 / packetgen.cpp
Last active August 29, 2015 13:59
does stuff using C++
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <list>
#include <utility>
#include <stdlib.h> // for exit()
#include <vector>
template <typename T, typename U> class create_map {
@sfan5
sfan5 / run-as.c
Last active August 29, 2015 14:00
A simple Android run-as replacement when the preinstalled one won't work (I'm looking at you Android 4.2)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <errno.h>
#include <unistd.h>
#include <stdarg.h>
#include <stdbool.h>
// Link this with a libselinux.so from your Android device
@sfan5
sfan5 / mediacrush.py
Last active August 29, 2015 14:03
MediaCrush URL Info Module for phenny
import re
import web
import json
mc_re = r'.*https?:\/\/(?:www\.|cdn\.)?mediacru\.sh\/([a-zA-Z0-9_-]{12})(?:\.webm|\.mp4|\.ogv|\.jpg|\.png|\.gif)?.*'
def durationconvert(inp):
secs = int(inp)
hrs = secs // 3600
secs -= 3600*hrs
@sfan5
sfan5 / bfi.rs
Last active August 29, 2015 14:05
Brainfuck Interpreter in Rust
use std::error::Error;
use std::fs::File;
use std::io::Read;
use std::io::Write;
use std::io;
use std::env;
fn write_u8<T: io::Write>(mut obj: &mut T, x: u8) {
let mut a: [u8; 1];
@sfan5
sfan5 / bf2c.py
Created August 31, 2014 15:05
Compiles Brainfuck to C || Warning: This not the best code I have written.
#!/usr/bin/env python2
import sys
def multstr(n,st):
o = ""
for i in range(0,n):
o += st
return o
def unpack_opts(s, t):
@sfan5
sfan5 / share-network.sh
Last active August 29, 2015 14:05
Allows you to easily share your internet connection with a machine connected via LAN (act as a router)
#!/bin/bash -e
if [ $# -ne 2 ]; then
echo "Usage: share-network.sh <internal interface> <external interface>"
exit 1
fi
sudo whoami >/dev/null # Make sudo cache the password
mkdir share-network$$
cd share-network$$
cat >dnsmasq.conf <<HEREDOC
@sfan5
sfan5 / record.sh
Created September 8, 2014 16:18
Records a window
#!/bin/bash -e
CRF=21
ABITRATE=256k
FILENAME=recording`date +%d-%m-%Y_%H.%M`.mp4
CMD=`xwininfo | awk '/Width/{printf"ffmpeg -f x11grab -s "$2"x"}/Height/{printf$2" -i '$DISPLAY'"}/Corners/{gsub(/\+/,",",$2);sub(/,/,"+",$2);print$2" -f alsa -i pulse -c:v libx264 -preset ultrafast -crf 0 -c:a copy"}'`
CMD="${CMD} -vf scale='iw+mod(iw,2):ih+mod(ih,2)' _tmp_record.nut"
# -vf scale='iw+mod(iw,2):ih+mod(ih,2)' makes sure the width and height are diviseable by 2 (needed for libx264)
echo "Press ^C to stop recording"
@sfan5
sfan5 / desmume-wav.patch
Created March 14, 2015 21:27
Sound recording directly from DeSmuME (w/o any UI, it just does it)
--- desmume-0.9.10/src/sndsdl.cpp.orig 2013-11-28 01:37:18.797021001 +0100
+++ desmume-0.9.10/src/sndsdl.cpp 2015-03-14 22:24:04.184578448 +0100
@@ -16,6 +16,7 @@
along with the this software. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@sfan5
sfan5 / 0readme.txt
Last active August 29, 2015 14:24
Use CloudFlare ddos-protected sites from other programs (by going through nginx)
What you need:
* nginx
* dependencies to build CutyCapt (http://cutycapt.sourceforge.net/)
Steps:
* build CutyCapt with CutyCapt.patch applied and copy the executable somewhere
* install nginx and edit the config as outlined in nginx.conf
* change the paths to nginx, the nginx config and the patched cutycapt in renewcf.sh
* start nginx
* ensure that renewcf.sh runs every 55 minutes
@sfan5
sfan5 / build-cubicsdr.sh
Created July 18, 2015 14:54
Builds CubicSDR (statically linked with liquid-dsp)
#!/bin/bash -e
CORES=4
OUTDIR=/tmp/cubicsdr_install
CUBICSDR_STABLE=1 # 1 for latest tagged version or 0 for git HEAD
[ -d CubicSDR ] && (cd CubicSDR && git pull) || git clone https://github.com/cjcliffe/CubicSDR
[ -d liquid-dsp ] && (cd liquid-dsp && git pull) || git clone https://github.com/jgaeddert/liquid-dsp
cd liquid-dsp