I'm no longer be maintaining this, as I'm no longer using Raspberry Pi 4 + ZFS.
My case was:
- Raspberry Pi 4 8GB
- Debian 11 Bullseye
- native ZFS encryption
daemon off; | |
worker_processes 1; | |
error_log logs/error.log; | |
events { | |
worker_connections 1024; | |
} | |
http { | |
include mime.types; |
from scapy.sendrecv import send | |
from scapy.layers.inet import * | |
from binascii import unhexlify | |
import sys | |
magic = '' | |
for h in sys.argv[1].split(':'): magic += unhexlify(h); | |
send(IP(dst="255.255.255.255")/UDP(dport=9)/Raw(load=(chr(0xff)*6 + magic*16))) |
Notes for slimming down a fresh installation of Raspbian Stretch Lite. This guide does not strip Raspbian of basic functionality such as Bluetooth and mDNS.
Install a fresh Raspbian Stretch Lite image into the SD card ([source][1]).
$ unzip -p 2018-04-18-raspbian-stretch-lite.zip | dd bs=4M of=/dev/sdX conv=fsync
Free O'Reilly books and convenient script to just download them.
Thanks /u/FallenAege/ and /u/ShPavel/ from this Reddit post
How to use:
download.sh
file and put it into a directory where you want the files to be saved.cd
into the directory and make sure that it has executable permissions (chmod +x download.sh
should do it)./download.sh
and wee there it goes. Also if you do not want all the files, just simply comment the ones you do not want.base url is www.geeni.org | |
first two indentations are paths | |
CAPITALS are request methods | |
last identation is queries | |
return is in {} | |
state is 1 for success 0 for anything else | |
message is "success" or failure message | |
stripeid/chargeid is stripe internal id for object, already written to firebase so no need to | |
site will use HTTPS/SSL in future but currently does not so stick to test ccs / bank accounts |
Get Git log in JSON format
git log --pretty=format:'{%n "commit": "%H",%n "abbreviated_commit": "%h",%n "tree": "%T",%n "abbreviated_tree": "%t",%n "parent": "%P",%n "abbreviated_parent": "%p",%n "refs": "%D",%n "encoding": "%e",%n "subject": "%s",%n "sanitized_subject_line": "%f",%n "body": "%b",%n "commit_notes": "%N",%n "verification_flag": "%G?",%n "signer": "%GS",%n "signer_key": "%GK",%n "author": {%n "name": "%aN",%n "email": "%aE",%n "date": "%aD"%n },%n "commiter": {%n "name": "%cN",%n "email": "%cE",%n "date": "%cD"%n }%n},'
The only information that aren't fetched are:
%B
: raw body (unwrapped subject and body)%GG
: raw verification message from GPG for a signed commit# references: | |
# Learning by doing: Writing your own traceroute in 8 easy steps (Ksplice Blog) | |
# https://blogs.oracle.com/ksplice/entry/learning_by_doing_writing_your | |
import sys | |
import socket | |
def traceroute(dest_addr, max_hops=30, timeout=0.2): | |
proto_icmp = socket.getprotobyname('icmp') | |
proto_udp = socket.getprotobyname('udp') |