Get Unity File IP #240
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Get Unity File IP | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '00 23 * * *' | |
| permissions: | |
| contents: write | |
| jobs: | |
| resolve-ip: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 安装依赖工具 | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y curl dnsutils jq | |
| - name: 解析域名 IP | |
| id: domain-ip | |
| run: | | |
| # 解析 download.unity3d.com 的 IP | |
| DOMAIN_IPS=$(dig +short download.unity3d.com | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$') | |
| echo "domain_ips=${DOMAIN_IPS//$'\n'/,}" >> $GITHUB_OUTPUT | |
| - name: 获取最终下载地址的 IP | |
| id: final-ip | |
| run: | | |
| # 获取文件 URL 的实际服务器 IP(追踪重定向) | |
| FINAL_URL=$(curl -sIL -o /dev/null -w '%{url_effective}' https://download.unity3d.com/download_unity/82314a941f2d/Windows64EditorInstaller/UnitySetup64-6000.0.38f1.exe) | |
| FINAL_DOMAIN=$(echo "$FINAL_URL" | awk -F/ '{print $3}') | |
| FINAL_IP=$(dig +short "$FINAL_DOMAIN" | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' | head -1) | |
| echo "final_ip=$FINAL_IP" >> $GITHUB_OUTPUT | |
| - name: 输出结果 | |
| run: | | |
| echo "download.unity3d.com 的 IP 地址: ${{ steps.domain-ip.outputs.domain_ips }}" | |
| echo "文件最终下载地址的 IP: ${{ steps.final-ip.outputs.final_ip }}" | |
| echo "需要设置Host: download.unity3d.com" | |
| - name: 创建IP列表JSON文件 | |
| run: | | |
| # 将逗号分隔的IP转换为JSON数组 | |
| DOMAIN_IPS_JSON=$(echo "${{ steps.domain-ip.outputs.domain_ips }}" | tr ',' '\n' | jq -R . | jq -s .) | |
| # 将最终IP包装为单元素数组 | |
| FINAL_IP_JSON=$(echo "${{ steps.final-ip.outputs.final_ip }}" | jq -R . | jq -s .) | |
| # 合并为JSON对象并保存 | |
| echo "{ | |
| \"domain_ips\": $DOMAIN_IPS_JSON, | |
| \"final_ip\": $FINAL_IP_JSON | |
| }" | jq . > UnityCdnIPs.json | |
| # 显示生成的文件内容 | |
| cat UnityCdnIPs.json | |
| - name: 发布Unity CDN IP | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| UnityCdnIPs.json | |
| tag_name: ips |