Skip to content

Instantly share code, notes, and snippets.

View kravietz's full-sized avatar

Paweł Krawczyk kravietz

View GitHub Profile
@kravietz
kravietz / preload.py
Last active January 12, 2022 20:42
Resource hints (dns-prefetch, preload, prerender etc) middleware for Django. Includes automated resource discovery.
#!/usr/bin/python
# -*- coding: utf-8 -*-
from urllib.parse import urlparse
import codecs
from django.conf import settings
from django.utils.html_parser import HTMLParser
__author__ = 'Paweł Krawczyk'
@kravietz
kravietz / sitemap-split.py
Created February 19, 2015 12:43
XML sitemap split into 50k chunks
#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import print_function
from gzip import GzipFile
import gzip
import sys
__author__ = 'Paweł Krawczyk'
@kravietz
kravietz / nftables-host.conf
Last active June 15, 2023 07:23
Simple workstation nftables
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop
iifname lo accept
ct state established,related accept
# allow any incoming ICMP and ICMPv6
# Docker networking is messy and undocumented. Docker will create IP addresses and iptables at random times.
# This can be limited by using totally static IP addresses for network interfaces and avoiding the default network bridge.
# /etc/default/docker
# DOCKER_OPTS="--iptables=false --ipv6 --bip 172.16.0.1/16 --fixed-cidr 172.16.0.0/16 --fixed-cidr-v6 2a01:9000::/68"
# --bip is the host IP address of the docker0 interface
# --fixed-cidr is the CIDR subnet allocated to the docker0 interface (default network bridge)
# --fixed-cidr-v6 is the IPv6 CIDR allocated to docker0
# for IPv6 split your /64 delegated subnet into /68 subnets and allocate them to each docker-compose.yml subnet: