Created
July 1, 2025 21:22
-
-
Save idoodler/f050e1366375750bce3f9bacd98430a6 to your computer and use it in GitHub Desktop.
Jetkvm tailscale
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| log="/tmp/ts.log" | |
| echo "$(date): S22tailscale script starting with arg: $1" >> $log | |
| wait_for_tun() { | |
| modprobe tun 2>>$log | |
| for i in $(seq 1 10); do | |
| [ -e /dev/net/tun ] && return 0 | |
| echo "$(date): /dev/net/tun not ready, retrying..." >> $log | |
| sleep 1 | |
| done | |
| echo "$(date): /dev/net/tun still not present after waiting" >> $log | |
| return 1 | |
| } | |
| wait_for_network() { | |
| for i in $(seq 1 10); do | |
| ip route | grep default >/dev/null && return 0 | |
| echo "$(date): no default route yet, retrying..." >> $log | |
| sleep 1 | |
| done | |
| echo "$(date): still no default route after waiting" >> $log | |
| return 1 | |
| } | |
| case "$1" in | |
| start) | |
| wait_for_tun || exit 1 | |
| wait_for_network || exit 1 | |
| echo "$(date): Starting tailscaled..." >> $log | |
| TS_DEBUG_FIREWALL_MODE=nftables /userdata/tailscale/tailscaled \ | |
| -statedir /userdata/tailscale-state >> $log 2>&1 & | |
| ;; | |
| stop) | |
| echo "$(date): Stopping tailscaled..." >> $log | |
| killall tailscaled >> $log 2>&1 | |
| ;; | |
| *) | |
| echo "Usage: $0 {start|stop}" >&2 | |
| exit 1 | |
| ;; | |
| esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment