Skip to content

Instantly share code, notes, and snippets.

View TheSkorm's full-sized avatar

Michaela Wheeler TheSkorm

View GitHub Profile
@TheSkorm
TheSkorm / bandwidth.sh
Created September 27, 2011 09:56
Simple(ish) hacked up bandwidth logger
#!/bin/bash
#Makes a CSV of UNIX Time, wget speed, and link speed from an SNMP router
TEMPFILE="/tmp/10m"
STARTBYTES=`snmpwalk -OvQ -v2c -c SNMPRO ROUTERIP 1.3.6.1.2.1.2.2.1.10.7`
STARTTIME=`date +%s`
WGETOUTPUT=`/usr/bin/wget -O$TEMPFILE "http://mirror.internode.on.net/pub/test/10meg.test" 2>&1`
FINISHBYTES=`snmpwalk -OvQ -v2c -c SNMPRO ROUTERIP 1.3.6.1.2.1.2.2.1.10.7`
FINISHTIME=`date +%s`
BPS=`echo \(\($FINISHBYTES-$STARTBYTES\)/\($FINISHTIME-$STARTTIME\)\)/1024|/usr/bin/bc`
DATALINE=`echo $WGETOUTPUT | /usr/bin/perl -ne 'print "$1 $2" if /.*(?:\()([0-9]+) (KB|MB)\/s(?:\)).*/' `
@TheSkorm
TheSkorm / gist:1253647
Created September 30, 2011 12:49
Hacked up graph for bandwidth monitoring gist
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["annotatedtimeline"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Time');
data.addColumn('number', 'Bytes/Second');
@TheSkorm
TheSkorm / gist:1692335
Last active September 30, 2015 00:27
YouTube Scrapper
import gdata.youtube
import gdata.youtube.service
import Queue
import threading
import string
valid_chars = "-_.() %s%s" % (string.ascii_letters, string.digits)
from urllib import urlopen, unquote
import urllib
from urlparse import parse_qs, urlparse
yt_service = gdata.youtube.service.YouTubeService()
@TheSkorm
TheSkorm / gist:1948756
Last active October 1, 2015 07:47
Script to make a gallery in jukyll
exiftran -a -i -p *
mkdir thumbs
cp *.JPG thumbs
cp *.jpg thumbs
cp *.PNG thumbs
cp *.png thumbs
cd thumbs
mogrify -resize 100x *
cd ..
title=`pwd | sed 's/.*\///'`
@TheSkorm
TheSkorm / gist:3922835
Created October 20, 2012 09:59
Bandwidth quota for mikrotik with a freezone
/queue tree get number=queue1 value-name=bytes
print out the number of bytes
:put [/queue tree get number=queue1 value-name=bytes ]
:if ($bytesIn > 53687091200) do={
:global bytesIn;
#!/usr/bin/perl
# $Id: read-growatt,v 1.3 2012/03/13 00:46:43 az Exp $
#
# File: read-growatt
# Date: Sun Jun 5 15:46:42 2011
# Author: Alexander Zangerl (az)
#
# Abstract:
# read current statistics values from a growatt inverter
#
@TheSkorm
TheSkorm / volts.sh
Created January 6, 2013 10:49
SNMP grabs mikrotik volts reading.
#!/bin/bash
#Makes a CSV of UNIX Time, wget speed, and link speed from an SNMP router
VOLTS=`snmpwalk -OvQ -v2c -cpublic IP .1.3.6.1.4.1.14988.1.1.3.8.0`
TIME=`date +%s`
VOLTS=`echo "scale=3;$VOLTS/10"|/usr/bin/bc`
echo $TIME,$VOLTS V >> /home/mwheeler/scripts/volts.csv
@TheSkorm
TheSkorm / volts.php
Created January 6, 2013 10:51
Graph for volts logging
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["annotatedtimeline"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Time');
data.addColumn('number', 'Volts');
@TheSkorm
TheSkorm / IPv6 NDP Attack test
Created August 3, 2013 13:44
Very shit example. Not using random could save some CPU.
import socket
import random
hexs = "0123456789ABCDEF"
UDP_PORT = 6969
MESSAGE = "DOS"
PREFIX = "2001:"
sock = socket.socket(socket.AF_INET6, # Internet
@TheSkorm
TheSkorm / nodejs pvoutput
Created August 7, 2013 08:17
get voltage from mikrotik and post to pvoutput
//requires npm install snmp-native moment
var snmp = require('snmp-native');
var session = new snmp.Session({ host: '10.0.0.254', port: 161, community: 'public' });
var http = require('http');
function postData(volts){
var options = {