mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:25:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			786 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			786 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env python3
 | 
						|
 | 
						|
import rsa
 | 
						|
import json
 | 
						|
from binascii import hexlify
 | 
						|
 | 
						|
try:
 | 
						|
    input = raw_input
 | 
						|
except NameError:
 | 
						|
    pass
 | 
						|
 | 
						|
versions_info = json.load(open('update/versions.json'))
 | 
						|
if 'signature' in versions_info:
 | 
						|
	del versions_info['signature']
 | 
						|
 | 
						|
print('Enter the PKCS1 private key, followed by a blank line:')
 | 
						|
privkey = b''
 | 
						|
while True:
 | 
						|
	try:
 | 
						|
		line = input()
 | 
						|
	except EOFError:
 | 
						|
		break
 | 
						|
	if line == '':
 | 
						|
		break
 | 
						|
	privkey += line.encode('ascii') + b'\n'
 | 
						|
privkey = rsa.PrivateKey.load_pkcs1(privkey)
 | 
						|
 | 
						|
signature = hexlify(rsa.pkcs1.sign(json.dumps(versions_info, sort_keys=True).encode('utf-8'), privkey, 'SHA-256')).decode()
 | 
						|
print('signature: ' + signature)
 | 
						|
 | 
						|
versions_info['signature'] = signature
 | 
						|
json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True) |