Skip to content

Update Ngrok URL

Update Ngrok URL #90

Workflow file for this run

name: Update Ngrok URL
on:
workflow_dispatch: # 手动触发
schedule:
- cron: '0 * * * *' # 每小时运行一次
jobs:
update-url:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
token: ${{ secrets.PAT_TOKEN }}
- name: Get Ngrok URL
run: |
# 读取之前保存的 public_url
PREVIOUS_URL=$(cat README.md | grep "Current Ngrok Public URL" | cut -d ":" -f 2)
# 使用 curl 获取 ngrok URL,并将结果保存到临时文件
curl -X GET \
-H "Authorization: Bearer ${{secrets.NGROK_TOKEN}}" \
-H "Ngrok-Version: 2" \
https://api.ngrok.com/endpoints > ngrok_info.json
# 提取 public_url 并保存到环境变量
PUBLIC_URL=$(cat ngrok_info.json | jq -r '.endpoints[0].public_url')
# 比较当前的 public_url 和之前保存的 public_url 是否相同
if [ "$PUBLIC_URL" != "$PREVIOUS_URL" ]; then
# 将 public_url 写入 README.md
echo "Current Ngrok Public URL: $PUBLIC_URL" > temp_readme.md
# 替换 README.md
mv temp_readme.md README.md
echo "FLAG=true" >> $GITHUB_OUTPUT
else
echo "Ngrok Public URL has not changed. Exiting..."
echo "FLAG=false" >> $GITHUB_OUTPUT
fi
- name: Commit changes
if: ${{ steps.update-url.outputs.FLAG == true }}
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add .
git commit -m "Update Ngrok Public URL"
git push https://${{secrets.PAT_TOKEN}}@github.com/ayachensiyuan/getNgrokUrl.git HEAD:main