增加协议屏蔽支持

This commit is contained in:
qaq
2025-08-17 22:10:34 +08:00
parent 2a037cc72e
commit 74f7eaeac1
2 changed files with 14 additions and 44 deletions
+14 -43
View File
@@ -66,59 +66,30 @@ jobs:
run: | run: |
upx --best --lzma gost upx --best --lzma gost
- name: Get Release - name: Create or Update Release
if: steps.gost-changes.outputs.gost == 'true' if: steps.gost-changes.outputs.gost == 'true'
id: get_release
run: | run: |
# 尝试获取现有的 release # 删除已存在的 release 和 tag
RELEASE_ID=$(gh api repos/${{ github.repository }}/releases/tags/gost-latest --jq .id 2>/dev/null || echo "") gh release delete gost-latest --yes 2>/dev/null || echo "No existing release to delete"
if [ -n "$RELEASE_ID" ]; then
echo "release_id=$RELEASE_ID" >> $GITHUB_OUTPUT # 创建新的 release
echo "existing_release=true" >> $GITHUB_OUTPUT gh release create gost-latest \
else --title "GOST Binary Latest" \
echo "existing_release=false" >> $GITHUB_OUTPUT --notes "GOST binary compiled from commit ${{ github.sha }}
fi
- name: Create Release
if: steps.gost-changes.outputs.gost == 'true' && steps.get_release.outputs.existing_release == 'false'
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: gost-latest
release_name: GOST Binary Latest
body: |
GOST binary compiled from commit ${{ github.sha }}
- Platform: Linux AMD64 - Platform: Linux AMD64
- Compressed with UPX - Compressed with UPX
- Build date: ${{ github.event.head_commit.timestamp }} - Build date: ${{ github.event.head_commit.timestamp }}" \
draft: false --repo ${{ github.repository }}
prerelease: false
- name: Get Release ID for existing release
if: steps.gost-changes.outputs.gost == 'true' && steps.get_release.outputs.existing_release == 'true'
id: get_release_id
run: |
RELEASE_ID=$(gh api repos/${{ github.repository }}/releases/tags/gost-latest --jq .id)
echo "release_id=$RELEASE_ID" >> $GITHUB_OUTPUT
- name: Upload GOST binary to Release - name: Upload GOST binary to Release
if: steps.gost-changes.outputs.gost == 'true' if: steps.gost-changes.outputs.gost == 'true'
run: | run: |
# 确定 release ID
if [ "${{ steps.get_release.outputs.existing_release }}" == "true" ]; then
RELEASE_ID="${{ steps.get_release_id.outputs.release_id }}"
else
RELEASE_ID="${{ steps.create_release.outputs.id }}"
fi
# 删除已存在的 asset(如果有) # 删除已存在的 asset(如果有)
gh api repos/${{ github.repository }}/releases/$RELEASE_ID/assets --jq '.[] | select(.name=="gost") | .id' | xargs -I {} gh api repos/${{ github.repository }}/releases/assets/{} -X DELETE 2>/dev/null || echo "No existing asset to delete" gh api repos/${{ github.repository }}/releases/tags/gost-latest/assets --jq '.[] | select(.name=="gost") | .id' | xargs -I {} gh api repos/${{ github.repository }}/releases/assets/{} -X DELETE 2>/dev/null || echo "No existing asset to delete"
# 上传新的 asset # 上传新的 asset
gh api repos/${{ github.repository }}/releases/$RELEASE_ID/assets \ gh api repos/${{ github.repository }}/releases/tags/gost-latest/assets \
-F name=gost \ -F name=gost \
-F "data=@./go-gost/gost" \ -F "data=@./go-gost/gost" \
-H "Content-Type: application/octet-stream" -H "Content-Type: application/octet-stream"
-1
View File
@@ -147,5 +147,4 @@ func main() {
} }
// GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o gost // GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o gost
//
// upx --best --lzma gost // upx --best --lzma gost