#!/bin/bash

set -e

# 检查是否以 root 权限运行
if [ "$(id -u)" -ne 0 ]; then
    echo "This script must be run as root. Please use sudo or run as root."
    exit 1
fi

# 输入容器名称
read -p "请输入容器名称: " name

# 选择配置单个端口还是多个端口
echo "请选择要配置的端口数量:"
echo "1) 配置单个端口"
echo "2) 配置多个端口"
read -p "请输入选择 (1 或 2): " choice

# 配置单个端口
if [ "$choice" -eq 1 ]; then
    read -p "请输入要监听的端口号: " port
    echo "配置单个端口代理:listen=tcp:0.0.0.0:$port connect=tcp:127.0.0.1:$port"
    incus config device add "$name" nattcp-ports proxy listen=tcp:0.0.0.0:$port connect=tcp:127.0.0.1:$port
    echo "已为容器 '$name' 配置了端口 $port 代理。"

# 配置多个端口
elif [ "$choice" -eq 2 ]; then
    # 输入多个端口
    echo "请输入要监听的多个端口(多个端口用空格分隔):"
    read -p "例如:50000 50001 50002: " ports
    for port in $ports; do
        echo "配置端口代理:listen=tcp:0.0.0.0:$port connect=tcp:127.0.0.1:$port"
        incus config device add "$name" nattcp-ports proxy listen=tcp:0.0.0.0:$port connect=tcp:127.0.0.1:$port
    done
    echo "已为容器 '$name' 配置了端口: $ports 代理。"

else
    echo "无效选择,请选择 1 或 2。"
    exit 1
fi

echo "操作完成。"