Skip to content

Instantly share code, notes, and snippets.

@84adam
84adam / check-warrant-canary.md
Created July 30, 2025 17:45
check ashigaru warrant canary

VERIFY ASHIGARU WARRANT CANARY

  1. visit using Tor Browser:

http://ashigaruprvm4u263aoj6wxnipc4jrhb2avjll4nnk255jkdmj2obqqd.onion/warrant-canary/

  1. read the declaration and check the date shown
  2. copy warrant canary declaration, example below
@84adam
84adam / manage-luks-drive.sh
Created July 23, 2025 15:13
bash script to help unlock/mount/unmount LUKS encrypted drive
#!/bin/bash
# Unified LUKS Drive Management Script
DEVICE="/dev/sdb1" # Update to your encrypted partition
MAPPER_NAME="myluksdrive" # Must match name used during setup
MOUNT_POINT="/mnt/encrypted" # Update mount path if needed
if [ "$#" -ne 1 ]; then
echo "Usage: $0 [mount|unmount]"
exit 1
fi
@84adam
84adam / external-luks-drive.md
Created July 23, 2025 15:08
create & mount LUKS encrypted external drive

Formatting and Encrypting a WD Passport Drive with LUKS on Debian

It's possible to format an entire drive with LUKS encryption for cross-distribution Linux compatibility. Follow these steps carefully:

Prerequisites:

  1. Backup any important data first (the drive will be wiped)
  2. Ensure cryptsetup is installed:
    sudo apt update && sudo apt install cryptsetup
@84adam
84adam / response.md
Created July 15, 2025 21:47
Ashigaru Response

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512

Thank you for taking the time to detail us your findings. We are happy for you to share our response below on your Github and/or blog. We hope that this scrutiny, and our response to it, encourages users to gain more confidence with our new implementation of Whirlpool.

So far, we have had two users email us to highlight concerns that have been raised on social media such as BitcoinTalk and X. We have responded to these queries but are not aware if those users have publicized our responses. Those that have leveled criticism have not contacted us directly.

Overall, we have been pleased to see the reactions to our release. It is unfortunate that because we have forked and built upon a project that some of these developers have had animosity towards in the past, that they expect malicious intent from us. We have already demonstrated that we will make changes to our codebase based on user concern as can be seen by our efforts on reproducibility.

**General critici

@84adam
84adam / ashigaru-whirlpool-analysis.md
Last active July 12, 2025 14:50
Review of Ashigaru Whirlpool: RSA Blinding & Deanonymization Concerns

Ashigaru Whirlpool Security Analysis

Introduction to the Problem

The Ashigaru Whirlpool coordinator has faced significant scrutiny regarding its implementation of RSA blinding protections for Bitcoin coinjoins. These concerns were first raised in a Bitcoin Talk forum post titled "New ashigaru whirlpool coordinator can de-anonymize users" on June 23, 2025 [1], which highlighted potential vulnerabilities that could allow a malicious coordinator to link inputs and outputs during the mixing process.

The core issue stems from a vulnerability originally discovered by security researcher "nothingmuch" in December 2024 [2], which demonstrated that whirlpool coordinators could potentially deanonymize users by providing each participant with a unique RSA public key during the blind signature process. Since different clients would receive different keys, the coordinator could later correlate the unblinded signatures with specific users, completely breaking the anonymity guarantees of the ZeroLink protocol.

The

@84adam
84adam / challenges.md
Created April 4, 2025 13:35 — forked from AdamISZ/challenges.md
Challenges (bitcoin, script, keys, crypto etc.)

(parentheses + italics = commentary, questions on how these challenges are structured. obviously not intended to be in the text for the students.)

Challenge 1: The fees are all mine(d) (3/10)

(This challenge is focused on not needing any coding skills and just discussing/knowing basic bitcoin mechanisms)

Tx number Fee /sats Weight Standard? Consensus valid? Spends from
1 58M 3.6M ✔️ ✔️ 4
@84adam
84adam / install-java-gradle.sh
Last active February 10, 2025 18:19
Install JDK 23.0.2 and Gradle 8.10.2 on Linux (x86_64, apt or dnf)
#!/bin/bash
set -eo pipefail
JDK_VERSION="23.0.2"
JDK_SHA="017f4ed8e8234d85e5bc1e490bb86f23599eadb6cfc9937ee87007b977a7d762"
JDK_URL="https://download.java.net/java/GA/jdk23.0.2/6da2a6609d6e406f85c491fcb119101b/7/GPL/openjdk-23.0.2_linux-x64_bin.tar.gz"
GRADLE_VERSION="8.10.2"
GRADLE_SHA="31c55713e40233a8303827ceb42ca48a47267a0ad4bab9177123121e71524c26"
GRADLE_URL="https://services.gradle.org/distributions/gradle-8.10.2-bin.zip"
@84adam
84adam / gist:02f25b50f0da6f5b1536156dff003a5e
Last active January 30, 2025 21:27
Open WebUI + Ollama + DeepSeek-R1-Distill-Qwen-1.5B
# HW Requirements
# I recommend 8 CPU cores and 16 GB of RAM on the system or VM if using the deepseek-r1:1.5b model
# 1. install docker
# e.g. see: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-rocky-linux-9
# 2a. assuming an Nvidia GPU is available, run:
`docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama`
# 2b. if an Nvidia GPU is not available, run:
@84adam
84adam / password-entropy.sh
Created October 24, 2024 13:12
Password Entropy Calculator: Go + WASM (Debian/x86) -- Bash Deployment Script
#!/bin/bash
# Exit on any error
set -e
echo "🚀 Starting Password Entropy Calculator setup..."
# Create project structure
PROJECT_DIR="password-entropy-calc"
mkdir -p $PROJECT_DIR/{cmd/server,wasm,static}
@84adam
84adam / go-wasm-hello-world.sh
Created October 23, 2024 19:41
Go WASM Hello World - Debian/x86
#!/bin/bash
# Exit on any error
set -e
echo "🚀 Starting Go WASM Hello World setup..."
# Check if Go is installed, if not install it
if ! command -v go &> /dev/null; then
echo "📦 Installing Go..."