#!/bin/bash # 生成随机 PSK 密码(32 个字符) RANDOM_PSK=$(openssl rand -base64 24 | tr -d "=+/" | cut -c1-32) # 生成随机端口(10000-65535 范围) RANDOM_PORT=$((RANDOM % 55536 + 10000)) # 更新 snell-server.conf 中的 psk if [[ "$OSTYPE" == "darwin"* ]]; then # macOS 使用 sed -i '' 格式 sed -i '' "s/psk = .*/psk = ${RANDOM_PSK}/" snell-server.conf else # Linux 使用 sed -i 格式 sed -i "s/psk = .*/psk = ${RANDOM_PSK}/" snell-server.conf fi # 更新 docker-compose.yml 中的端口映射 if [[ "$OSTYPE" == "darwin"* ]]; then # macOS 使用 sed -i '' 格式 sed -i '' "s/- \"25011:25011\"/- \"${RANDOM_PORT}:25011\"/" docker-compose.yml else # Linux 使用 sed -i 格式 sed -i "s/- \"25011:25011\"/- \"${RANDOM_PORT}:25011\"/" docker-compose.yml fi echo "✓ 已生成随机 PSK: ${RANDOM_PSK}" echo "✓ 已生成随机端口: ${RANDOM_PORT}" echo "✓ 配置文件已更新"