Skip to content

Instantly share code, notes, and snippets.

View djui's full-sized avatar

Uwe Dauernheim djui

View GitHub Profile
@djui
djui / keychain.py
Last active June 15, 2018 02:00
OS X Keychain implementation in Python
class Keychain():
"""Reimplementation of Keyring for OS X.
Problem with Keyring is it doesn't allow to set a label with is required
for this use case.
"""
class KeychainError(Exception):
def __init__(self, code=None, msg=None, cause=None):
self.code = code
@djui
djui / totp.py
Last active July 24, 2021 13:30
Simple TOTP implementation in Python as CLI
#!/usr/bin/env python
from __future__ import print_function
import base64
import hashlib
import hmac
import struct
import sys
import time
@djui
djui / vpn.sh
Created October 18, 2014 21:40
Takes a password, generates the TOTP token and starts the OSX VPN
#!/bin/sh
## Dependencies: $ brew install oath-toolkit
function connect {
service="$1"
password='123456'
secret=$(cat $HOME/.google_authenticator)
totp=$(oathtool --base32 --totp $secret)
@djui
djui / gtb
Last active August 29, 2015 14:07 — forked from dschuetz/gtb
#!/usr/bin/python
import hmac, struct, time, base64, hashlib # for totp generation
import re, sys, subprocess # for general stuff
from getopt import getopt, GetoptError # pretending to be easy-to-use
#
# gtb - Google(auth) + Tunnelblick
#
@djui
djui / tips.md
Created September 2, 2014 09:36
Tips

Tips

This is a collection of all kinds of tips that I found to be useful over the years as most of them reflect repetative tasks but that are seldom applied. As a human... I forget. This list will soon be merge with a much longer and older list and then, I guess, I will publish it maybe as gist on Github or part of my dot-files Git repository.

OS X / Mac

@djui
djui / cli_template.py
Last active October 7, 2015 13:27
Commandline Tool template for Python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import argparse
import os
import sys
import traceback
__version__ = '1.0'
(require '[com.keminglabs.zmq-async.core :refer [register-socket!]]
'[clojure.core.async :refer [>! <! <!! >!! go chan sliding-buffer close!]])
(let [addr "tcp://*:9999"
[s-in s-out] (repeatedly 2 #(chan (sliding-buffer 64)))]
(register-socket! {:in s-in :out s-out :socket-type :rep
:configurator (fn [socket] (.bind socket addr))})
(println "waiting messages...")
@djui
djui / saml.py
Last active November 30, 2023 00:26
Python class to fetch a website behind a SAML2 SSO service conforming to the Shibboleth protocol.
from __future__ import print_function
import cookielib
import getpass
import HTMLParser
import re
import sys
import urllib
import urllib2
@djui
djui / 30c3_downloader.sh
Last active January 1, 2016 23:49
Download all 30C3 presentations from Youtube and watch them offline. Dependencies: parallel, youtube-dl.
#!/bin/sh
youtube-dl -i -w -q https://www.youtube.com/playlist?list=PLBXmeocYXDfCFnkCoxkSpFChle3gmidEn
youtube-dl -i -w -q https://www.youtube.com/playlist?list=PLOcrXzpA0W82rsJJKrmeBlY3_MS0uQv3h
(let [xs (map #(Thread/sleep (* % 1000)) [1 9])]
(doseq [x xs]
(print x)))