diff --git a/Dockerfile b/Dockerfile
index 2b937f924d8c78c41199454492fdcc184aa7877b..a4ec2ee70fe86d6af85a2f10b5bcccfa2dd0d298 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bullseye
+FROM debian:bookworm
 
 ENV LANG=C.UTF-8
 ENV DEBIAN_FRONTEND=noninteractive
diff --git a/install-dependencies.sh b/install-dependencies.sh
index 9362e83f238a892335481a502277a4445eaf7b0e..70ef0650931b20687f661162f503f7832350fee2 100755
--- a/install-dependencies.sh
+++ b/install-dependencies.sh
@@ -10,6 +10,5 @@ apt-get install -y --no-install-recommends \
 	unzip \
 	wget \
 	fastjar \
-	python \
 	python3 \
 	golang
diff --git a/install.sh b/install.sh
index 29e43b7c943217b2de4f0b7873b28b8eed7dd311..9b5be80fb559fee8e03901eb9f5ff6adf3c2f601 100755
--- a/install.sh
+++ b/install.sh
@@ -3,10 +3,10 @@ set -e
 set -x
 
 # use snapshot repos for deterministic package versions
-DATE="20230509T000000Z"
+DATE="20240301T000000Z"
 cat << EOF > /etc/apt/sources.list
-deb http://snapshot.debian.org/archive/debian/${DATE}/ bullseye main
-deb http://snapshot.debian.org/archive/debian/${DATE}/ bullseye-updates main
+deb http://snapshot.debian.org/archive/debian/${DATE}/ bookworm main
+deb http://snapshot.debian.org/archive/debian/${DATE}/ bookworm-updates main
 EOF
 
 # ignore expired package releases so we can reproduce from old snapshots
diff --git a/versions.json b/versions.json
index d5ae820aec95fc10e521a9261eeec977d2980495..998786096e7ce2bae060867c7d9d9aaa3df0903d 100644
--- a/versions.json
+++ b/versions.json
@@ -128,6 +128,22 @@
     }
   },
   "snowflake": {
+    "2.9.1": {
+      "repo_url": "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git",
+      "revision": "b130151b24db155e4ea89517b72b73b21949c84b",
+      "build_path": "client",
+      "repo_dir": "snowflake",
+      "go": {
+        "version": "go1.21.7",
+        "sha256": "00197ab20f33813832bff62fd93cca1c42a08cc689a32a6672ca49591959bff6"
+      },
+      "ndk": {
+        "url": "https://dl.google.com/android/repository/android-ndk-r23c-linux.zip",
+        "revision": "23.2.8568313",
+        "sha256": "6ce94604b77d28113ecd588d425363624a5228d9662450c48d2e4053f8039242"
+      },
+      "timestamp": "201001010000.00"
+    },
     "2.5.1": {
       "repo_url": "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git",
       "revision": "7b77001eaa90e09d41172a2b170dabd3f1922b4a",