forked from xiaohei/taiji-AI-PAD
41 lines
1.3 KiB
Bash
Executable File
41 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# PayPal Webhook HTTPS 代理启动脚本
|
|
# 用于测试环境,将 HTTPS 请求转发到本地 HTTP 服务
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
CERT_DIR="$SCRIPT_DIR/ssl_certs"
|
|
HTTPS_PORT=8989
|
|
HTTP_TARGET="http://localhost:8000"
|
|
|
|
# 创建证书目录
|
|
mkdir -p "$CERT_DIR"
|
|
|
|
# 生成自签名证书(如果不存在)
|
|
if [ ! -f "$CERT_DIR/cert.pem" ] || [ ! -f "$CERT_DIR/key.pem" ]; then
|
|
echo "生成自签名 SSL 证书..."
|
|
openssl req -x509 -newkey rsa:4096 -keyout "$CERT_DIR/key.pem" -out "$CERT_DIR/cert.pem" \
|
|
-days 365 -nodes -subj "/CN=localhost" 2>/dev/null
|
|
echo "证书已生成: $CERT_DIR/"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo "PayPal Webhook HTTPS 代理"
|
|
echo "=========================================="
|
|
echo "HTTPS 端口: $HTTPS_PORT"
|
|
echo "转发目标: $HTTP_TARGET"
|
|
echo ""
|
|
echo "PayPal Webhook URL 配置为:"
|
|
echo " https://your-public-ip:$HTTPS_PORT/whitelist/payment/callback/paypal"
|
|
echo ""
|
|
echo "注意: 自签名证书仅用于测试,PayPal Sandbox 可能不接受"
|
|
echo "生产环境请使用有效的 SSL 证书"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# 启动 Python HTTPS 代理
|
|
python3 "$SCRIPT_DIR/https_proxy.py" --port $HTTPS_PORT --target "$HTTP_TARGET" \
|
|
--cert "$CERT_DIR/cert.pem" --key "$CERT_DIR/key.pem"
|