Open-source 2-of-3 policy-enforced threshold HSM: auto-signs cold→hot treasury refills under on-device Coldcard policy, no human in the loop. Includes the full operator manual + quick-start, the reference coordinator/signing code, and a signer-host bootstrap. No keys, seeds, or secrets — placeholders only. Live signet demo: https://multisighsm.mineracks.com Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
36 lines
1.5 KiB
Bash
36 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
exec > /tmp/web_setup.log 2>&1
|
|
set -x
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
sudo apt-get install -y -qq nginx
|
|
sudo mkdir -p /var/www/multisighsm
|
|
sudo cp /tmp/index.html /var/www/multisighsm/index.html
|
|
sudo tee /etc/nginx/ws_params > /dev/null <<'WS'
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
proxy_set_header Host $host;
|
|
proxy_read_timeout 3600s;
|
|
proxy_send_timeout 3600s;
|
|
WS
|
|
sudo tee /etc/nginx/sites-available/multisighsm > /dev/null <<'NGINX'
|
|
server {
|
|
listen 8090;
|
|
server_name multisig-hsm.example.com;
|
|
root /var/www/multisighsm;
|
|
index index.html;
|
|
location / { try_files $uri $uri/ =404; add_header Cache-Control "no-cache"; }
|
|
location /novnc/ { alias /usr/share/novnc/; }
|
|
location /ws/dev1 { proxy_pass http://127.0.0.1:6911/; include /etc/nginx/ws_params; }
|
|
location /ws/dev2 { proxy_pass http://127.0.0.1:6912/; include /etc/nginx/ws_params; }
|
|
location /ws/dev3 { proxy_pass http://127.0.0.1:6913/; include /etc/nginx/ws_params; }
|
|
location /api/ { proxy_pass http://127.0.0.1:8099/; proxy_buffering off; proxy_cache off; proxy_read_timeout 3600s; }
|
|
}
|
|
NGINX
|
|
sudo ln -sfn /etc/nginx/sites-available/multisighsm /etc/nginx/sites-enabled/multisighsm
|
|
sudo rm -f /etc/nginx/sites-enabled/default
|
|
sudo nginx -t && sudo systemctl reload nginx
|
|
curl -s -o /dev/null -w "page=%{http_code} " http://127.0.0.1:8090/
|
|
curl -s -o /dev/null -w "novnc=%{http_code}\n" http://127.0.0.1:8090/novnc/vnc_lite.html
|
|
echo WEB_SETUP_DONE
|