Skip to content

Instantly share code, notes, and snippets.

View twitch_live_url.py
import requests
import json
import re
import argparse
import random
import m3u8
USHER_API = 'http://usher.twitch.tv/api/channel/hls/{channel}.m3u8?player=twitchweb' +\
'&token={token}&sig={sig}&$allow_audio_only=true&allow_source=true' + \
'&type=any&p={random}'
@baderj
baderj / twitch_past_broadcast_downloader.py
Last active May 31, 2021
script to download past broadcasts from twitch.tv
View twitch_past_broadcast_downloader.py
import requests
import sys
import json
import re
import os
import string
import argparse
BASE_URL = 'https://api.twitch.tv'
@baderj
baderj / tutorial_themoviedb.py
Last active Apr 22, 2021
Example how to use the API v3 of "The Movie Database" (themoviedb.org). Saves all available posters for the movie with IMDb id tt0095016 to the current folder, using the maximum available resolution.
View tutorial_themoviedb.py
import os
import requests
CONFIG_PATTERN = 'http://api.themoviedb.org/3/configuration?api_key={key}'
IMG_PATTERN = 'http://api.themoviedb.org/3/movie/{imdbid}/images?api_key={key}'
KEY = '<your_api_key>'
def _get_json(url):
r = requests.get(url)
return r.json()
@baderj
baderj / gist:7887807
Created Dec 10, 2013
Wordpress filter to highlight the menu item labeled "blog" if not on static pages. Add the code to functions.php
View gist:7887807
/* ------------------------------------------------------------------------ */
/* highlight the menu item labeled "blog" if not on static pages */
function add_custom_class($classes=array(), $menu_item=false) {
if ( !is_page() && 'Blog' == $menu_item->title && ! in_array( 'current-menu-item', $classes ) ) {
$classes[] = 'current-menu-item';
}
return $classes;
}
add_filter('nav_menu_css_class', 'add_custom_class', 100, 2);
View matiex_keylogger.yara
rule win_matiex_keylogger_v1 {
meta:
author = "Johannes Bader @viql"
date = "2020-07-20"
description = "detects the Matiex Keylogger"
tlp = "white"
strings:
$obfuscator_1 = "OiCuntJollyGoodDayYeHavin_____________________________________________________"
@baderj
baderj / garmin_ant_demo.py
Last active Nov 15, 2020
Script to illustrate heart rate capturing with Ant+, see blog post at http://www.johannesbader.ch/2014/06/track-your-heartrate-on-raspberry-pi-with-ant
View garmin_ant_demo.py
"""
Code based on:
https://github.com/mvillalba/python-ant/blob/develop/demos/ant.core/03-basicchannel.py
in the python-ant repository and
https://github.com/tomwardill/developerhealth
by Tom Wardill
"""
import sys
import time
from ant.core import driver, node, event, message, log
@baderj
baderj / dga_symmi.py
Created Jan 21, 2015
The DGA of Symmi sample b75f00d7ae2857a3e1cc8f5eb4dc11b9
View dga_symmi.py
import argparse
from datetime import datetime
seed_const = 42
days_period = 16
nr_of_domains = 64
third_lvl_min_len = 8
third_lvl_max_len = 15
class Rand:
@baderj
baderj / imdb_id_from_title.py
Created Nov 11, 2013
return IMDb movie id for search string using the undocumented IMDb API
View imdb_id_from_title.py
import requests
import urllib
def imdb_id_from_title(title):
""" return IMDb movie id for search string
Args::
title (str): the movie title search string
Returns:
@baderj
baderj / find_seed.c
Last active May 26, 2017
find ramnit seed
View find_seed.c
#include <stdio.h>
#include <string.h>
unsigned long int rand_int_modulus(unsigned long int *ix, unsigned long int modulus) {
unsigned long int k1;
k1 = *ix / 127773;
*ix = 16807 * (*ix - k1 * 127773) - k1 * 2836;
return *ix % modulus;
}
View gozi_rfc.txt
network
working
group
eastlake
request
for
comments
motorola
laboratories
updates