diff options
| author | AAGaming <aagaming@riseup.net> | 2024-05-04 22:38:40 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2024-05-04 22:38:40 -0400 |
| commit | 2a22f000c12bd3704a93e897ed71e644392baeef (patch) | |
| tree | bb27fa9d0b22233824be1214e9d2cfa0734a1dd9 | |
| parent | 63f90d884e32b0ab4f6e0b97239d6725a5cd3413 (diff) | |
| download | decky-loader-2a22f000c12bd3704a93e897ed71e644392baeef.tar.gz decky-loader-2a22f000c12bd3704a93e897ed71e644392baeef.zip | |
add deckdebug.sh utility
| -rw-r--r-- | scripts/deckdebug.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/scripts/deckdebug.sh b/scripts/deckdebug.sh new file mode 100644 index 00000000..56f4c5b9 --- /dev/null +++ b/scripts/deckdebug.sh @@ -0,0 +1,44 @@ +#! /usr/bin/env bash +# Usage: deckdebug.sh DECKIP:8081 +# Dependencies: websocat jq curl chromium + +# https://jackson.dev/post/a-portable-nix-shell-shebang/ +if [ -z "$INSIDE_NIX_RANDOMSTRING" ] && command -v nix &> /dev/null; then + # If the user has nix, relaunch in nix shell with dependencies added + INSIDE_NIX_RANDOMSTRING=1 nix shell \ + nixpkgs#websocat \ + nixpkgs#jq \ + nixpkgs#curl \ + --command "$0" "$@" + exit $? +fi + +chromium --remote-debugging-port=9222 & +sleep 2 + +ADDR=$1 + +LOCAL=localhost:9222 +LOCALTARGETS=$(curl -s http://$LOCAL/json/list) +LOCALTARGET=$(jq -r '.[] | select(.title=="New Tab") | .id' <<< "$LOCALTARGETS") +echo startup tab $LOCALTARGET + +TARGET=0 +while :; do + NEWTARGET=$(curl -s http://$ADDR/json/list | jq -r '.[] | select(.title=="SharedJSContext") | .id') + + if [[ $NEWTARGET != "" ]] && [[ $NEWTARGET != $TARGET ]]; then + echo found new tab at $NEWTARGET + TARGET=$NEWTARGET + TARGETURL="devtools://devtools/bundled/inspector.html?remoteFrontend=true&ws=$ADDR/devtools/page/$TARGET" + + LOCALTARGET=$(echo '{"id": 1, "method": "Target.createTarget", "params": {"background": true, "url": "'$TARGETURL'"}} +{"id": 2, "method": "Target.closeTarget", "params": {"targetId": "'$LOCALTARGET'"}}' \ + | websocat ws://$LOCAL/devtools/page/$LOCALTARGET \ + | jq -r '.result.targetId') + + echo started devtools at $LOCALTARGET + fi + + sleep 5 +done
\ No newline at end of file |
