44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
|
|
#!/usr/bin/env bash
|
||
|
|
#
|
||
|
|
# clauded: Wrapper for Claude Code on Termux
|
||
|
|
# Uses termux-chroot for working /tmp in all child processes
|
||
|
|
#
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
TERMUX_TMP="$PREFIX/tmp"
|
||
|
|
|
||
|
|
RED="\033[0;31m"
|
||
|
|
GREEN="\033[0;32m"
|
||
|
|
YELLOW="\033[1;33m"
|
||
|
|
NC="\033[0m"
|
||
|
|
|
||
|
|
# Verify termux-chroot
|
||
|
|
if ! command -v termux-chroot &>/dev/null; then
|
||
|
|
echo -e "${RED}Error: termux-chroot not available${NC}"
|
||
|
|
echo "Install with: pkg install proot"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Verify claude
|
||
|
|
if ! command -v claude &>/dev/null; then
|
||
|
|
echo -e "${RED}Error: claude is not installed${NC}"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Clean orphan Claude temp files (older than 1 day)
|
||
|
|
find "$TERMUX_TMP" -name "claude-*-cwd" -mtime +1 -delete 2>/dev/null || true
|
||
|
|
|
||
|
|
# Check Tailscale connectivity (generic: look for tailscale0 interface)
|
||
|
|
if ! ip link show tailscale0 &>/dev/null 2>&1; then
|
||
|
|
echo -e "${YELLOW}Tailscale not connected${NC} - SSH to remote hosts will fail"
|
||
|
|
echo ""
|
||
|
|
fi
|
||
|
|
|
||
|
|
CLAUDE_VER=$(claude --version 2>/dev/null | grep -oE "[0-9]+\.[0-9]+\.[0-9]+" | head -1)
|
||
|
|
echo -e "${GREEN}Claude Code v$CLAUDE_VER (termux-chroot)${NC}"
|
||
|
|
echo -e " /tmp -> /usr/tmp (FHS)"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
exec termux-chroot claude --dangerously-skip-permissions "$@"
|