Skip to content

Instantly share code, notes, and snippets.

View aeris's full-sized avatar

aeris aeris

View GitHub Profile
@aeris
aeris / hpkp-tlsa.sh
Created January 17, 2016 21:18
Generate HPKP or TLSA fingerprint
#!/bin/bash
case "$1" in
hpkp)
case "$2" in
key)
openssl rsa -in "$3" -outform der -pubout 2>/dev/null | openssl dgst -sha256 -binary | openssl enc -base64
;;
csr)
openssl req -in "$3" -pubkey -noout | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -binary | openssl enc -base64
@aeris
aeris / google-authenticator.rb
Created November 24, 2015 22:48
Google Authenticator CLI
#!/usr/bin/env ruby
# Licence : AGPLv3+
require 'cgi'
require 'fileutils'
require 'optparse'
require 'rotp'
require 'tempfile'
require 'uri'
class GoogleAuthenticator
@aeris
aeris / scoping.js
Created September 2, 2015 09:46
JS scoping hell
var val = 1;
function foo() {
print(val);
val = 2;
print(val);
}
function bar() {
var val = 3;
@aeris
aeris / firewall.sh
Created July 24, 2015 07:59
fuck-pjlrenseignement
#!/bin/sh
iptables -t nat -N TOR
iptables -t nat -A TOR -p tcp -d 127.0.0.0/8 -j RETURN
iptables -t nat -A TOR -p tcp -d 10.0.0.0/8 -j RETURN
iptables -t nat -A TOR -p tcp -d 172.16.0.0/12 -j RETURN
iptables -t nat -A TOR -p tcp -d 192.168.0.0/16 -j RETURN
iptables -t nat -A TOR -p tcp -j REDIRECT --to-ports 9052
iptables -t nat -A OUTPUT -p tcp --syn -j TOR
iptables -t nat -A OUTPUT -p udp --dport domain -j REDIRECT --to-ports 9053
@aeris
aeris / main.js
Created July 16, 2015 12:38
DI.fm & Sky.fm
function Station(name, url, description, image) {
this.name = name;
this.url = url;
this.description = description;
this.image = image;
}
var channels = {
'di': {
'name': 'DI.fm',
@aeris
aeris / converter.rb
Created June 24, 2015 22:19
Automatize video encoding for publication
#!/usr/bin/env ruby
# Licence : AGPLv3+
require 'nokogiri'
require 'tempfile'
require 'time'
RESOLUTION = :p576
AUDIO_FREQUENCY = 44100
ROOT_DIRECTORY = File.expand_path (ARGV[0] || '.')
@aeris
aeris / dns.rb
Created February 15, 2015 20:42
Fetch NS record from alexa top 100k
#!/usr/bin/env ruby
require 'dnsruby'
require 'set'
require 'thread'
require 'parallel'
def merge(dns, auth)
auth.each do |a|
if dns.include? a
dns[a] += 1
@aeris
aeris / privacy.sieve
Last active March 6, 2017 19:49
Sieve filter for privacy
# Licence : AGPLv3+
# rule:[Privacy]
if anyof (
address :is :domain "From" "gmail.com",
address :is :domain "From" "live.com",
address :is :domain "From" "msn.com",
address :is :domain "From" "hotmail.com",
address :is :domain "From" "hotmail.fr",
address :is :domain "From" "yahoo.com",
address :is :domain "From" "yahoo.fr"
@aeris
aeris / socks5.cpp
Created September 12, 2014 00:32
W.T.F.
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
int main() {
sockaddr_in proxyAddress;
proxyAddress.sin_family = AF_INET;
@aeris
aeris / rsync-snapshot.rb
Last active August 29, 2015 14:00
RSync snapshot
#!/usr/bin/env ruby
require 'fileutils'
load '/etc/rsync-snapshot.conf'
def protect
if File.exists? LOCK_FILE
print "#{$0} already running\n"
exit -1
end