tumx+ttyd 交互式

好的!下面是一个 “可交互终端共享”版本 的脚本,允许你通过网页远程操作终端,适合你 “我操作别人也可以操作” 的需求场景。

✅ 功能列表:
1. ✅ 网页交互式终端共享(非只读)
2. 🔐 用户名密码保护
3. 🌐 自动检测内网 IP 并生成访问链接
4. 📱 二维码扫码访问

📜 脚本:start_shared_terminal.sh

#!/bin/bash

SESSION_NAME=“shared”
PORT=7681
USERNAME=“admin”
PASSWORD=“1234”

检查依赖

check_command() {
if ! command -v $1 &> /dev/null; then
echo “❌ 未安装 $1,请先安装”
exit 1
fi
}

check_command tmux
check_command ttyd
check_command qrencode

获取本机 IP(排除 127.0.0.1)

IP=$(ifconfig | grep “inet " | grep -v 127 | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲' | head -n 1) …IP” ]]; then
echo “❌ 无法获取本机 IP,请检查网络连接”
exit 1
fi

启动 tmux 会话(后台)

if ! tmux has-session -t SESSIONNAME2>/dev/null;thenecho"✅创建tmux会话′SESSION_NAME 2>/dev/null; then echo "✅ 创建 tmux 会话 'SESSIONNAME2>/dev/null;thenecho"✅创建tmuxSESSION_NAME’"
tmux new-session -d -s SESSIONNAMEelseecho"✅tmux会话′SESSION_NAME else echo "✅ tmux 会话 'SESSIONNAMEelseecho"✅tmuxSESSION_NAME’ 已存在"
fi

显示信息

ENCODED_LINK=“http://USERNAME:{USERNAME}:USERNAME:{PASSWORD}@IP:{IP}:IP:{PORT}”
echo “🔗 可交互访问链接:ENCODEDLINK"echo"📱扫码可交互访问👇"qrencode−tUTF8"ENCODED_LINK" echo "📱 扫码可交互访问 👇" qrencode -t UTF8 "ENCODEDLINK"echo"📱扫码可交互访问👇"qrencodetUTF8"ENCODED_LINK”

启动 ttyd,允许交互(不加 --readonly)

echo “🚀 启动 ttyd,交互模式,端口 $PORT”
ttyd -p $PORT -c USERNAME:{USERNAME}:USERNAME:{PASSWORD} tmux attach-session -t $SESSION_NAME

▶️ 用法:
1. 保存为脚本文件 start_shared_terminal.sh
2. 添加执行权限:

chmod +x start_shared_terminal.sh

3.	运行:

./start_shared_terminal.sh

📦 安装依赖:

如未安装,可以这样装:

macOS:

brew install ttyd tmux qrencode

Ubuntu / Debian:

sudo apt install ttyd tmux qrencode

🧠 建议注意事项:
• 交互模式建议只在可信局域网使用。
• 可以通过修改脚本支持 https 或加防火墙进一步增强安全性。
• 若你关闭窗口后共享中断,可配合 tmux + systemd 或 launchctl 实现后台守护。

需要我再补一个支持公网访问(例如用 frp 或 Cloudflare Tunnel)的版本吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值