Skip to content

Instantly share code, notes, and snippets.

View rithvikvibhu's full-sized avatar

Rithvik Vibhu rithvikvibhu

View GitHub Profile
@rithvikvibhu
rithvikvibhu / aap.md
Created September 25, 2025 12:45
Apple Airpods Bluetooth Packets

Apple Airpods

Page: Hearing Assitance

Heading Aid toggle

dump: hearing-aid-toggle.pklg

  1. Off -> On
  2. On -> Off
@rithvikvibhu
rithvikvibhu / index.md
Created March 3, 2024 06:47
Securing websites with Stateless DANE using certbot

Securing websites with Stateless DANE using certbot

Caddy is the recommended and easiest way to set this up (guide here), but HTools ACME works with any client including certbot.

Assuming nginx here, but any target certbot supports will work.

Website Setup

Get a regular web server running as usual. simple nginx config:

# Usage
#
# Install dependencies:
# $ pip install selenium beautifulsoup4
# Run:
# $ python download-gtlds-applications.py
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
/**
* This script finds an address given an account extended public key
* Usage: edit these fields below and run it like `node find-address.js`
*/
const assert = require('node:assert/strict');
const HDPublicKey = require('hsd/lib/hd/public');
const Address = require('hsd/lib/primitives/address');
// **********
// run: node api-key.js
const os = require('node:os');
const path = require('node:path');
const bdb = require('bdb');
const BOB_DB_LOC = path.join(os.homedir(), '.config/Bob/db');
const WALLET_API_KEY = 'walletApiKey';
const NODE_API_KEY = 'nodeApiKey';
// node list-transferring-names.js
const { NodeClient, WalletClient } = require('hs-client');
const { Network } = require('hsd');
// Edit these:
const NETWORK = 'main';
const API_KEY = 'api-key-here';
const WALLET_NAME = 'walletname';
// USAGE: hsd --log-console=false --plugins=/path/to/this/file/renewal-count-plugin.js
'use strict';
const fs = require('fs').promises;
const layout = require('hsd/lib/blockchain/layout');
const { types } = require('hsd/lib/covenants/rules');
const TXMeta = require('hsd/lib/primitives/txmeta');
const plugin = exports;
#!/bin/bash
declare -a tlds=("aaa" "aarp" "abarth" "abb" "abbott" "abbvie" "abc" "able" "abogado" "abudhabi" "ac" "academy" "accenture" "accountant" "accountants" "aco" "actor" "ad" "adac" "ads" "adult" "ae" "aeg" "aero" "aetna" "af" "afl" "africa" "ag" "agakhan" "agency" "ai" "aig" "airbus" "airforce" "airtel" "akdn" "al" "alfaromeo" "alibaba" "alipay" "allfinanz" "allstate" "ally" "alsace" "alstom" "am" "amazon" "americanexpress" "americanfamily" "amex" "amfam" "amica" "amsterdam" "analytics" "android" "anquan" "anz" "ao" "aol" "apartments" "app" "apple" "aq" "aquarelle" "ar" "arab" "aramco" "archi" "army" "arpa" "art" "arte" "as" "asda" "asia" "associates" "at" "athleta" "attorney" "au" "auction" "audi" "audible" "audio" "auspost" "author" "auto" "autos" "avianca" "aw" "aws" "ax" "axa" "az" "azure" "ba" "baby" "baidu" "banamex" "bananarepublic" "band" "bank" "bar" "barcelona" "barclaycard" "barclays" "barefoot" "bargains" "baseball" "basketball" "bauhaus" "bayern" "bb" "bbc" "bbt" "bbva" "bcg" "bcn" "bd"
@rithvikvibhu
rithvikvibhu / batch-regtest-setup.js
Created August 19, 2022 12:54
Bob setup chain for testing
// Based on hsd/test/wallet-auction-test.js (hsd 686, #764)
// Opens 800 names and places 2 bids per name
// After running this, refresh Bob and try other bulk actions (reveal all, etc.)
const { WalletClient, NodeClient } = require('hs-client');
const { Address, Network } = require('hsd');
// Edit these:
const NETWORK = 'regtest';
const API_KEY = 'apikey';
const path = require('node:path');
const bdb = require('bdb');
const bio = require('bufio');
const MasterKey = require('hsd/lib/wallet/masterkey');
const layouts = require('hsd/lib/wallet/layout');
const layout = layouts.wdb;
// SET THESE VALUES:
const FILTER_SECRETS = true;
const HSD_DATA_LOC = '/path/to/any/hsd_data';