Added support for multiple Allnet Lite keys + extras
This commit is contained in:
@ -139,17 +139,26 @@ class AllnetServlet:
|
||||
useragent_header = request.headers.get('User-Agent', "")
|
||||
is_dfi = pragma_header == "DFI"
|
||||
is_lite = useragent_header[5:] == "Windows/Lite"
|
||||
lite_id = useragent_header[:4]
|
||||
data = await request.body()
|
||||
|
||||
if not self.config.allnet.allnet_lite_key and is_lite:
|
||||
self.logger.error("!!!LITE KEY NOT SET!!!")
|
||||
os._exit(1)
|
||||
if not self.config.allnet.allnet_lite_keys and is_lite:
|
||||
self.logger.error("!!!LITE KEYS NOT SET!!!")
|
||||
raise AllnetRequestException()
|
||||
elif is_lite:
|
||||
for gameids, key in self.config.allnet.allnet_lite_keys.items():
|
||||
if gameids == lite_id:
|
||||
litekey = key
|
||||
|
||||
if is_lite and "litekey" not in locals():
|
||||
self.logger.error("!!!UNIQUE LITE KEY NOT FOUND!!!")
|
||||
raise AllnetRequestException()
|
||||
|
||||
try:
|
||||
if is_dfi:
|
||||
req_urlencode = self.from_dfi(data)
|
||||
elif is_lite:
|
||||
req_urlencode = self.dec_lite(self.config.allnet.allnet_lite_key, data[:16], data)
|
||||
req_urlencode = self.dec_lite(litekey, data[:16], data)
|
||||
else:
|
||||
req_urlencode = data
|
||||
|
||||
@ -348,7 +357,7 @@ class AllnetServlet:
|
||||
)
|
||||
elif is_lite:
|
||||
iv = bytes([random.randint(2, 255) for _ in range(16)])
|
||||
return PlainTextResponse(content=self.enc_lite(self.config.allnet.allnet_lite_key, iv, resp_str))
|
||||
return PlainTextResponse(content=self.enc_lite(litekey, iv, resp_str))
|
||||
|
||||
return PlainTextResponse(resp_str)
|
||||
|
||||
@ -358,17 +367,26 @@ class AllnetServlet:
|
||||
useragent_header = request.headers.get('User-Agent', "")
|
||||
is_dfi = pragma_header == "DFI"
|
||||
is_lite = useragent_header[5:] == "Windows/Lite"
|
||||
lite_id = useragent_header[:4]
|
||||
data = await request.body()
|
||||
|
||||
if not self.config.allnet.allnet_lite_key and is_lite:
|
||||
self.logger.error("!!!LITE KEY NOT SET!!!")
|
||||
os._exit(1)
|
||||
if not self.config.allnet.allnet_lite_keys and is_lite:
|
||||
self.logger.error("!!!LITE KEYS NOT SET!!!")
|
||||
raise AllnetRequestException()
|
||||
elif is_lite:
|
||||
for gameids, key in self.config.allnet.allnet_lite_keys.items():
|
||||
if gameids == lite_id:
|
||||
litekey = key
|
||||
|
||||
if is_lite and "litekey" not in locals():
|
||||
self.logger.error("!!!UNIQUE LITE KEY NOT FOUND!!!")
|
||||
raise AllnetRequestException()
|
||||
|
||||
try:
|
||||
if is_dfi:
|
||||
req_urlencode = self.from_dfi(data)
|
||||
elif is_lite:
|
||||
req_urlencode = self.dec_lite(self.config.allnet.allnet_lite_key, data[:16], data)
|
||||
req_urlencode = self.dec_lite(litekey, data[:16], data)
|
||||
else:
|
||||
req_urlencode = data.decode()
|
||||
|
||||
@ -412,7 +430,7 @@ class AllnetServlet:
|
||||
)
|
||||
elif is_lite:
|
||||
iv = bytes([random.randint(2, 255) for _ in range(16)])
|
||||
return PlainTextResponse(content=self.enc_lite(self.config.allnet.allnet_lite_key, iv, resp))
|
||||
return PlainTextResponse(content=self.enc_lite(litekey, iv, resp))
|
||||
return PlainTextResponse(resp)
|
||||
|
||||
else:
|
||||
@ -425,7 +443,7 @@ class AllnetServlet:
|
||||
)
|
||||
elif is_lite:
|
||||
iv = bytes([random.randint(2, 255) for _ in range(16)])
|
||||
return PlainTextResponse(content=self.enc_lite(self.config.allnet.allnet_lite_key, iv, resp))
|
||||
return PlainTextResponse(content=self.enc_lite(litekey, iv, resp))
|
||||
return PlainTextResponse(resp)
|
||||
|
||||
if path.exists(
|
||||
@ -457,7 +475,7 @@ class AllnetServlet:
|
||||
)
|
||||
elif is_lite:
|
||||
iv = bytes([random.randint(2, 255) for _ in range(16)])
|
||||
return PlainTextResponse(content=self.enc_lite(self.config.allnet.allnet_lite_key, iv, res_str))
|
||||
return PlainTextResponse(content=self.enc_lite(litekey, iv, res_str))
|
||||
|
||||
return PlainTextResponse(res_str)
|
||||
|
||||
|
Reference in New Issue
Block a user