Skip to content

Instantly share code, notes, and snippets.

View eaon's full-sized avatar

eaon

View GitHub Profile
@eaon
eaon / 👋
Created February 27, 2024 17:49
🤷
diff --git a/Cargo.toml b/Cargo.toml
index 382e8bc..3522e69 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,11 +18,15 @@ wasm-bindgen = { version = "0.2.87", optional = true }
[dependencies.rand]
version = "0.8.5"
+default-features = false
features = ["getrandom"]

Keybase proof

I hereby claim:

  • I am eaon on github.
  • I am eaon (https://keybase.io/eaon) on keybase.
  • I have a public key ASD_oXv_xHM6Ad0gadZuAz_fO1eLSeVLaJoKz3XyGr4vYgo

To claim this, I am signing this object:

For context, see freedomofpress/securedrop-workstation#887 and freedomofpress/securedrop-yum-test#48

Unpack RPM and reassemble root image

$ rpm2cpio qubes-template-securedrop-workstation-bullseye-4.0.6-202206302135.noarch.rpm | cpio -idmv
$ cat var/lib/qubes/vm-templates/securedrop-workstation-bullseye/root.img.part.* | tar --sparse -xf - -C .

Mount everything that's necessary to use chroot and ensure DNS will work. losetup command will give you a /dev/loop device, the specific number of which depends on whether you already had loop devices established. The specific number of the loop device is replaced with a ? in these instructions.

@eaon
eaon / sdkv.py
Last active February 1, 2023 19:39
"""Extension responsible for VM readable hierarchical key value stores"""
import qubes.ext
def _sdkv_get_key(feature):
branch = "sdkv."
return feature[len(branch):] if feature.startswith(branch) else None
#!/bin/bash
# Utility script for Qubes OS 4.1, to prepare vidchat VMs.
# Handles attaching web & mic, also raises scheduling priority
# to ensure that the vidchat VM stays snappy (reduces jitter).
set -eu -o pipefail
# Default to vidchat, but support overriding
default_vm="${VIDCHAT_VM=vidchat}"
target_vm="${1:-$default_vm}"