terminal QR

This commit is contained in:
shocknet-justin 2025-11-03 22:14:28 -05:00
parent 67e94d51dc
commit 0133979627
4 changed files with 31 additions and 0 deletions

9
package-lock.json generated
View file

@ -36,6 +36,7 @@
"lodash": "^4.17.21",
"nostr-tools": "^2.13.0",
"pg": "^8.4.0",
"qrcode-terminal": "^0.12.0",
"reflect-metadata": "^0.2.2",
"rimraf": "^3.0.2",
"rxjs": "^7.5.5",
@ -5730,6 +5731,14 @@
"node": ">=6"
}
},
"node_modules/qrcode-terminal": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz",
"integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==",
"bin": {
"qrcode-terminal": "bin/qrcode-terminal.js"
}
},
"node_modules/qs": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",

View file

@ -54,6 +54,7 @@
"lodash": "^4.17.21",
"nostr-tools": "^2.13.0",
"pg": "^8.4.0",
"qrcode-terminal": "^0.12.0",
"reflect-metadata": "^0.2.2",
"rimraf": "^3.0.2",
"rxjs": "^7.5.5",

View file

@ -108,12 +108,18 @@ get_log_info() {
log "A node admin has not yet enrolled via Nostr."
log "Paste this string into ShockWallet as a node source to connect as administrator:"
log "${SECONDARY_COLOR}$admin_connect${RESET_COLOR}"
echo ""
log "Or scan this QR code with ShockWallet:"
node "$INSTALL_DIR/scripts/qr_generator.js" "$admin_connect" 2>/dev/null || log "QR code generation unavailable"
break
fi
elif [ -f "$DATA_DIR/app.nprofile" ]; then
app_nprofile=$(cat "$DATA_DIR/app.nprofile")
log "Node is already set up. Use this nprofile to invite guest users:"
log "${SECONDARY_COLOR}$app_nprofile${RESET_COLOR}"
echo ""
log "Or scan this QR code with ShockWallet:"
node "$INSTALL_DIR/scripts/qr_generator.js" "$app_nprofile" 2>/dev/null || log "QR code generation unavailable"
break
fi
sleep $WAIT_INTERVAL

15
scripts/qr_generator.js Executable file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env node
import qrcode from 'qrcode-terminal';
const text = process.argv[2];
if (!text) {
console.error('Usage: qr_generator.js <text>');
process.exit(1);
}
qrcode.generate(text, { small: true }, (qr) => {
console.log(qr);
});