Skip to content

Instantly share code, notes, and snippets.

View LongHairedHacker's full-sized avatar

Sebastian LongHairedHacker

View GitHub Profile
@LongHairedHacker
LongHairedHacker / backlonger.py
Last active November 19, 2022 16:55
Extend all the t.co short links in a twitter backup
#!/usr/bin/env python3
import os
from os import path
import sys
import re
import requests
import shutil
{
"attempts":5,
"changed":false,
"cmd":[
"/var/lib/satnogs/bin/pip2",
"install",
"satnogsclient==0.9"
],
"msg":"stdout: Collecting satnogsclient==0.9\n Using cached https://files.pythonhosted.org/packages/8c/2e/8e7d56196dbc7ffc0d15c657192f25205707c34d58947d575bab6e9c6329/satnogsclient-0.9-py2-none-any.whl\nRequirement already satisfied: pytz in /usr/lib/python2.7/dist-packages (from satnogsclient==0.9) (2016.7)\nRequirement already satisfied: APScheduler in /usr/lib/python2.7/dist-packages (from satnogsclient==0.9) (3.3.1)\nRequirement already satisfied: matplotlib in /usr/lib/python2.7/dist-packages (from satnogsclient==0.9) (2.0.0)\nCollecting flask-socketio (from satnogsclient==0.9)\n Using cached https://files.pythonhosted.org/packages/94/85/32082ff683bbd0358f3e4b124e6405e4157f039fbd205be69c72c70e8c2e/Flask_SocketIO-3.3.1-py2.py3-none-any.whl\nCollecting redis (from satnogsclient==0.9)\n Using cached https://files.pythonhosted.org/packages/d0/8b/c43ef27d0
@LongHairedHacker
LongHairedHacker / markers.py
Last active July 3, 2018 22:48
NOAA APT sync marker finder
#!/usr/bin/env python3
import sys
from PIL import Image
import matplotlib.pyplot as plt
SYNCA_SEQ = [False, False, False, False,
True, True, False, False, # Pulse 1
True, True, False, False, # Pulse 2
@LongHairedHacker
LongHairedHacker / split.py
Last active February 4, 2018 22:21
NOAA APT Splitter PoC
#!/usr/bin/env python3
from PIL import Image
import matplotlib.pyplot as plt
WEDGE_WIDTH = 45
WEDGE_END = 1040
WEDGE_START = WEDGE_END - WEDGE_WIDTH
@LongHairedHacker
LongHairedHacker / dist_tg.sh
Created December 14, 2017 00:51
Distribution for batman tg table
#!/bin/bash
ssh root@ffnode "batctl tg" | grep -oP "via ([0-9a-f:]*)" | cut -d " " -f 2 | sort | uniq -c | sort -g
#!/usr/bin/env python2
import requests
import mwparserfromhell
import pypandoc
def main():
resp = requests.get("https://events.ccc.de/congress/2017/wiki/index.php?title=Assembly:CSOC&action=raw")
wikicode = mwparserfromhell.parse(resp.text)
// ==UserScript==
// @name Twitter Cramming
// @description Force enable cramming (280 character tweets) on Twitter
// @author Prof. 9
// @version 0.2
// @match https://twitter.com/*
// @run-at document-idle
// @namespace prof9.twittercramming
// ==/UserScript==
88.198.21.48 - - [02/Aug/2017:22:37:53 +0000] "HEAD / HTTP/1.1" 200 0 "-" "http.rb/2.2.2 (Mastodon/1.4.7; +http://social.troll.academy/)"
88.198.21.48 - - [02/Aug/2017:22:37:53 +0000] "GET / HTTP/1.1" 200 7116 "-" "http.rb/2.2.2 (Mastodon/1.4.7; +http://social.troll.academy/)"
163.172.71.138 - - [02/Aug/2017:22:37:54 +0000] "HEAD / HTTP/1.1" 200 0 "-" "http.rb/2.2.2 (Mastodon/1.5.0; +https://social.tchncs.de/)"
88.198.21.48 - - [02/Aug/2017:22:37:54 +0000] "GET / HTTP/1.1" 200 7116 "-" "http.rb/2.2.2 (Mastodon/1.4.7; +http://social.troll.academy/)"
2001:41d0:c:ec9::2b43:1d3 - - [02/Aug/2017:22:37:54 +0000] "HEAD / HTTP/1.1" 200 0 "-" "http.rb/2.2.2 (Mastodon/1.5.0; +https://mstdn.io/)"
163.172.185.23 - - [02/Aug/2017:22:37:54 +0000] "HEAD / HTTP/1.1" 200 0 "-" "http.rb/2.2.2 (Mastodon/1.5.0rc3; +https://mastodon.social/)"
163.172.71.138 - - [02/Aug/2017:22:37:54 +0000] "GET / HTTP/1.1" 200 7116 "-" "http.rb/2.2.2 (Mastodon/1.5.0; +https://social.tchncs.de/)"
88.198.21.48 - - [02/Aug/2017:22:37:54 +0000] "GET
@LongHairedHacker
LongHairedHacker / edgy_twitter.js
Last active June 22, 2017 14:17
None of that round corner rubbish
// ==UserScript==
// @name Edgy Twitter
// @namespace https://twitter.com/l_h_hacker
// @version 19.84
// @description None of that round corner rubbish
// @author sebastian (@l_h_hacker)
// @include https://twitter.com/*
// @grant none
// ==/UserScript==
Looking at https://github.com/bup/bup/blob/master/t/test-sparse-files.sh#L46
restore_size=$(WVPASS du -k -s restore | WVPASS cut -f1) || exit $?
WVPASS [ "$restore_size" -ge "$((data_size / 1024))" ]
For a block size of 4096 bytes:
data_size = block_size * 10 = 40960
File is created using:
WVPASS dd if=/dev/zero of=src/foo seek="$data_size" bs=1 count=1