Initial ttyd skill

This commit is contained in:
Azat
2026-02-02 22:14:46 +01:00
commit 373fef6f1b
3 changed files with 133 additions and 0 deletions

35
scripts/autorun.sh Normal file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
set -e
TTYD_VERSION="${TTYD_VERSION:-1.7.7}"
# Idempotent ttyd installation
install_ttyd() {
if command -v ttyd &>/dev/null; then
echo "ttyd already installed: $(ttyd --version)"
return 0
fi
echo "Installing ttyd v${TTYD_VERSION}..."
# Detect architecture
local arch
case "$(uname -m)" in
x86_64) arch="x86_64" ;;
aarch64) arch="aarch64" ;;
armv7l) arch="armhf" ;;
*)
echo "Unsupported architecture: $(uname -m)"
exit 1
;;
esac
# Download prebuilt binary
local url="https://github.com/tsl0922/ttyd/releases/download/${TTYD_VERSION}/ttyd.${arch}"
curl -sSL "$url" -o /usr/local/bin/ttyd
chmod +x /usr/local/bin/ttyd
echo "ttyd installed: $(ttyd --version)"
}
install_ttyd

28
scripts/run.sh Normal file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
set -e
TTYD_PORT="${TTYD_PORT:-7681}"
TTYD_COMMAND="${TTYD_COMMAND:-/bin/bash}"
TTYD_CREDENTIAL="${TTYD_CREDENTIAL:-}"
TTYD_OPTIONS="${TTYD_OPTIONS:-}"
# Build command arguments
args=()
args+=("--port" "$TTYD_PORT")
# Add authentication if set
if [ -n "$TTYD_CREDENTIAL" ]; then
args+=("--credential" "$TTYD_CREDENTIAL")
fi
# Add any extra options
if [ -n "$TTYD_OPTIONS" ]; then
# shellcheck disable=SC2206
args+=($TTYD_OPTIONS)
fi
echo "Starting ttyd on port $TTYD_PORT..."
echo "Command: $TTYD_COMMAND"
[ -n "$TTYD_CREDENTIAL" ] && echo "Authentication: enabled"
exec ttyd "${args[@]}" $TTYD_COMMAND