|
|
@@ -0,0 +1,29 @@
|
|
|
+#!/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 "✓ 配置文件已更新"
|