Files
homelab/generate_hosts.sh

29 lines
893 B
Bash
Executable File

#!/bin/bash
# 你的台式机局域网 IP
TARGET_IP="192.168.4.2"
echo "================ 小米路由器 Hosts 配置 ================"
# 1. 抓取所有运行中容器的详细信息
# 2. 提取出 Traefik 规则里 Host(...) 括号内的内容
# 3. 删掉所有的反引号、单双引号和空格
# 4. 把逗号替换成换行符 (兼容 Host(`a.com`, `b.com`) 这种多域名写法)
# 5. 去重并格式化输出
domains=$(docker inspect $(docker ps -q) 2>/dev/null \
| grep -oP 'Host\(\K[^)]+' \
| tr -d '\`"'\''\ ' \
| tr ',' '\n' \
| sort -u)
if [ -z "$domains" ]; then
echo "未在当前运行的容器中发现任何 Traefik Host 规则。"
else
for domain in $domains; do
echo "$TARGET_IP $domain"
done
fi
echo "======================================================="
echo "请将以上内容直接复制,并粘贴到米家 App 中。"