diff --git a/.forgejo/workflows/construct.yaml b/.forgejo/workflows/construct.yaml index f9c3e27..2e14578 100644 --- a/.forgejo/workflows/construct.yaml +++ b/.forgejo/workflows/construct.yaml @@ -13,22 +13,17 @@ jobs: - name: dependencies run: | - apt update - apt install -y \ - imagemagick wget + apt-get update + apt-get install -y openssl - name: setup env run: | - echo $PRIVATE_KEY > private-key.pem - echo $PUBLIC_KEY > public-key.pem + echo $PRIVATE_KEY64 | base64 --decode > private-key.pem env: - PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} - PUBLIC_KEY: ${{ secrets.PUBLIC_KEY }} + PRIVATE_KEY64: ${{ secrets.PRIVATE_KEY64 }} - name: construct pkglists - run: make && rm private-key.pem public-key.pem - env: - AUTH_HOST: ${{ secrets.AUTH_HOST }} + run: make - uses: actions/upload-artifact@v3 with: diff --git a/Makefile b/Makefile index 0d5b694..ddb45bc 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,16 @@ - ENGINE_URL=https://code.idtech.space/fte/fteqw ENGINE_CLBUILD=m-dbg all: list -list: fteqw64 +list: ./start.sh +index: fteqw64 + ./index.sh + fteqw64: if [ ! -d ThirdParty/fteqw ];then mkdir -p ThirdParty; git clone --depth 1 $(ENGINE_URL) ThirdParty/fteqw;else cd ./ThirdParty/fteqw && git pull;fi cd ThirdParty/fteqw/engine && $(MAKE) makelibs ARCH=x86_64 cd ThirdParty/fteqw/engine && $(MAKE) $(ENGINE_CLBUILD) ARCH=x86_64 install -m 0777 ./ThirdParty/fteqw/engine/debug/fteqw ./fteqw64 - -index: - ./index.sh diff --git a/start.sh b/start.sh index 0710462..25695a0 100755 --- a/start.sh +++ b/start.sh @@ -25,7 +25,7 @@ do OUTPUT="$(basename "$PKGLIST")" echo "version 2" > tmplist0 cat "$PKGLIST" >> tmplist0 - SIG=$(./fteqw64 -privkey ./private-key.pem -pubkey ./public-key.pem -certhost $AUTH_HOST -sign2 tmplist0) + SIG=$(openssl dgst -sha512 -sign ./private-key.pem tmplist0 | openssl enc -A -base64) head -n 1 tmplist0 > "$OUTPUT" echo "signature \"$AUTH_HOST\" \"$SIG\"" >> "$OUTPUT" tail -n +2 tmplist0 >> "$OUTPUT"