| 12345678910111213141516171819202122232425262728293031323334353637 |
- #!/bin/bash
- # 生成随机 PSK 密码(32 个字符)
- RANDOM_PSK=$(openssl rand -base64 24 | tr -d "=+/" | cut -c1-32)
- # 生成随机端口(10000-65535 范围)
- RANDOM_PORT=$((RANDOM % 55536 + 10000))
- # 生成随机 PASSWORD 密码(32 个字符)
- RANDOM_PASSWORD=$(openssl rand -base64 24 | tr -d "=+/" | cut -c1-32)
- # 更新 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
- # 更新 PASSWORD
- sed -i '' "s/- PASSWORD=changeme/- PASSWORD=${RANDOM_PASSWORD}/" docker-compose.yml
- else
- # Linux 使用 sed -i 格式
- sed -i "s/- \"25011:25011\"/- \"${RANDOM_PORT}:25011\"/" docker-compose.yml
- # 更新 PASSWORD
- sed -i "s/- PASSWORD=changeme/- PASSWORD=${RANDOM_PASSWORD}/" docker-compose.yml
- fi
- echo "✓ 已生成随机 PSK: ${RANDOM_PSK}"
- echo "✓ 已生成随机端口: ${RANDOM_PORT}"
- echo "✓ 已生成随机 PASSWORD: ${RANDOM_PASSWORD}"
- echo "✓ 配置文件已更新"
|