Update: tailscale&ttyd configure
This commit is contained in:
91
cattools.sh
91
cattools.sh
@@ -735,6 +735,94 @@ sysupgrade(){
|
||||
fi
|
||||
}
|
||||
|
||||
# Enhancement MENU
|
||||
enhancement_menu() {
|
||||
clear
|
||||
echo "1. Tailscale 一键配置"
|
||||
echo "2. Ttyd 配置"
|
||||
echo "3. 返回主菜单"
|
||||
echo
|
||||
read -p "请选择一个选项: " choice
|
||||
case $choice in
|
||||
1) configure_tailscale ;;
|
||||
2) configure_ttyd ;;
|
||||
3) menu ;;
|
||||
*) echo "无效选项,请重试。" && enhance_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
configure_tailscale(){
|
||||
if ! grep -q "catwrt" /etc/opkg/distfeeds.conf && ! ip a | grep -q "192.168.1."; then
|
||||
echo "请先配置软件源。"
|
||||
echo "返回主菜单。"
|
||||
menu
|
||||
return
|
||||
fi
|
||||
|
||||
if ! opkg list_installed | grep -q "tailscale" || ! opkg list_installed | grep -q "tailscaled"; then
|
||||
echo "请先安装 tailscale 和 tailscaled 软件包。"
|
||||
echo "返回主菜单。"
|
||||
menu
|
||||
return
|
||||
fi
|
||||
|
||||
subnet=$(ip -o -f inet addr show | awk '/scope global/ {print $4}' | head -n 1)
|
||||
if [ -z "$subnet" ]; then
|
||||
echo "无法获取当前子网。"
|
||||
echo "返回主菜单。"
|
||||
menu
|
||||
return
|
||||
fi
|
||||
|
||||
tailscale up --advertise-routes=$subnet --accept-routes --advertise-exit-node
|
||||
|
||||
firewall_file="/etc/firewall.user"
|
||||
rules=("iptables -I FORWARD -i tailscale0 -j ACCEPT"
|
||||
"iptables -I FORWARD -o tailscale0 -j ACCEPT"
|
||||
"iptables -t nat -I POSTROUTING -o tailscale0 -j MASQUERADE")
|
||||
|
||||
for rule in "${rules[@]}"; do
|
||||
if ! grep -q "^$rule$" $firewall_file; then
|
||||
echo $rule >> $firewall_file
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "请在浏览器中访问 http://<IP>/cgi-bin/luci/admin/network/iface_add"
|
||||
echo "新增以下配置:"
|
||||
echo ""
|
||||
echo "新接口的名称: tailscale"
|
||||
echo "新接口的协议: 静态 (默认)"
|
||||
echo "包括以下接口: 以太网适配器: \"tailscale0\" (tailscale)"
|
||||
echo "IPv4 地址: 输入 tailscale 中的 CatWrt 地址"
|
||||
echo "IPv4 子网掩码: 255.0.0.0"
|
||||
echo "创建/分配防火墙区域: LAN"
|
||||
echo "保存并应用"
|
||||
|
||||
echo "Tailscale 配置部分,剩下的交给你了~"
|
||||
menu
|
||||
}
|
||||
|
||||
# TTYD
|
||||
configure_ttyd(){
|
||||
ttyd_file="/etc/config/ttyd"
|
||||
original_command="option command '/bin/login'"
|
||||
modified_command="option command '/bin/login -f root'"
|
||||
|
||||
if grep -q "$modified_command" $ttyd_file; then
|
||||
sed -i "s|$modified_command|$original_command|" $ttyd_file
|
||||
echo "Ttyd 配置已还原为默认。"
|
||||
else
|
||||
sed -i "s|$original_command|$modified_command|" $ttyd_file
|
||||
echo "Ttyd 配置已修改为 root 登录。"
|
||||
fi
|
||||
|
||||
/etc/init.d/ttyd restart
|
||||
echo "TTYD 服务已重新启动。"
|
||||
menu
|
||||
}
|
||||
|
||||
|
||||
while true; do
|
||||
menu
|
||||
read choice
|
||||
@@ -760,6 +848,9 @@ while true; do
|
||||
7)
|
||||
sysupgrade
|
||||
;;
|
||||
8)
|
||||
enhancement_menu
|
||||
;;
|
||||
0)
|
||||
echo "Exiting..."
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user