Skip to content

Instantly share code, notes, and snippets.

@platomav
Created September 6, 2022 22:07
Show Gist options
  • Save platomav/95560ad9f1f75ca81031dad57246e98d to your computer and use it in GitHub Desktop.
Save platomav/95560ad9f1f75ca81031dad57246e98d to your computer and use it in GitHub Desktop.
Lenovo Engine Link Grabber

Lenovo Engine Link Grabber

Description

Given a user list of Intel ME/TXE-related Lenovo update download links, this script automatically checks if any new versions of those updates/packages have been uploaded to Lenovo's download site since last run. This works because Lenovo's versioning is usually consecutive/linear so the new update links can be guessed and retrieved automatically, sometimes even a bit before they appear on the official support page for a given model. For example: 5xme25ww.exe is followed by 5xme26ww.exe, 5xme27ww.exe etc. The script saves all newer (since last run) Intel ME/TXE-related download links into a text file. It ignores false positives, removes duplicate links, sorts them in alphabetical order for easy comparison afterwards and automatically updates the DB with the last found version of a given update/package.

Usage

The DB (i.e. Lenovo_ME_Grab.txt file) consists of all currently known (user-provided) Intel ME/TXE-related Lenovo update download links. Note that the listed version is one version higher than the actual one found in Lenovo's download site, at the time of the last run. For example, if 5ume02ww.exe is listed in the DB, then the actual/current version in Lenovo's download site is 5ume01ww.exe.

Compatibility

Should work at all Windows, Linux or macOS operating systems which have at least Python 3.7 support.

Prerequisites

To run the python script, you do not need any prerequisites.

#!/usr/bin/env python3
#coding=utf-8
"""
Lenovo Engine Links
Lenovo Engine Link Grabber
Copyright (C) 2018-2021 Plato Mavropoulos
*** FOR PRIVATE USE ONLY ***
"""
title = 'Lenovo Engine Link Grabber v1.0'
print('\n' + title)
import sys
sys_ver = sys.version_info
if sys_ver < (3,7) :
sys.stdout.write('\n\nError: Python >= 3.7 required, not %d.%d!\n' % (sys_ver[0], sys_ver[1]))
(raw_input if sys_ver[0] <= 2 else input)('\nPress enter to exit') # pylint: disable=E0602
sys.exit(1)
import traceback
def show_exception_and_exit(exc_type, exc_value, tb) :
if exc_type is KeyboardInterrupt :
print('\nNote: Keyboard Interrupt!')
else :
print('\nError: %s crashed, please report the following:\n' % title)
traceback.print_exception(exc_type, exc_value, tb)
input('\nPress enter to exit')
sys.exit(1)
sys.excepthook = show_exception_and_exit
import string
import itertools
import urllib.request
from datetime import datetime
from multiprocessing.pool import ThreadPool
dat_db = 'Lenovo_ME_Grab.txt'
thread_num = 16
chk_url_num = 20
digit = list(string.digits)
ascii = list(string.ascii_lowercase)
iters = list(itertools.product(digit,digit)) + list(itertools.product(ascii,ascii)) + \
list(itertools.product(ascii,digit)) + list(itertools.product(digit,ascii))
with open(dat_db, 'r', encoding='utf-8') as dat : db_links = dat.readlines()
db_links = [link.strip('\n') for link in db_links]
def check_urls(url) :
global new_db_urls
global new_dl_urls
if url.endswith(('ww_x86.exe','ww_x64.exe','ww_x86.zip','ww_x64.zip','ww_x86.cab','ww_x64.cab')):
url_1, url_2, url_3 = (url[:-12], url[-12:-10], url[-10:])
elif url.endswith(('w_x86.exe','w_x64.exe','w_x86.zip','w_x64.zip','w_x86.cab','w_x64.cab','ww_x86.7z','ww_x64.7z')):
url_1, url_2, url_3 = (url[:-11], url[-11:-9], url[-9:])
elif url.endswith(('w_x86.7z','w_x64.7z')):
url_1, url_2, url_3 = (url[:-10], url[-10:-8], url[-8:])
elif url.endswith(('ww.exe','ww.zip','ww.cab')):
url_1, url_2, url_3 = (url[:-8], url[-8:-6], url[-6:])
elif url.endswith(('w.exe','w.zip','w.cab','ww.7z','ww.7z')):
url_1, url_2, url_3 = (url[:-7], url[-7:-5], url[-5:])
elif url.endswith(('w.7z','w.7z')):
url_1, url_2, url_3 = (url[:-6], url[-6:-4], url[-4:])
else:
url_1, url_2, url_3 = (None, None, None)
if not url_1 :
print('\nError: Failed to determine URL type of %s!\n\nDone!' % url.split('/')[-1])
is_new_dl = False
try :
idx = iters.index((url_2[0], url_2[1]))
chk_max = idx
for i in range(idx, idx + chk_url_num) :
try : url_2 = iters[i][0] + iters[i][1]
except : break
chk_url = url_1 + url_2 + url_3
try :
assert urllib.request.urlopen(chk_url).getcode() == 200
is_new_dl = True
new_dl_urls.append(chk_url)
if i > chk_max : chk_max = i
except :
pass
chk_next = chk_max + 1 if is_new_dl else chk_max
try :
url_2 = iters[chk_next][0] + iters[chk_next][1]
new_db_urls.append(url_1 + url_2 + url_3)
except :
pass
except :
pass
return new_dl_urls, new_db_urls
global new_db_urls
global new_dl_urls
new_db_urls = []
new_dl_urls = []
new_dl_urls,new_db_urls = list(ThreadPool(thread_num).imap_unordered(check_urls, db_links))[-1]
new_dl_urls = sorted(list(dict.fromkeys(new_dl_urls)))
if new_dl_urls :
print('\nFound %d new link(s)!' % len(new_dl_urls))
cur_date = datetime.utcnow().isoformat(timespec='seconds').replace('-','').replace('T','').replace(':','') # Local UTC Unix
with open('Lenovo_ME_%s.txt' % cur_date, 'w', encoding='utf-8') as lout : lout.write('\n'.join(map(str, new_dl_urls)))
else :
print('\nThere are no new links!')
new_db = '\n'.join(map(str, sorted(list(dict.fromkeys(new_db_urls)))))
with open(dat_db, 'w', encoding='utf-8') as dbout : dbout.write(new_db)
input('\nDone!')
https://download.lenovo.com/consumer/mobiles/0gme02ww.exe
https://download.lenovo.com/consumer/mobiles/0nme02ww.exe
https://download.lenovo.com/consumer/mobiles/0vme02ww.exe
https://download.lenovo.com/consumer/mobiles/0xme46ww.exe
https://download.lenovo.com/consumer/mobiles/0zme06ww.exe
https://download.lenovo.com/consumer/mobiles/1kme07ww.exe
https://download.lenovo.com/consumer/mobiles/1nme02ww.exe
https://download.lenovo.com/consumer/mobiles/1tme02ww.exe
https://download.lenovo.com/consumer/mobiles/1yme03ww.exe
https://download.lenovo.com/consumer/mobiles/2tme07ww.exe
https://download.lenovo.com/consumer/mobiles/2wme07ww.exe
https://download.lenovo.com/consumer/mobiles/2xme04ww.exe
https://download.lenovo.com/consumer/mobiles/3jme32ww.exe
https://download.lenovo.com/consumer/mobiles/3nme02ww.exe
https://download.lenovo.com/consumer/mobiles/3rme29ww.exe
https://download.lenovo.com/consumer/mobiles/3sme86ww.exe
https://download.lenovo.com/consumer/mobiles/4gme39ww.exe
https://download.lenovo.com/consumer/mobiles/4kme45ww.exe
https://download.lenovo.com/consumer/mobiles/4lme21ww.exe
https://download.lenovo.com/consumer/mobiles/4mme04ww.exe
https://download.lenovo.com/consumer/mobiles/4qme07ww.exe
https://download.lenovo.com/consumer/mobiles/4tme14ww.exe
https://download.lenovo.com/consumer/mobiles/4vme08ww.exe
https://download.lenovo.com/consumer/mobiles/4wme80ww.exe
https://download.lenovo.com/consumer/mobiles/4xme02ww.exe
https://download.lenovo.com/consumer/mobiles/5gme35ww.exe
https://download.lenovo.com/consumer/mobiles/5jme26ww.exe
https://download.lenovo.com/consumer/mobiles/5kme09ww.exe
https://download.lenovo.com/consumer/mobiles/5lme02ww.exe
https://download.lenovo.com/consumer/mobiles/5nme02ww.exe
https://download.lenovo.com/consumer/mobiles/5sme37ww.exe
https://download.lenovo.com/consumer/mobiles/5ume02ww.exe
https://download.lenovo.com/consumer/mobiles/5xme27ww.exe
https://download.lenovo.com/consumer/mobiles/5zme06ww.exe
https://download.lenovo.com/consumer/mobiles/6jme33ww.exe
https://download.lenovo.com/consumer/mobiles/6lme08ww.exe
https://download.lenovo.com/consumer/mobiles/6mme32ww.exe
https://download.lenovo.com/consumer/mobiles/6nme07ww.exe
https://download.lenovo.com/consumer/mobiles/6pme04ww.exe
https://download.lenovo.com/consumer/mobiles/6rme09ww.exe
https://download.lenovo.com/consumer/mobiles/6sme04ww_x86.exe
https://download.lenovo.com/consumer/mobiles/6sme09ww.exe
https://download.lenovo.com/consumer/mobiles/6tme10ww.exe
https://download.lenovo.com/consumer/mobiles/6ume08ww.exe
https://download.lenovo.com/consumer/mobiles/7kme08ww.exe
https://download.lenovo.com/consumer/mobiles/7lme08ww.exe
https://download.lenovo.com/consumer/mobiles/7pme46ww.exe
https://download.lenovo.com/consumer/mobiles/7qme46ww.exe
https://download.lenovo.com/consumer/mobiles/7rme02ww.exe
https://download.lenovo.com/consumer/mobiles/7sme06ww.exe
https://download.lenovo.com/consumer/mobiles/7tme02ww.exe
https://download.lenovo.com/consumer/mobiles/7zme37ww.exe
https://download.lenovo.com/consumer/mobiles/8hme09ww.exe
https://download.lenovo.com/consumer/mobiles/8jme56ww.exe
https://download.lenovo.com/consumer/mobiles/8kme58ww.exe
https://download.lenovo.com/consumer/mobiles/8lme04ww.exe
https://download.lenovo.com/consumer/mobiles/8qme09ww.exe
https://download.lenovo.com/consumer/mobiles/8rme59ww.exe
https://download.lenovo.com/consumer/mobiles/8tme62ww.exe
https://download.lenovo.com/consumer/mobiles/8vme08ww.exe
https://download.lenovo.com/consumer/mobiles/8xme05ww.exe
https://download.lenovo.com/consumer/mobiles/8yme08ww.exe
https://download.lenovo.com/consumer/mobiles/9mme05ww.exe
https://download.lenovo.com/consumer/mobiles/9nme05ww.exe
https://download.lenovo.com/consumer/mobiles/9pme28ww.exe
https://download.lenovo.com/consumer/mobiles/9rme05ww.exe
https://download.lenovo.com/consumer/mobiles/9vme22ww.exe
https://download.lenovo.com/consumer/mobiles/9yme51ww.exe
https://download.lenovo.com/consumer/mobiles/ahme05ww.exe
https://download.lenovo.com/consumer/mobiles/akme06ww.exe
https://download.lenovo.com/consumer/mobiles/alme05ww.exe
https://download.lenovo.com/consumer/mobiles/apme40ww.exe
https://download.lenovo.com/consumer/mobiles/asme52ww.exe
https://download.lenovo.com/consumer/mobiles/atme46ww.exe
https://download.lenovo.com/consumer/mobiles/aume62ww.exe
https://download.lenovo.com/consumer/mobiles/avme06ww.exe
https://download.lenovo.com/consumer/mobiles/bgme35ww.exe
https://download.lenovo.com/consumer/mobiles/bhme43ww.exe
https://download.lenovo.com/consumer/mobiles/bkme03ww.exe
https://download.lenovo.com/consumer/mobiles/bnme44ww.exe
https://download.lenovo.com/consumer/mobiles/bqme03ww.exe
https://download.lenovo.com/consumer/mobiles/brme03ww.exe
https://download.lenovo.com/consumer/mobiles/bsme04ww.exe
https://download.lenovo.com/consumer/mobiles/btme22ww.exe
https://download.lenovo.com/consumer/mobiles/bvme05ww.exe
https://download.lenovo.com/consumer/mobiles/bwme20ww.exe
https://download.lenovo.com/consumer/mobiles/byme40ww.exe
https://download.lenovo.com/consumer/mobiles/bzme03ww.exe
https://download.lenovo.com/consumer/mobiles/cdme55ww.exe
https://download.lenovo.com/consumer/mobiles/cfme02ww.exe
https://download.lenovo.com/consumer/mobiles/chme05ww.exe
https://download.lenovo.com/consumer/mobiles/cjme05ww.exe
https://download.lenovo.com/consumer/mobiles/ckme06ww.exe
https://download.lenovo.com/consumer/mobiles/clme39ww.exe
https://download.lenovo.com/consumer/mobiles/cnme20ww.exe
https://download.lenovo.com/consumer/mobiles/cqme02ww.exe
https://download.lenovo.com/consumer/mobiles/cqme32ww.exe
https://download.lenovo.com/consumer/mobiles/crme03ww.exe
https://download.lenovo.com/consumer/mobiles/csme18ww.exe
https://download.lenovo.com/consumer/mobiles/cume05ww.exe
https://download.lenovo.com/consumer/mobiles/cvme05ww.exe
https://download.lenovo.com/consumer/mobiles/d3me02ww.exe
https://download.lenovo.com/consumer/mobiles/d8me02ww.exe
https://download.lenovo.com/consumer/mobiles/dbme28ww.exe
https://download.lenovo.com/consumer/mobiles/dcme02ww.exe
https://download.lenovo.com/consumer/mobiles/dhme06ww.exe
https://download.lenovo.com/consumer/mobiles/djme05ww.exe
https://download.lenovo.com/consumer/mobiles/dkme54ww.exe
https://download.lenovo.com/consumer/mobiles/dnme03ww.exe
https://download.lenovo.com/consumer/mobiles/dpme54ww.exe
https://download.lenovo.com/consumer/mobiles/dsme05ww.exe
https://download.lenovo.com/consumer/mobiles/dxme36ww.exe
https://download.lenovo.com/consumer/mobiles/e5me02ww.exe
https://download.lenovo.com/consumer/mobiles/e9me02ww.exe
https://download.lenovo.com/consumer/mobiles/ecme03ww.exe
https://download.lenovo.com/consumer/mobiles/efme52ww.exe
https://download.lenovo.com/consumer/mobiles/egme35ww.exe
https://download.lenovo.com/consumer/mobiles/ehme71ww.exe
https://download.lenovo.com/consumer/mobiles/ejme26ww.exe
https://download.lenovo.com/consumer/mobiles/emme47ww.exe
https://download.lenovo.com/consumer/mobiles/epme03ww.exe
https://download.lenovo.com/consumer/mobiles/erme28ww.exe
https://download.lenovo.com/consumer/mobiles/esme54ww.exe
https://download.lenovo.com/consumer/mobiles/evme02ww.exe
https://download.lenovo.com/consumer/mobiles/f5me54ww.exe
https://download.lenovo.com/consumer/mobiles/f6me21ww.exe
https://download.lenovo.com/consumer/mobiles/f7me37ww.exe
https://download.lenovo.com/consumer/mobiles/f8me04ww.exe
https://download.lenovo.com/consumer/mobiles/f9me05ww.exe
https://download.lenovo.com/consumer/mobiles/fbme06ww.exe
https://download.lenovo.com/consumer/mobiles/fdme37ww.exe
https://download.lenovo.com/consumer/mobiles/fhme65ww.exe
https://download.lenovo.com/consumer/mobiles/fjme63ww.exe
https://download.lenovo.com/consumer/mobiles/fkme05ww.exe
https://download.lenovo.com/consumer/mobiles/fnme04ww.exe
https://download.lenovo.com/consumer/mobiles/fxme15ww.exe
https://download.lenovo.com/consumer/mobiles/fzme21ww.exe
https://download.lenovo.com/consumer/mobiles/g2me03ww.exe
https://download.lenovo.com/consumer/mobiles/gcme27ww.exe
https://download.lenovo.com/consumer/mobiles/gdme03ww.exe
https://download.lenovo.com/consumer/mobiles/gfme24ww.exe
https://download.lenovo.com/consumer/mobiles/ggme34ww.exe
https://download.lenovo.com/consumer/mobiles/gpme24ww.exe
https://download.lenovo.com/consumer/mobiles/grme21ww.exe
https://download.lenovo.com/consumer/mobiles/h1me47ww.exe
https://download.lenovo.com/consumer/mobiles/hjme28ww.exe
https://download.lenovo.com/consumer/mobiles/hyme35ww.exe
https://download.lenovo.com/consumer/mobiles/j1me30ww.exe
https://download.lenovo.com/consumer/mobiles/j2me38ww.exe
https://download.lenovo.com/consumer/mobiles/jbme20ww.exe
https://download.lenovo.com/consumer/mobiles/k3cn18ww.exe
https://download.lenovo.com/consumer/mobiles/yogame04ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/6ir656ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/7tr614ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/7ur643ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/7ur6abww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/7ur6ceww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/7ur6e0ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/7vr6c5ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rf47ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/83rg03ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/8gr411ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/g1rf43ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/g1rg25ww.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/r02rg17w.exe
https://download.lenovo.com/pccbbs/mobiles/garg06ww.exe
https://download.lenovo.com/pccbbs/mobiles/girg40ww.exe
https://download.lenovo.com/pccbbs/mobiles/glrg23ww.exe
https://download.lenovo.com/pccbbs/mobiles/gqrg08ww.exe
https://download.lenovo.com/pccbbs/mobiles/h0rg02ww.exe
https://download.lenovo.com/pccbbs/mobiles/h3rg02ww.exe
https://download.lenovo.com/pccbbs/mobiles/h4mg03ww.exe
https://download.lenovo.com/pccbbs/mobiles/h6rg02w.exe
https://download.lenovo.com/pccbbs/mobiles/herg02ww.exe
https://download.lenovo.com/pccbbs/mobiles/j4rg03ww.exe
https://download.lenovo.com/pccbbs/mobiles/j9rg02ww.exe
https://download.lenovo.com/pccbbs/mobiles/jbmb31ww.exe
https://download.lenovo.com/pccbbs/mobiles/jdrg05ww.exe
https://download.lenovo.com/pccbbs/mobiles/jerg02ww.exe
https://download.lenovo.com/pccbbs/mobiles/n10rg51w.exe
https://download.lenovo.com/pccbbs/mobiles/n1crg71w.exe
https://download.lenovo.com/pccbbs/mobiles/n1crk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1crl08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1drg71w.exe
https://download.lenovo.com/pccbbs/mobiles/n1drk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1erk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1frk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1frl08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1hrg97w.exe
https://download.lenovo.com/pccbbs/mobiles/n1krk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1mrg35w.exe
https://download.lenovo.com/pccbbs/mobiles/n1mrk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1mrl08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1nrg03w.exe
https://download.lenovo.com/pccbbs/mobiles/n1nrk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1nrl08w.zip
https://download.lenovo.com/pccbbs/mobiles/n1org32w.exe
https://download.lenovo.com/pccbbs/mobiles/n1qrg31w.exe
https://download.lenovo.com/pccbbs/mobiles/n1trk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n1trl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n1urg36w.exe
https://download.lenovo.com/pccbbs/mobiles/n1urk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n1url07w.zip
https://download.lenovo.com/pccbbs/mobiles/n1vrg35w.exe
https://download.lenovo.com/pccbbs/mobiles/n1vrk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n1vrl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n1xrg33w.exe
https://download.lenovo.com/pccbbs/mobiles/n1xrk33w.zip
https://download.lenovo.com/pccbbs/mobiles/n1xrl33w.zip
https://download.lenovo.com/pccbbs/mobiles/n1zrg25w.exe
https://download.lenovo.com/pccbbs/mobiles/n20rg23w.exe
https://download.lenovo.com/pccbbs/mobiles/n20rk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n20rl08w.zip
https://download.lenovo.com/pccbbs/mobiles/n22rk04w.zip
https://download.lenovo.com/pccbbs/mobiles/n22rl04w.zip
https://download.lenovo.com/pccbbs/mobiles/n23rg21w.exe
https://download.lenovo.com/pccbbs/mobiles/n23rk04w.zip
https://download.lenovo.com/pccbbs/mobiles/n23rl04w.zip
https://download.lenovo.com/pccbbs/mobiles/n24rk04w.zip
https://download.lenovo.com/pccbbs/mobiles/n24rl04w.zip
https://download.lenovo.com/pccbbs/mobiles/n25rg23w.exe
https://download.lenovo.com/pccbbs/mobiles/n25rk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n25rl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n27rg20w.exe
https://download.lenovo.com/pccbbs/mobiles/n27rk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n27rl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2crg32w.exe
https://download.lenovo.com/pccbbs/mobiles/n2crk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2crl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2erg20w.exe
https://download.lenovo.com/pccbbs/mobiles/n2erk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2erl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2grg09w.exe
https://download.lenovo.com/pccbbs/mobiles/n2hrg34w.exe
https://download.lenovo.com/pccbbs/mobiles/n2hrk08w.zip
https://download.lenovo.com/pccbbs/mobiles/n2hrl08w.zip
https://download.lenovo.com/pccbbs/mobiles/n2irg33w.exe
https://download.lenovo.com/pccbbs/mobiles/n2jrg33w.exe
https://download.lenovo.com/pccbbs/mobiles/n2lrg14w.exe
https://download.lenovo.com/pccbbs/mobiles/n2lrk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2lrl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2mrg06w.exe
https://download.lenovo.com/pccbbs/mobiles/n2mrk02w.zip
https://download.lenovo.com/pccbbs/mobiles/n2mrl02w.zip
https://download.lenovo.com/pccbbs/mobiles/n2nrg18w.exe
https://download.lenovo.com/pccbbs/mobiles/n2nrk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2nrl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2org13w.exe
https://download.lenovo.com/pccbbs/mobiles/n2ork07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2orl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2prg22w.exe
https://download.lenovo.com/pccbbs/mobiles/n2qrg16w.exe
https://download.lenovo.com/pccbbs/mobiles/n2rrg15w.exe
https://download.lenovo.com/pccbbs/mobiles/n2rrl02w.zip
https://download.lenovo.com/pccbbs/mobiles/n2srg15w.exe
https://download.lenovo.com/pccbbs/mobiles/n2trg06w.exe
https://download.lenovo.com/pccbbs/mobiles/n2trk02w.zip
https://download.lenovo.com/pccbbs/mobiles/n2trl02w.zip
https://download.lenovo.com/pccbbs/mobiles/n2urg09w.exe
https://download.lenovo.com/pccbbs/mobiles/n2urk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2url07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2vrg07w.exe
https://download.lenovo.com/pccbbs/mobiles/n2vrk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2vrl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2wrg16w.exe
https://download.lenovo.com/pccbbs/mobiles/n2wrk07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2wrl07w.zip
https://download.lenovo.com/pccbbs/mobiles/n2xrg15w.exe
https://download.lenovo.com/pccbbs/mobiles/n2xrk06w.zip
https://download.lenovo.com/pccbbs/mobiles/n2xrl06w.zip
https://download.lenovo.com/pccbbs/mobiles/n2yrg16w.exe
https://download.lenovo.com/pccbbs/mobiles/n2yrk06w.zip
https://download.lenovo.com/pccbbs/mobiles/n2yrl06w.zip
https://download.lenovo.com/pccbbs/mobiles/n30rg17w.exe
https://download.lenovo.com/pccbbs/mobiles/n30rk06w.zip
https://download.lenovo.com/pccbbs/mobiles/n30rl06w.zip
https://download.lenovo.com/pccbbs/mobiles/n32rg26w.exe
https://download.lenovo.com/pccbbs/mobiles/n32rk04w.zip
https://download.lenovo.com/pccbbs/mobiles/n32rl04w.zip
https://download.lenovo.com/pccbbs/mobiles/n34rg16w.exe
https://download.lenovo.com/pccbbs/mobiles/n34rk02w.cab
https://download.lenovo.com/pccbbs/mobiles/n34rl02w.cab
https://download.lenovo.com/pccbbs/mobiles/n35rg14w.exe
https://download.lenovo.com/pccbbs/mobiles/n35rk03w.cab
https://download.lenovo.com/pccbbs/mobiles/n35rl03w.cab
https://download.lenovo.com/pccbbs/mobiles/n37rg21w.exe
https://download.lenovo.com/pccbbs/mobiles/n37rk03w.zip
https://download.lenovo.com/pccbbs/mobiles/n37rl03w.zip
https://download.lenovo.com/pccbbs/mobiles/n38rk03w.zip
https://download.lenovo.com/pccbbs/mobiles/n38rl03w.zip
https://download.lenovo.com/pccbbs/mobiles/n39rg05w.exe
https://download.lenovo.com/pccbbs/mobiles/n39rk02w.zip
https://download.lenovo.com/pccbbs/mobiles/n39rl02w.zip
https://download.lenovo.com/pccbbs/mobiles/n3arg06w.exe
https://download.lenovo.com/pccbbs/mobiles/n3ark02w.zip
https://download.lenovo.com/pccbbs/mobiles/n3arl02w.zip
https://download.lenovo.com/pccbbs/mobiles/n3brg03w.exe
https://download.lenovo.com/pccbbs/mobiles/n3crg03w.exe
https://download.lenovo.com/pccbbs/mobiles/n40rg05w.exe
https://download.lenovo.com/pccbbs/mobiles/n40rk02w.zip
https://download.lenovo.com/pccbbs/mobiles/n40rl02w.zip
https://download.lenovo.com/pccbbs/mobiles/r00mu14w.exe
https://download.lenovo.com/pccbbs/mobiles/r07mf20w.exe
https://download.lenovo.com/pccbbs/mobiles/r08mf09w.exe
https://download.lenovo.com/pccbbs/mobiles/r09rg24w.exe
https://download.lenovo.com/pccbbs/mobiles/r0cmb08w.exe
https://download.lenovo.com/pccbbs/mobiles/r0crg05w.exe
https://download.lenovo.com/pccbbs/mobiles/r0dmu13w.exe
https://download.lenovo.com/pccbbs/mobiles/r0gmu20w.exe
https://download.lenovo.com/pccbbs/mobiles/r0jrg16w.exe
https://download.lenovo.com/pccbbs/mobiles/r0lrg09w.exe
https://download.lenovo.com/pccbbs/mobiles/r0mrg16w.exe
https://download.lenovo.com/pccbbs/mobiles/r0pmu24w.exe
https://download.lenovo.com/pccbbs/mobiles/r0qmj20w.exe
https://download.lenovo.com/pccbbs/mobiles/r0rrg20w.exe
https://download.lenovo.com/pccbbs/mobiles/r0srg10w.exe
https://download.lenovo.com/pccbbs/mobiles/r0ymu08w.exe
https://download.lenovo.com/pccbbs/mobiles/r0zmu07w.exe
https://download.lenovo.com/pccbbs/mobiles/r10rg09w.exe
https://download.lenovo.com/pccbbs/mobiles/r15rg08w.exe
https://download.lenovo.com/pccbbs/mobiles/r16mu04w.exe
https://download.lenovo.com/pccbbs/mobiles/r17mg12w.exe
https://download.lenovo.com/pccbbs/mobiles/r17rk02w.zip
https://download.lenovo.com/pccbbs/mobiles/r17rk03w.7z
https://download.lenovo.com/pccbbs/mobiles/r17rl02w.zip
https://download.lenovo.com/pccbbs/mobiles/r17rl03w.7z
https://download.lenovo.com/pccbbs/mobiles/r18rg03w.exe
https://download.lenovo.com/pccbbs/mobiles/r1emu04w.exe
https://download.lenovo.com/pccbbs/mobiles/r1erg12w.exe
https://download.lenovo.com/pccbbs/mobiles/r1frg04w.exe
https://download.lenovo.com/pccbbs/mobiles/r1grg06w.exe
https://download.lenovo.com/pccbbs/mobiles/r1jmg17w.exe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment