Skip to content

Instantly share code, notes, and snippets.

View denniskupec's full-sized avatar

Dennis Kupec denniskupec

View GitHub Profile

Keybase proof

I hereby claim:

  • I am denniskupec on github.
  • I am denniskupec (https://keybase.io/denniskupec) on keybase.
  • I have a public key whose fingerprint is AE6E A8BC 2D65 D1F7 D089 1EED D88F DA71 1C85 057B

To claim this, I am signing this object:

!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Navigo",[],e):"object"==typeof exports?exports.Navigo=e():t.Navigo=e()}(this,function(){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return t[o].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e){"use strict";function n(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}function o(t){return Array.isArray(t)?t:Array.from(t)}function r(t){return t instanceof RegExp?t:t.replace(/\/+$/,"").replace(/^\/+/,"/")}function i(t,e){return 0===e.length?null:t?t.slice(1,t.length).reduce(function(t,n,o){return null===t&&(t={}),t[e[o]]=n,t},null):null}function u(t){var e,n=[];return e=t instanceof RegExp?t:new RegExp(r(t).replace(g,function(t,e,o){return n.push(o),w}).replace(m,R)+k),{regexp:e,paramNames:n}}function s(t){return t
@denniskupec
denniskupec / istatserver-build.sh
Last active January 8, 2017 01:38
build script for istat server for linux
#!/usr/bin/env bash
set -e
CODE=$RANDOM
apt update
apt -y install build-essential autoconf libxml2-dev
wget https://github.com/tiwilliam/istatd/archive/r0.5.8.tar.gz
@denniskupec
denniskupec / ipinfo-asn.js
Created January 29, 2017 02:09
bookmarklet extracts the subnets from ipinfo.io pages
/*
javascript:(()=>{let n,q,f;n=(i)=>{return parseInt(i.replace(',',''));};q=(s,d=document)=>{return d.querySelectorAll(s);};f=(v,k,l)=>{let r=q('td',v);if(r.length>2){document.write(`${r[0].innerText}, ${n(r[2].innerText)}<br>`);}};q('#block-table tr').forEach(f);})();
*/
let n, q, f;
n = (i)=>{return parseInt(i.replace(',',''));};
q = (s,d=document)=>{return d.querySelectorAll(s);};
f = (v,k,l) => {
let r = q('td', v);
if (r.length > 2) {
# https://gist.github.com/achillean/1428757481e4b74e17bac962b6f71d55
# ASN Data: http://thyme.apnic.net/
10.30.10.2 -> (AS3356) LEVEL3 - Level 3 Communications, Inc., US
10.30.10.32 -> (AS3356) LEVEL3 - Level 3 Communications, Inc., US
10.30.1.130 -> (AS3356) LEVEL3 - Level 3 Communications, Inc., US
10.34.100.2 -> (AS3356) LEVEL3 - Level 3 Communications, Inc., US
125.10.31.145 -> (AS9824) JTCL-JP-AS Jupiter Telecommunication Co. Ltd, JP
129.187.244.204 -> (AS12816) MWN-AS, DE
129.194.41.4 -> (AS559) SWITCH Peering requests: <peering@switch.ch>, CH
129.194.49.47 -> (AS559) SWITCH Peering requests: <peering@switch.ch>, CH
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: Keybase OpenPGP v2.0.8
Comment: https://keybase.io/crypto
xsFNBFUQuHkBEADZ8Tn4/A44cYBsvg0gtGjGt8bVHz08Ld+XPBMhRcL62SMacamw
JqPoA7ztESlgE8PYZPOas1A8sqvX02PH0ruTM1WFD6p/7QOMM8MjN2W44Y3osxev
oFRVrOinmsLEvHaDXa9EKstarh7irsSKX+GLJBemVkqSKzpmFICVxHDKFpFfdDsn
1pFarDY7uzK+yoGWS8UvjxVaM1qXp471hwUIUiwJrzuUTMHypqXNUA1A7qLy2hrH
um3RqeZijzeH6W8n3TptoXW8BcpsElyEpIfSagC5mxPZBRbtvyX6TmKbI297yOhs
4ldsatr7OOggLPTGV7vwNf6dJi7iEXDo/uCZR7ZlyJXE5YSJmU39qw3uRlM/mrKw
/* 2017 Dennis Kupec | MIT License */
#include <iostream>
#include <functional>
#include <string>
#define Str(s) std::to_string(s)
using namespace std;
BTC: 1VACBANhpBjgaTciWVHPUSqN16LFvLGVm
1Mya7kAGAMnvg8gEDV1sgmSE8Bmh3E9vDh
LTC: LLE9vcZtKNeSrtnyssdE4vatT6ce5xUsrH
LbXT4CgPepoEeF8gA7enqjRpQXtw6XB8md
LBC: bXcQz3oQut3PFKDUkMWUBr165wZYZ9LsAM
bLV5xEphLpcRPa9b2m7JxL4shA98d5Lu6Z
@denniskupec
denniskupec / 4rchive.py
Created October 8, 2017 21:06
4chan thread archiver
import requests, sys, re, os, shutil
if len(sys.argv) < 2:
sys.exit("Usage: 4rchive.py <URL>")
url = re.search("4chan.org\/(\w+)\/\w+\/(\d+)\/?", sys.argv[1])
board = url.group(1)
path = "downloads/{}/{}/".format(board, url.group(2))
@denniskupec
denniskupec / gm_requests.js
Created October 28, 2017 06:21
GM_xmlhttpRequest + GM_download => Promises
// GM_download
function Download(url, name, opt={}) {
Object.assign(opt, { url, name })
return new Promise((resolve, reject) => {
opt.onerror = reject
opt.onload = resolve
GM_download(opt)
})