commit 562c89064d5af7fa0b98cd9cde2ccf5132df3c07 Author: lif Date: Tue Apr 21 08:50:25 2026 +0100 initial diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ba70c83 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +start: + sh scripts/waydroid-run.sh 9:20 900 +network-up: + sudo ip link set waydroid0 up +network-down: + sudo ip link set waydroid0 down +network-block: + sudo iptables -I FORWARD -i waydroid0 -j DROP + sudo iptables -I FORWARD -o waydroid0 -j DROP +network-unblock: + sudo iptables -D FORWARD -i waydroid0 -j DROP + sudo iptables -D FORWARD -o waydroid0 -j DROP diff --git a/scripts/waydroid-run.sh b/scripts/waydroid-run.sh new file mode 100644 index 0000000..8634c79 --- /dev/null +++ b/scripts/waydroid-run.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +# Usage: ./calc_resolution.sh +# Example: ./calc_resolution.sh 16:9 1080 + +if [ $# -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +ASPECT="$1" +HEIGHT="$2" + +# Extract numerator (W) and denominator (H) from the aspect ratio +IFS=':' read -r W_RATIO H_RATIO <<< "$ASPECT" + +# Validate numeric input +if ! [[ "$W_RATIO" =~ ^[0-9]+$ && "$H_RATIO" =~ ^[0-9]+$ && "$HEIGHT" =~ ^[0-9]+$ ]]; then + echo "Error: aspect ratio and height must be numeric." + exit 1 +fi + +# Calculate width = (W_RATIO / H_RATIO) * HEIGHT +WIDTH=$(awk -v wr="$W_RATIO" -v hr="$H_RATIO" -v h="$HEIGHT" 'BEGIN { printf "%d", (wr/hr)*h }') + +echo "Resolution: ${WIDTH}x${HEIGHT}" + +waydroid session start & +WAYDROID_PID=$! + +# Wait for session to be ready +while ! waydroid status | grep -E "^Session:.*RUNNING"; do + echo "Waiting for waydroid" + sleep 1 +done +echo "Sleeping 4 seconds for waydroid session to start" +sleep 4 +# waydroid session start --background +echo "Setting waydroid width to $WIDTH" +waydroid -w prop set persist.waydroid.width $WIDTH +echo "Setting waydroid height to $HEIGHT" +waydroid prop set persist.waydroid.height $HEIGHT +waydroid session stop + +# Forward container → host → internet +sudo iptables -C FORWARD -i waydroid0 -j ACCEPT 2>/dev/null || \ + sudo iptables -A FORWARD -i waydroid0 -j ACCEPT + +# Forward responses from internet → host → container +sudo iptables -C FORWARD -o waydroid0 -m state --state RELATED,ESTABLISHED -j ACCEPT 2>/dev/null || \ + sudo iptables -A FORWARD -o waydroid0 -m state --state RELATED,ESTABLISHED -j ACCEPT + +# sudo waydroid container start +waydroid session start & +sleep 2 +waydroid show-full-ui & +sleep 16