mirror of
https://github.com/elseif/MikroTikPatch.git
synced 2026-09-07 10:34:36 +00:00
Compare commits
6 Commits
7.18.2
...
7.19.1-arm
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50a2f3f03b | ||
|
|
317904dfbf | ||
|
|
6e0c8a52bd | ||
|
|
2fe1832095 | ||
|
|
7a15204f3a | ||
|
|
6e0c64cd73 |
54
.github/workflows/mikrotik_patch_6.yml
vendored
54
.github/workflows/mikrotik_patch_6.yml
vendored
@@ -119,7 +119,33 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo "has_patched_npk=$has_patched_npk" >> $GITHUB_OUTPUT
|
echo "has_patched_npk=$has_patched_npk" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Cache Squashfs
|
||||||
|
if: steps.get_latest.outputs.has_new_version == 'true'
|
||||||
|
id: cache-squashfs
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
option.sfs
|
||||||
|
key: busybox-squashfs
|
||||||
|
|
||||||
|
- name: Create Squashfs for option
|
||||||
|
if: steps.get_latest.outputs.has_new_version == 'true' && steps.cache-squashfs.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
sudo mkdir -p ./option-root/bin/
|
||||||
|
sudo cp busybox/busybox_x86 ./option-root/bin/busybox
|
||||||
|
sudo chmod +x ./option-root/bin/busybox
|
||||||
|
sudo cp keygen/keygen_x86 ./option-root/bin/keygen
|
||||||
|
sudo chmod +x ./option-root/bin/keygen
|
||||||
|
|
||||||
|
sudo chmod +x ./busybox/busybox_x86
|
||||||
|
COMMANDS=$(./busybox/busybox_x86 --list)
|
||||||
|
for cmd in $COMMANDS; do
|
||||||
|
sudo ln -sf /pckg/option/bin/busybox ./option-root/bin/$cmd
|
||||||
|
done
|
||||||
|
sudo mksquashfs option-root option.sfs -quiet -comp xz -no-xattrs -b 256k
|
||||||
|
sudo rm -rf option-root
|
||||||
|
|
||||||
- name: Cache mikrotik-${{ env.LATEST_VERSION }}.iso
|
- name: Cache mikrotik-${{ env.LATEST_VERSION }}.iso
|
||||||
if: steps.get_latest.outputs.has_new_version == 'true'
|
if: steps.get_latest.outputs.has_new_version == 'true'
|
||||||
id: cache-mikrotik
|
id: cache-mikrotik
|
||||||
@@ -158,6 +184,8 @@ jobs:
|
|||||||
sudo -E python3 npk.py sign $file $file
|
sudo -E python3 npk.py sign $file $file
|
||||||
done
|
done
|
||||||
sudo cp system-$LATEST_VERSION.npk ./new_iso/
|
sudo cp system-$LATEST_VERSION.npk ./new_iso/
|
||||||
|
sudo -E python3 npk.py create ./new_iso/gps-$LATEST_VERSION.npk ./option-$LATEST_VERSION.npk option ./option.sfs -desc="busybox"
|
||||||
|
sudo cp option-$LATEST_VERSION.npk ./new_iso/
|
||||||
sudo mkisofs -o mikrotik-$LATEST_VERSION.iso \
|
sudo mkisofs -o mikrotik-$LATEST_VERSION.iso \
|
||||||
-V "MikroTik $LATEST_VERSION" \
|
-V "MikroTik $LATEST_VERSION" \
|
||||||
-sysid "" -preparer "MiKroTiK" \
|
-sysid "" -preparer "MiKroTiK" \
|
||||||
@@ -241,6 +269,8 @@ jobs:
|
|||||||
sudo cp -f routeros-x86-$LATEST_VERSION.npk ./chr/var/pdb/routeros-x86/image
|
sudo cp -f routeros-x86-$LATEST_VERSION.npk ./chr/var/pdb/routeros-x86/image
|
||||||
sudo cp routeros-x86-$LATEST_VERSION.npk ./all_packages/routeros-x86-$LATEST_VERSION.npk
|
sudo cp routeros-x86-$LATEST_VERSION.npk ./all_packages/routeros-x86-$LATEST_VERSION.npk
|
||||||
fi
|
fi
|
||||||
|
sudo mkdir -p ./chr/var/pdb/option
|
||||||
|
sudo cp ./all_packages/option-$LATEST_VERSION.npk ./chr/var/pdb/option/image
|
||||||
sudo umount ./chr
|
sudo umount ./chr
|
||||||
sudo qemu-nbd -d /dev/nbd0
|
sudo qemu-nbd -d /dev/nbd0
|
||||||
sudo rm -rf ./chr
|
sudo rm -rf ./chr
|
||||||
@@ -257,12 +287,12 @@ jobs:
|
|||||||
sudo zip chr-$LATEST_VERSION.vdi.zip chr-$LATEST_VERSION.vdi
|
sudo zip chr-$LATEST_VERSION.vdi.zip chr-$LATEST_VERSION.vdi
|
||||||
sudo zip chr-$LATEST_VERSION.img.zip chr-$LATEST_VERSION.img
|
sudo zip chr-$LATEST_VERSION.img.zip chr-$LATEST_VERSION.img
|
||||||
|
|
||||||
sudo rm chr-$LATEST_VERSION$ARCH.qcow2
|
sudo rm chr-$LATEST_VERSION.qcow2
|
||||||
sudo rm chr-$LATEST_VERSION$ARCH.vmdk
|
sudo rm chr-$LATEST_VERSION.vmdk
|
||||||
sudo rm chr-$LATEST_VERSION$ARCH.vhd
|
sudo rm chr-$LATEST_VERSION.vhd
|
||||||
sudo rm chr-$LATEST_VERSION$ARCH.vhdx
|
sudo rm chr-$LATEST_VERSION.vhdx
|
||||||
sudo rm chr-$LATEST_VERSION$ARCH.vdi
|
sudo rm chr-$LATEST_VERSION.vdi
|
||||||
sudo rm chr-$LATEST_VERSION$ARCH.img
|
sudo rm chr-$LATEST_VERSION.img
|
||||||
|
|
||||||
cd ./all_packages
|
cd ./all_packages
|
||||||
sudo zip ../all_packages-x86-$LATEST_VERSION.zip *.npk
|
sudo zip ../all_packages-x86-$LATEST_VERSION.zip *.npk
|
||||||
@@ -286,7 +316,7 @@ jobs:
|
|||||||
mirror --reverse --verbose --only-newer ./publish ${{ secrets.SSH_DIRECTORY }}
|
mirror --reverse --verbose --only-newer ./publish ${{ secrets.SSH_DIRECTORY }}
|
||||||
bye
|
bye
|
||||||
EOF
|
EOF
|
||||||
sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_SERVER }} "chown -R 32768:32768 /rw/disk/${{ secrets.SSH_DIRECTORY }}/"
|
sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_SERVER }} "echo $LATEST_VERSION $BUILD_TIME | tee /rw/disk/${{ secrets.SSH_DIRECTORY }}/NEWEST6.${{ matrix.channel }}; chown -R 32768:32768 /rw/disk/${{ secrets.SSH_DIRECTORY }}/"
|
||||||
|
|
||||||
- name: Clear Cloudflare cache
|
- name: Clear Cloudflare cache
|
||||||
if: steps.get_latest.outputs.has_new_version == 'true'
|
if: steps.get_latest.outputs.has_new_version == 'true'
|
||||||
@@ -300,14 +330,14 @@ jobs:
|
|||||||
if: steps.get_latest.outputs.has_new_version == 'true' && steps.get_latest.outputs.has_patched_npk == 'true'
|
if: steps.get_latest.outputs.has_new_version == 'true' && steps.get_latest.outputs.has_patched_npk == 'true'
|
||||||
run: |
|
run: |
|
||||||
HEADER="Authorization: token ${{ secrets.GITHUB_TOKEN }}"
|
HEADER="Authorization: token ${{ secrets.GITHUB_TOKEN }}"
|
||||||
RELEASE_INFO=$(curl -s -H $HEADER https://api.github.com/repos/${{ github.repository }}/releases/tags/$LATEST_VERSION$ARCH)
|
RELEASE_INFO=$(curl -s -H $HEADER https://api.github.com/repos/${{ github.repository }}/releases/tags/$LATEST_VERSION)
|
||||||
RELEASE_ID=$(echo $RELEASE_INFO | jq -r '.id')
|
RELEASE_ID=$(echo $RELEASE_INFO | jq -r '.id')
|
||||||
echo "Release ID: $RELEASE_ID"
|
echo "Release ID: $RELEASE_ID"
|
||||||
if [ "$RELEASE_ID" != "null" ]; then
|
if [ "$RELEASE_ID" != "null" ]; then
|
||||||
curl -X DELETE -H "$HEADER" https://api.github.com/repos/${{ github.repository }}/git/refs/tags/$LATEST_VERSION$ARCH
|
curl -X DELETE -H "$HEADER" https://api.github.com/repos/${{ github.repository }}/git/refs/tags/$LATEST_VERSION
|
||||||
echo "Tag $LATEST_VERSION$ARCH deleted successfully."
|
echo "Tag $LATEST_VERSION deleted successfully."
|
||||||
curl -X DELETE -H "$HEADER" https://api.github.com/repos/${{ github.repository }}/releases/$RELEASE_ID
|
curl -X DELETE -H "$HEADER" https://api.github.com/repos/${{ github.repository }}/releases/$RELEASE_ID
|
||||||
echo "Release with tag $LATEST_VERSION$ARCH deleted successfully."
|
echo "Release with tag $LATEST_VERSION deleted successfully."
|
||||||
else
|
else
|
||||||
echo "Release not found for tag: $LATEST_VERSION)"
|
echo "Release not found for tag: $LATEST_VERSION)"
|
||||||
fi
|
fi
|
||||||
|
|||||||
2
.github/workflows/mikrotik_patch_7.yml
vendored
2
.github/workflows/mikrotik_patch_7.yml
vendored
@@ -550,8 +550,8 @@ jobs:
|
|||||||
OUTDIR="$latest_version-UNDONE"
|
OUTDIR="$latest_version-UNDONE"
|
||||||
else
|
else
|
||||||
OUTDIR="$latest_version"
|
OUTDIR="$latest_version"
|
||||||
|
sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_SERVER }} "echo $latest_version $build_time | tee /rw/disk/${{ secrets.SSH_DIRECTORY }}/NEWESTa7.$channel; /rw/disk/${{ secrets.SSH_DIRECTORY }}/packages.sh /rw/disk/${{ secrets.SSH_DIRECTORY }}/$OUTDIR"
|
||||||
fi
|
fi
|
||||||
sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_SERVER }} "echo $latest_version $build_time | tee /rw/disk/${{ secrets.SSH_DIRECTORY }}/NEWESTa7.$channel; /rw/disk/${{ secrets.SSH_DIRECTORY }}/packages.sh /rw/disk/${{ secrets.SSH_DIRECTORY }}/$OUTDIR"
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_SERVER }} "chown -R 32768:32768 /rw/disk/${{ secrets.SSH_DIRECTORY }}/"
|
sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_SERVER }} "chown -R 32768:32768 /rw/disk/${{ secrets.SSH_DIRECTORY }}/"
|
||||||
|
|||||||
2
patch.py
2
patch.py
@@ -24,6 +24,8 @@ def replace_key(old,new,data,name=''):
|
|||||||
data = replace_chunks(old_chunks, new_chunks, data,name)
|
data = replace_chunks(old_chunks, new_chunks, data,name)
|
||||||
|
|
||||||
if 'ARCH' in os.environ and os.environ['ARCH'] == '-arm64':
|
if 'ARCH' in os.environ and os.environ['ARCH'] == '-arm64':
|
||||||
|
old_chunks = [old[i:i+4] for i in range(0, len(old), 4)]
|
||||||
|
new_chunks = [new[i:i+4] for i in range(0, len(new), 4)]
|
||||||
old_bytes = old_chunks[4] + old_chunks[5] + old_chunks[2] + old_chunks[0] + old_chunks[1] + old_chunks[6] + old_chunks[7]
|
old_bytes = old_chunks[4] + old_chunks[5] + old_chunks[2] + old_chunks[0] + old_chunks[1] + old_chunks[6] + old_chunks[7]
|
||||||
new_bytes = new_chunks[4] + new_chunks[5] + new_chunks[2] + new_chunks[0] + new_chunks[1] + new_chunks[6] + new_chunks[7]
|
new_bytes = new_chunks[4] + new_chunks[5] + new_chunks[2] + new_chunks[0] + new_chunks[1] + new_chunks[6] + new_chunks[7]
|
||||||
if old_bytes in data:
|
if old_bytes in data:
|
||||||
|
|||||||
Reference in New Issue
Block a user