modified: .github/workflows/mikrotik_patch.yml
modified: npk.py modified: patch.py
This commit is contained in:
parent
da8031a8bd
commit
d518b90b7c
3
.github/workflows/mikrotik_patch.yml
vendored
3
.github/workflows/mikrotik_patch.yml
vendored
@ -25,6 +25,7 @@ jobs:
|
||||
TZ: 'Asia/Shanghai'
|
||||
LATEST_VERSION_URL: 'https://upgrade.mikrotik.com/routeros/NEWESTa7'
|
||||
LATEST_VERSION: ""
|
||||
BUILD_TIME: $(date +"%s")
|
||||
CUSTOM_LICENSE_PRIVATE_KEY: ${{ secrets.CUSTOM_LICENSE_PRIVATE_KEY }}
|
||||
CUSTOM_LICENSE_PUBLIC_KEY: ${{ secrets.CUSTOM_LICENSE_PUBLIC_KEY }}
|
||||
CUSTOM_NPK_SIGN_PRIVATE_KEY: ${{ secrets.CUSTOM_NPK_SIGN_PRIVATE_KEY }}
|
||||
@ -276,7 +277,7 @@ jobs:
|
||||
mkdir -p ./publish/$LATEST_VERSION
|
||||
cp CHANGELOG.txt ./publish/$LATEST_VERSION/CHANGELOG
|
||||
cp ./new_iso/*.npk ./publish/$LATEST_VERSION/
|
||||
echo $LATEST_VERSION $(date +"%s") > ./publish/NEWESTa7.${{ matrix.channel }}
|
||||
echo $LATEST_VERSION $BUILD_TIME > ./publish/NEWESTa7.${{ matrix.channel }}
|
||||
sudo apt-get install -y lftp > /dev/null 2>&1
|
||||
sudo -E lftp -u ${{ secrets.SSH_USERNAME }},'${{ secrets.SSH_PASSWORD }}' sftp://${{ secrets.SSH_SERVER }}:${{ secrets.SSH_PORT }} <<EOF
|
||||
set sftp:auto-confirm yes
|
||||
|
5
npk.py
5
npk.py
@ -261,9 +261,12 @@ if __name__=='__main__':
|
||||
eddsa_private_key = bytes.fromhex(os.environ['CUSTOM_NPK_SIGN_PRIVATE_KEY'])
|
||||
kcdsa_public_key = bytes.fromhex(os.environ['CUSTOM_LICENSE_PUBLIC_KEY'])
|
||||
eddsa_public_key = bytes.fromhex(os.environ['CUSTOM_NPK_SIGN_PUBLIC_KEY'])
|
||||
build_time = os.environ['BUILD_TIME']
|
||||
if args.command =='sign':
|
||||
print(f'Signing {args.input}')
|
||||
npk = NovaPackage.load(args.input)
|
||||
if build_time:
|
||||
npk[NpkPartID.NAME_INFO].data._build_time = int(build_time)
|
||||
npk.sign(kcdsa_private_key,eddsa_private_key)
|
||||
npk.save(args.output)
|
||||
elif args.command == 'verify':
|
||||
@ -279,6 +282,8 @@ if __name__=='__main__':
|
||||
print(f'Creating {args.output} from {args.input}')
|
||||
option_npk = NovaPackage.load(args.input)
|
||||
option_npk[NpkPartID.NAME_INFO].data.name = args.name
|
||||
if build_time:
|
||||
option_npk[NpkPartID.NAME_INFO].data._build_time = int(build_time)
|
||||
option_npk[NpkPartID.DESCRIPTION].data = args.description.encode() if args.description else args.name.encode()
|
||||
option_npk[NpkPartID.NULL_BLOCK].data = b''
|
||||
option_npk[NpkPartID.SQUASHFS].data = open(args.squashfs,'rb').read()
|
||||
|
4
patch.py
4
patch.py
@ -109,6 +109,10 @@ def patch_npk_file(key_dict,kcdsa_private_key,eddsa_private_key,input_file,outpu
|
||||
run_shell_command(f"rm -rf {extract_dir}")
|
||||
npk[NpkPartID.SQUASHFS].data = open(squashfs_file,'rb').read()
|
||||
run_shell_command(f"rm -f {squashfs_file}")
|
||||
|
||||
build_time = os.environ['BUILD_TIME']
|
||||
if build_time:
|
||||
npk[NpkPartID.NAME_INFO].data._build_time = int(build_time)
|
||||
npk.sign(kcdsa_private_key,eddsa_private_key)
|
||||
npk.save(output_file or input_file)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user