Skip to content

Instantly share code, notes, and snippets.

@hdf
hdf / cpus.js
Created August 12, 2011 14:35
One way to do the currently not functioning os.cpus() in node.js on windows.
var exec = require('child_process').exec;
child = exec('python cpus.py',
function (error, stdout, stderr) {
console.log(stdout);
});
@hdf
hdf / ipfilter.py
Last active December 14, 2015 07:39
ipfilter.dat generating script
import sys, urllib2, zlib, os.path
urls = ['http://www.bluetack.co.uk/config/ads-trackers-and-bad-pr0n.gz',
'http://www.bluetack.co.uk/config/bogon.gz',
'http://www.bluetack.co.uk/config/dshield.gz',
'http://www.bluetack.co.uk/config/fornonlancomputers.gz',
'http://www.bluetack.co.uk/config/hijacked.gz',
'http://www.bluetack.co.uk/config/Microsoft.gz',
'http://www.bluetack.co.uk/config/spyware.gz',
'http://www.bluetack.co.uk/config/iana-multicast.gz',
@hdf
hdf / aes.js
Created March 2, 2013 21:15
passlist is a node.js script that creates an html file from a txt file, that decrypts itself if the right password is given.
var Aes={};Aes.cipher=function(e,a){var d=4,h=a.length/d-1,g=[[],[],[],[]];for(var f=0;f<4*d;f++){g[f%4][Math.floor(f/4)]=e[f]}g=Aes.addRoundKey(g,a,0,d);for(var c=1;c<h;c++){g=Aes.subBytes(g,d);g=Aes.shiftRows(g,d);g=Aes.mixColumns(g,d);g=Aes.addRoundKey(g,a,c,d)}g=Aes.subBytes(g,d);g=Aes.shiftRows(g,d);g=Aes.addRoundKey(g,a,h,d);var b=new Array(4*d);for(var f=0;f<4*d;f++){b[f]=g[f%4][Math.floor(f/4)]}return b};Aes.keyExpansion=function(f){var d=4,b=f.length/4,g=b+6,e=new Array(d*(g+1)),h=new Array(4);for(var c=0;c<b;c++){var a=[f[4*c],f[4*c+1],f[4*c+2],f[4*c+3]];e[c]=a}for(var c=b;c<(d*(g+1));c++){e[c]=new Array(4);for(var j=0;j<4;j++){h[j]=e[c-1][j]}if(c%b==0){h=Aes.subWord(Aes.rotWord(h));for(var j=0;j<4;j++){h[j]^=Aes.rCon[c/b][j]}}else{if(b>6&&c%b==4){h=Aes.subWord(h)}}for(var j=0;j<4;j++){e[c][j]=e[c-b][j]^h[j]}}return e};Aes.subBytes=function(b,a){for(var d=0;d<4;d++){for(var e=0;e<a;e++){b[d][e]=Aes.sBox[b[d][e]]}}return b};Aes.shiftRows=function(d,a){var b=new Array(4);for(var e=1;e<4;e++){for(var f
@hdf
hdf / build.py
Last active December 16, 2015 11:29
Script to download and integrate a list of js libraries, (with the option to compress) into a given html file. (Into the first script tag.)
import os, urllib2
HTML_FILE = 'securechat.html'
SEARCH1 = '<script type="text/javascript">\n'
SEARCH2 = '</script>'
YUI_COMPRESSOR = 'yuicompressor-2.4.7.jar'
SCRIPTS = [
['https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', 0],
# ['https://raw.github.com/openpgpjs/openpgpjs/master/resources/openpgp.min.js', 0],
['https://raw.github.com/openpgpjs/openpgpjs/devel/resources/openpgp.min.js', 0],
@hdf
hdf / securechat.html
Last active December 16, 2015 13:59
Temporary backup of an in progress experimental project. DOES NOT WORK.
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SecureChat</title>
<script type="text/javascript">
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEve
@hdf
hdf / spiral.html
Created October 20, 2013 20:58
Archimedean spiral drawing HTML5 script
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Archimedean spiral drawing script</title>
<style>
html, body {
margin: 0;
}
#c {
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Dreamcatcher</title>
<style>
html, body {
margin: 0;
}
#c {
@hdf
hdf / dirlist.py
Last active June 9, 2023 15:11
Usage:dirlist.py c:\ > c_list.txt
import os, sys
cdir = '.'
if len(sys.argv) > 1:
cdir = sys.argv[1]
for dirname, dirnames, filenames in os.walk(cdir):
dirname = os.path.realpath(dirname)
ending = ''
try:
@hdf
hdf / nand.c
Created July 29, 2014 15:20
NAND map
//
// NAND map
//
#include <stdio.h>
#include <stdlib.h>
static char* ToBits(long long x, char bits) {
if (bits < 1 || bits > 64)
return 0;
import os, sys, re
dir = 'files'
if len(sys.argv) > 1:
dir = sys.argv[1]
trackingcode = """\g<1>
<a title="Web Analytics" href="http://clicky.com/100759434"><img alt="Web Analytics" src="//static.getclicky.com/media/links/badge.gif" border="0" /></a>
<script src="//static.getclicky.com/js" type="text/javascript"></script>
<script type="text/javascript">try{ clicky.init(100759434); }catch(e){}</script>
<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/100759434ns.gif" /></p></noscript>