Skip to content

Instantly share code, notes, and snippets.


Ryan Castellucci ryancdotorg

View GitHub Profile
View pctf2014 rsa450
get modulus with
openssl rsa -noout -modulus -pubin -in
======== ======
#!/usr/bin/env python
import re
import sys
import gmpy
from math import floor, ceil
jayeye /
Created Oct 3, 2016
Setting up ISC dhclient on debian / ubuntu for prefix delegation

My ISP (Time Warner Cable) hands out IPv6 addresses with DHCPv6; it will delegate a /56 if asked. So long as I keep refreshing the lease, it won't renumber me. I have my cable modem set to bridge, and do all the firewalling, NATing, etc., on a Debian box. In what follows, eth0 is the internal interface.

The dhclient that ships with debian/ubuntu does not support asking for a prefix delegation, so I had to build one from sources.

Yawning / elligator2.h
Last active Mar 20, 2020
(DEPRECATED) A mostly drop in elligator2 for ed25519-donna.
View elligator2.h
There used to be something that resembled an Elligator2 implementation here ported from agl's
Go code. The implementation is unmaintained and has severe issues (as pointed out in a comment),
and should not be used for anything.
FelixWeis / scriptPubKey-templates-0-400000.json
Created Mar 5, 2016
Bitcoin output script types by frequency (P2PK, P2PKH, MULTISIG, P2SH, OP_RETURN, ...)
View scriptPubKey-templates-0-400000.json
"OP_HASH160 20 OP_EQUAL": 10083919,
"65 OP_CHECKSIG": 887766,
"OP_RETURN": 288521,
"OP_1 33 33 33 OP_3 OP_CHECKMULTISIG": 224438,
"": 219175,
"OP_1 33 33 OP_2 OP_CHECKMULTISIG": 206415,
"33 OP_CHECKSIG": 101306,
"OP_RETURN 40": 65287,
cemeyer / ⁄etc⁄logrotate.conf
Last active Mar 1, 2021
Sane logrotate.conf settings
View ⁄etc⁄logrotate.conf
# create new (empty) log files after rotating old ones
# use date as a suffix of the rotated file
compresscmd /bin/zstd
compressext .zst
compressoptions -18 -T0 --rm
epixoip / sshd_config.diff
Created Apr 10, 2021
ssh pubkey auth only with libpam
View sshd_config.diff
--- /etc/ssh/sshd_config.orig 2021-04-10 05:50:44.673514864 +0000
+++ /etc/ssh/sshd_config 2021-04-10 05:59:56.316912290 +0000
@@ -31,7 +31,7 @@
# Authentication:
#LoginGraceTime 2m
-#PermitRootLogin prohibit-password
+PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
jmshal / atob.js
Last active Jul 9, 2021
Node.js ponyfill for atob and btoa encoding functions
View atob.js
module.exports = function atob(a) {
return new Buffer(a, 'base64').toString('binary');
bendc / supportsES6.js
Created Aug 25, 2016
Test if ES6 is ~fully supported
View supportsES6.js
var supportsES6 = function() {
try {
new Function("(a = 0) => a");
return true;
catch (err) {
return false;
bradoaks /
Created Apr 25, 2011 — forked from eqhmcow/
HFSC - linux traffic shaping's best kept secret
# As the "bufferbloat" folks have recently re-discovered and/or more widely
# publicized, congestion avoidance algorithms (such as those found in TCP) do
# a great job of allowing network endpoints to negotiate transfer rates that
# maximize a link's bandwidth usage without unduly penalizing any particular
# stream. This allows bulk transfer streams to use the maximum available
# bandwidth without affecting the latency of non-bulk (e.g. interactive)
# streams.
dlenski /
Last active Dec 21, 2021
Fingerprint-based certificate validation in Python (including pin-sha256)
# -*- coding: utf-8 -*-
# This is a demonstration of how to do fingerprint-based certificate
# validation in Python, in the style of OpenConnect:
# For Python <3.7, we monkey-patch ssl.SSLSocket directly, because ssl.SSLContext.sslsocket_class
# isn't available until Python 3.7. For Python 3.7+, we set ssl.SSLContext.sslsocket_class
# to our modified version (which is sort of monkey-patching too).