init.sh 946 B

1234567891011121314151617181920212223242526272829
  1. #!/bin/bash
  2. # 生成随机 PSK 密码(32 个字符)
  3. RANDOM_PSK=$(openssl rand -base64 24 | tr -d "=+/" | cut -c1-32)
  4. # 生成随机端口(10000-65535 范围)
  5. RANDOM_PORT=$((RANDOM % 55536 + 10000))
  6. # 更新 snell-server.conf 中的 psk
  7. if [[ "$OSTYPE" == "darwin"* ]]; then
  8. # macOS 使用 sed -i '' 格式
  9. sed -i '' "s/psk = .*/psk = ${RANDOM_PSK}/" snell-server.conf
  10. else
  11. # Linux 使用 sed -i 格式
  12. sed -i "s/psk = .*/psk = ${RANDOM_PSK}/" snell-server.conf
  13. fi
  14. # 更新 docker-compose.yml 中的端口映射
  15. if [[ "$OSTYPE" == "darwin"* ]]; then
  16. # macOS 使用 sed -i '' 格式
  17. sed -i '' "s/- \"25011:25011\"/- \"${RANDOM_PORT}:25011\"/" docker-compose.yml
  18. else
  19. # Linux 使用 sed -i 格式
  20. sed -i "s/- \"25011:25011\"/- \"${RANDOM_PORT}:25011\"/" docker-compose.yml
  21. fi
  22. echo "✓ 已生成随机 PSK: ${RANDOM_PSK}"
  23. echo "✓ 已生成随机端口: ${RANDOM_PORT}"
  24. echo "✓ 配置文件已更新"