Skip to content

Instantly share code, notes, and snippets.

View Zaczero's full-sized avatar

Kamil Monicz Zaczero

View GitHub Profile
Zaczero /
Last active May 3, 2024 13:44
Nix Playwright Firefox Fix Script
# This requires that you have the firefox-bin package installed.
# Then run `playwright install firefox` and execute this script to fix binaries.
# !Important: Ensure the playwright firefox and nix firefox versions match exactly.
set -euo pipefail
firefox_wrapper=$(which firefox)
firefox_lib=$(dirname "$firefox_wrapper")
Comment: User-ID: Kamil Monicz <>
Comment: Valid from: 5 Dec 2023 06:03:25
Comment: Valid until: 1 Jan 2026 12:00:00
Comment: Type: 255-bit EdDSA (secret key available)
Comment: Usage: Signing, Encryption, Certifying User-IDs
Comment: Fingerprint: 4E67A4AC2FA42A28DB401FC8F9FB19F1C1DC9C23
Zaczero / tesseract_parameters.txt
Last active November 8, 2023 10:41
tesseract 5.3.0 (tesseract --print-parameters)
Tesseract parameters:
editor_image_xpos 590 Editor image X Pos
editor_image_ypos 10 Editor image Y Pos
editor_image_menuheight 50 Add to image height for menu bar
editor_image_word_bb_color 7 Word bounding box colour
editor_image_blob_bb_color 4 Blob bounding box colour
editor_word_xpos 60 Word window X Pos
editor_word_ypos 510 Word window Y Pos
editor_word_height 240 Word window height
editor_word_width 655 Word window width
Zaczero / configuration.nix
Created October 11, 2023 11:16
NixOS TCP BBR Congestion Control
boot.kernelPackages = pkgs.linuxPackages_latest; # (optional)
boot.kernelPatches = [{
name = "bbr";
patch = null;
extraStructuredConfig = with pkgs.lib.kernel; {
TCP_CONG_BBR = yes; # enable BBR
DEFAULT_BBR = yes; # use it by default
Zaczero /
Created September 20, 2023 16:39
NixOS root partition RAID1 using mdadm + LUKS cryptsetup encryption

1. Boot into NixOS Live USB

Insert your NixOS live USB and boot into the system.

2. Partition disks

Note: This guide assumes you're using UEFI. If you're using BIOS, the partitioning scheme will differ.

You can use cfdisk to manually partition your disks.

Zaczero / osm-deep-history-integration.user.js
Last active September 17, 2023 14:31
🗺️ OSM Deep History integration
// ==UserScript==
// @name 🗺️ OSM Deep History integration
// @namespace Violentmonkey Scripts
// @match*
// @grant none
// @version 1.0.3
// @license GNU Affero General Public License v3.0
// @author Zaczero
// @updateURL
// @downloadURL
Zaczero /
Last active August 24, 2023 10:13
Simple install script for certbot-ocsp-fetcher on Debian-based distros
# This install script is licensed under the Creative Commons Zero 1.0 Universal license.
# For more information, please see <>
set -e
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root" 1>&2
exit 1
Zaczero /
Last active April 24, 2023 16:10
Prevent netscan abuse on your Tor exit node with UFW and Fail2Ban

🧅 Mitigating the Tor netscan problem

This is a guide to my personal solution to the Tor netscan problem, which can affect the reputation of exit nodes. The solution uses ufw, fail2ban, and systemd-journal, but can be adapted to suit your needs. This approach is not perfect, but it helps prevent netscan abuse while still supporting the Tor network.


The solution works by temporarily banning outgoing traffic to a specific port if too many connections are made in a short period of time. This may affect some legitimate traffic, but due to the anonymous nature of Tor, it's not possible to block specific traffic sources.

Zaczero / osm-copy-changeset-ids.user.js
Last active January 29, 2023 05:18
🗺️ Easily copy user's changeset IDs on OpenStreetMap
// ==UserScript==
// @name 🗺️ Easily copy user's changeset IDs on OpenStreetMap
// @namespace Violentmonkey Scripts
// @match*/history
// @grant none
// @version 1.0
// @license GNU Affero General Public License v3.0
// @author Zaczero
// @description 1/29/2023, 5:25:13 AM
// @updateURL