mirror of
https://github.com/rzuasti/oott.git
synced 2026-07-08 19:21:54 +02:00
Add MAC vendor update script and vendor-to-device-type mapping
Introduces backend/data/update_mac_vendors, an executable Python 3 script that downloads the latest MAC vendor database from maclookup.app and generates vendor-device-type.json — a mapping of vendor names to device types (phone, laptop, tablet, server, tv, printer, network_appliance, home_security, home_appliance, watch, pc, gaming_console) used for auto-assigning device type on first detection. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
fc2d1f1e5f
commit
50cc2a9d53
File diff suppressed because one or more lines are too long
Executable
+380
@@ -0,0 +1,380 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
update_mac_vendors
|
||||||
|
|
||||||
|
Downloads the latest MAC vendor database from maclookup.app and regenerates
|
||||||
|
the vendor-to-device-type mapping used by the backend for auto device classification.
|
||||||
|
|
||||||
|
Outputs (relative to the script's own directory):
|
||||||
|
mac-vendors-export.json - raw vendor database (replaces existing)
|
||||||
|
vendor-device-type.json - vendor name -> device type mapping (non-unknown only)
|
||||||
|
"""
|
||||||
|
|
||||||
|
import html.parser
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
import urllib.request
|
||||||
|
|
||||||
|
DOWNLOAD_PAGE = "https://maclookup.app/downloads/json-database"
|
||||||
|
BASE_URL = "https://maclookup.app"
|
||||||
|
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
VENDORS_FILE = os.path.join(SCRIPT_DIR, "mac-vendors-export.json")
|
||||||
|
MAPPING_FILE = os.path.join(SCRIPT_DIR, "vendor-device-type.json")
|
||||||
|
|
||||||
|
|
||||||
|
# ── HTML parser to extract the download link ──────────────────────────────────
|
||||||
|
|
||||||
|
class _DownloadLinkParser(html.parser.HTMLParser):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.download_href = None
|
||||||
|
|
||||||
|
def handle_starttag(self, tag, attrs):
|
||||||
|
if tag == "a" and self.download_href is None:
|
||||||
|
attrs_dict = dict(attrs)
|
||||||
|
href = attrs_dict.get("href", "")
|
||||||
|
if "/downloads/json-database/get-db" in href:
|
||||||
|
self.download_href = href
|
||||||
|
|
||||||
|
|
||||||
|
_HEADERS = {
|
||||||
|
"User-Agent": (
|
||||||
|
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
|
||||||
|
"(KHTML, like Gecko) Chrome/124.0 Safari/537.36"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def _get_download_url() -> str:
|
||||||
|
print(f"Fetching download page: {DOWNLOAD_PAGE}")
|
||||||
|
req = urllib.request.Request(DOWNLOAD_PAGE, headers=_HEADERS)
|
||||||
|
with urllib.request.urlopen(req, timeout=30) as resp:
|
||||||
|
html_body = resp.read().decode("utf-8", errors="replace")
|
||||||
|
|
||||||
|
parser = _DownloadLinkParser()
|
||||||
|
parser.feed(html_body)
|
||||||
|
|
||||||
|
if not parser.download_href:
|
||||||
|
print("ERROR: Could not find download link on the page.", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
href = parser.download_href
|
||||||
|
if href.startswith("http"):
|
||||||
|
return href
|
||||||
|
return BASE_URL + href
|
||||||
|
|
||||||
|
|
||||||
|
# ── Phase 1: download vendor database ────────────────────────────────────────
|
||||||
|
|
||||||
|
def download_vendors():
|
||||||
|
url = _get_download_url()
|
||||||
|
print(f"Downloading vendor database from: {url}")
|
||||||
|
req = urllib.request.Request(url, headers=_HEADERS)
|
||||||
|
with urllib.request.urlopen(req, timeout=60) as resp:
|
||||||
|
body = resp.read()
|
||||||
|
|
||||||
|
# Validate it is parseable JSON before overwriting
|
||||||
|
try:
|
||||||
|
records = json.loads(body)
|
||||||
|
except json.JSONDecodeError as exc:
|
||||||
|
print(f"ERROR: Downloaded data is not valid JSON: {exc}", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
with open(VENDORS_FILE, "wb") as f:
|
||||||
|
f.write(body)
|
||||||
|
|
||||||
|
print(f"Saved {len(records)} vendor records to {VENDORS_FILE}")
|
||||||
|
return records
|
||||||
|
|
||||||
|
|
||||||
|
# ── Phase 2: classify vendors and generate mapping ───────────────────────────
|
||||||
|
|
||||||
|
# Brand rules: (compiled_regex, device_type)
|
||||||
|
# Evaluated in order; first match wins.
|
||||||
|
# Use word boundaries (\b) to avoid substring false-positives.
|
||||||
|
_BRAND_RULES_RAW = [
|
||||||
|
# ── watch ──
|
||||||
|
("watch",
|
||||||
|
r"\b(garmin|fitbit|fossil group|withings|polar electro|suunto|amazfit|huami)\b"),
|
||||||
|
|
||||||
|
# ── home_appliance ──
|
||||||
|
("home_appliance",
|
||||||
|
r"\b(whirlpool|electrolux|miele|ge appliances|bosch (home|thermotechnology|siemens home))\b"),
|
||||||
|
|
||||||
|
# ── home_security ──
|
||||||
|
("home_security",
|
||||||
|
r"\b(hikvision|prama hikvision|dahua|avigilon|hanwha|vivotek|mobotix|pelco|"
|
||||||
|
r"axis communications|amcrest|reolink|wyze|arlo|geovision|milestone systems|"
|
||||||
|
r"bosch security|dvtel|video insight)\b"),
|
||||||
|
("home_security",
|
||||||
|
r"\bblink (services|by amazon)\b"),
|
||||||
|
("home_security",
|
||||||
|
r"\bring (video doorbell|video|llc|inc\.?)\b"),
|
||||||
|
|
||||||
|
# ── printer ──
|
||||||
|
("printer",
|
||||||
|
r"\b(canon|epson|brother industries|brother, brother|lexmark|ricoh|kyocera|"
|
||||||
|
r"konica minolta|xerox|bixolon|printronix|zebra technologies|datamax|oki data|"
|
||||||
|
r"toshiba tec)\b"),
|
||||||
|
|
||||||
|
# ── tv ──
|
||||||
|
("tv",
|
||||||
|
r"\b(roku|tivo|vizio|skyworth|hisense|vestel)\b"),
|
||||||
|
# TCL Communications is a phone maker; other TCL entries are TVs
|
||||||
|
("tv",
|
||||||
|
r"\btcl\b(?!.*communications)"),
|
||||||
|
|
||||||
|
# ── server ──
|
||||||
|
("server",
|
||||||
|
r"\b(supermicro|hewlett packard enterprise|hp enterprise|dell emc|"
|
||||||
|
r"sun microsystems|oracle|netapp|synology|qnap|proxmox)\b"),
|
||||||
|
("server",
|
||||||
|
r"\bibm\b"),
|
||||||
|
|
||||||
|
# ── tablet ──
|
||||||
|
("tablet",
|
||||||
|
r"\bamazon (technologies|\.com|robotics)\b"),
|
||||||
|
|
||||||
|
# ── gaming_console ──
|
||||||
|
("gaming_console",
|
||||||
|
r"\bnintendo\b"),
|
||||||
|
("gaming_console",
|
||||||
|
r"\bsony (computer entertainment|interactive entertainment)\b"),
|
||||||
|
|
||||||
|
# ── phone ──
|
||||||
|
("phone",
|
||||||
|
r"samsung electro"), # SAMSUNG ELECTRONICS, SAMSUNG ELECTRO-MECHANICS
|
||||||
|
("phone",
|
||||||
|
r"\b(xiaomi|miui)\b"),
|
||||||
|
("phone",
|
||||||
|
r"\boppo\b"),
|
||||||
|
("phone",
|
||||||
|
r"\b(vivo mobile|bbk electronics)\b"),
|
||||||
|
("phone",
|
||||||
|
r"\boneplus\b"),
|
||||||
|
("phone",
|
||||||
|
r"\b(htc corporation|htc corp\.?)\b"),
|
||||||
|
("phone",
|
||||||
|
r"\bblackberry\b"),
|
||||||
|
("phone",
|
||||||
|
r"\b(motorola mobility|motorola, inc)\b"),
|
||||||
|
("phone",
|
||||||
|
r"\blg electronics\b"),
|
||||||
|
("phone",
|
||||||
|
r"\bmicrosoft mobile\b"),
|
||||||
|
("phone",
|
||||||
|
r"\bgoogle,?\s*inc\.?\b"), # Pixel phones
|
||||||
|
("phone",
|
||||||
|
r"\btcl communication\b"),
|
||||||
|
("phone",
|
||||||
|
r"\b(huawei device|huawei technologies co)\b"),
|
||||||
|
("phone",
|
||||||
|
r"\bhmd global\b"), # Nokia phones
|
||||||
|
("phone",
|
||||||
|
r"\b(realme|honor device|honor co\.|honor terminal)\b"),
|
||||||
|
("phone",
|
||||||
|
r"\bapple,?\s*inc\.?\b"), # iPhone is the most commonly detected Apple device
|
||||||
|
|
||||||
|
# ── laptop ──
|
||||||
|
("laptop",
|
||||||
|
r"\bdell (inc\.?|computer|technologies)\b(?!.*emc)"),
|
||||||
|
("laptop",
|
||||||
|
r"\blenovo\b"),
|
||||||
|
("laptop",
|
||||||
|
r"\bacer\b"),
|
||||||
|
("laptop",
|
||||||
|
r"\b(asustek|asus)\b"),
|
||||||
|
("laptop",
|
||||||
|
r"\bmsi\b"),
|
||||||
|
("laptop",
|
||||||
|
r"\bfujitsu\b"),
|
||||||
|
("laptop",
|
||||||
|
r"\btoshiba\b(?!.*tec)"),
|
||||||
|
("laptop",
|
||||||
|
r"\bnec (corporation|computers|personal|corp\.?)\b"),
|
||||||
|
("laptop",
|
||||||
|
r"\brazer inc\.?\b"),
|
||||||
|
("laptop",
|
||||||
|
r"\bmicrosoft (corporation|corp\.?)\b"), # Surface devices
|
||||||
|
|
||||||
|
# ── pc ──
|
||||||
|
("pc",
|
||||||
|
r"\bintel (corporation|corp\.?|, inc\.?)\b"),
|
||||||
|
("pc",
|
||||||
|
r"\bgigabyte technology\b"),
|
||||||
|
|
||||||
|
# ── network_appliance ──
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(cisco|meraki)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bjuniper\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\baruba\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(ubiquiti|ubnt)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(mikrotik|routerboard)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bfortinet\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bsonicwall\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\barista networks\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bnetgear\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\btp.?link\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bd.?link\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bzyxel\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\blinksys\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\belkin,?\s*inc\.?\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bruckus\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(aerohive|aero hive)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bcradlepoint\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(peplink|pepwave)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bcambium networks\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bengenius\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bwatchguard\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bbarracuda networks\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(check point|checkpoint)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bpalo alto networks\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bextreme networks\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bedgecore\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\badtran\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bcalix\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bciena\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bopengear\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b2wire\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bactiontec\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\btenda (technology|network)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(buffalo\.?inc|melco holdings)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bhuawei\b"), # primarily networking gear in enterprise
|
||||||
|
("network_appliance",
|
||||||
|
r"\bzte corporation\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bnokia\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bericsson\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bat&t\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\badva optical\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\beero\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bsagecom\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\bcomtrend\b"),
|
||||||
|
]
|
||||||
|
|
||||||
|
# Keyword fallback rules: (compiled_regex, device_type)
|
||||||
|
_KEYWORD_RULES_RAW = [
|
||||||
|
("watch", r"\b(smartwatch|fitness tracker|wearable)\b"),
|
||||||
|
("home_appliance", r"\b(refrigerator|dishwasher|home appliance|oven|microwave)\b"),
|
||||||
|
("home_appliance", r"\b(washer|dryer)\b(?!.*hair)"), # exclude hair dryer edge cases
|
||||||
|
("home_security", r"\b(cctv|ip.?camera|surveillance camera|doorbell camera|ptz camera|security camera)\b"),
|
||||||
|
("printer", r"\b(printer|scanner|copier|plotter|label print|receipt print)\b"),
|
||||||
|
("tv", r"\b(smart tv|television|set.?top.?box|iptv|streaming device|media player)\b"),
|
||||||
|
("server", r"\b(rack server|blade server|data center)\b"),
|
||||||
|
("tablet", r"\b(tablet|e.?reader|kindle)\b"),
|
||||||
|
("gaming_console", r"\b(gaming console|game console)\b"),
|
||||||
|
("phone", r"\b(smartphone|mobile phone|mobile handset|cell phone)\b"),
|
||||||
|
("laptop", r"\b(laptop|notebook computer)\b"),
|
||||||
|
("pc", r"\b(desktop computer|personal computer)\b"),
|
||||||
|
("network_appliance",
|
||||||
|
r"\b(wireless access point|wifi access point|wlan controller|network switch|"
|
||||||
|
r"ethernet switch|managed switch|wifi router|wireless router|network router|"
|
||||||
|
r"firewall|vpn concentrator|broadband router|cable modem|dsl modem|"
|
||||||
|
r"fiber gateway|optical network terminal)\b"),
|
||||||
|
]
|
||||||
|
|
||||||
|
_BRAND_RULES = [
|
||||||
|
(re.compile(pat, re.IGNORECASE), dt)
|
||||||
|
for dt, pat in _BRAND_RULES_RAW
|
||||||
|
]
|
||||||
|
_KEYWORD_RULES = [
|
||||||
|
(re.compile(pat, re.IGNORECASE), dt)
|
||||||
|
for dt, pat in _KEYWORD_RULES_RAW
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def _classify(vendor_name: str) -> str:
|
||||||
|
for pattern, device_type in _BRAND_RULES:
|
||||||
|
if pattern.search(vendor_name):
|
||||||
|
return device_type
|
||||||
|
for pattern, device_type in _KEYWORD_RULES:
|
||||||
|
if pattern.search(vendor_name):
|
||||||
|
return device_type
|
||||||
|
return "unknown"
|
||||||
|
|
||||||
|
|
||||||
|
def generate_mapping(records: list) -> dict:
|
||||||
|
vendors = sorted({r["vendorName"] for r in records if "vendorName" in r})
|
||||||
|
print(f"Classifying {len(vendors)} unique vendor names...")
|
||||||
|
|
||||||
|
mapping = {}
|
||||||
|
counts: dict[str, int] = {}
|
||||||
|
for vendor in vendors:
|
||||||
|
dt = _classify(vendor)
|
||||||
|
counts[dt] = counts.get(dt, 0) + 1
|
||||||
|
if dt != "unknown":
|
||||||
|
mapping[vendor] = dt
|
||||||
|
|
||||||
|
print("Classification summary:")
|
||||||
|
for dt, n in sorted(counts.items(), key=lambda x: -x[1]):
|
||||||
|
print(f" {dt}: {n}")
|
||||||
|
print(f"Classified (non-unknown) entries: {len(mapping)}")
|
||||||
|
|
||||||
|
return mapping
|
||||||
|
|
||||||
|
|
||||||
|
def save_mapping(mapping: dict):
|
||||||
|
with open(MAPPING_FILE, "w", encoding="utf-8") as f:
|
||||||
|
json.dump(mapping, f, indent=2, ensure_ascii=False, sort_keys=True)
|
||||||
|
print(f"Saved mapping to {MAPPING_FILE}")
|
||||||
|
|
||||||
|
|
||||||
|
# ── Entry point ───────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("=== Phase 1: Download vendor database ===")
|
||||||
|
records = download_vendors()
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("=== Phase 2: Generate device-type mapping ===")
|
||||||
|
mapping = generate_mapping(records)
|
||||||
|
save_mapping(mapping)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("Done. Remember to recompile the backend to pick up the updated vendor database.")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1,376 @@
|
|||||||
|
{
|
||||||
|
"1394 PRINTER WORKING GROUP": "printer",
|
||||||
|
"2Wire Inc": "network_appliance",
|
||||||
|
"ACER NETXUS INC.": "laptop",
|
||||||
|
"ACER PERIPHERALS, INC.": "laptop",
|
||||||
|
"ACER TECHNOLOGIES CORP.": "laptop",
|
||||||
|
"ADMiTAS CCTV Taiwan Co. Ltd": "home_security",
|
||||||
|
"ADVA Optical Networking": "network_appliance",
|
||||||
|
"ADVA Optical Networking Ltd.": "network_appliance",
|
||||||
|
"ADVANCED MICROWAVE ENGINEERING SRL": "home_appliance",
|
||||||
|
"AR RF/Microwave Instrumentation": "home_appliance",
|
||||||
|
"ASUSTek COMPUTER INC.": "laptop",
|
||||||
|
"AT&T": "network_appliance",
|
||||||
|
"AT&T Government Solutions": "network_appliance",
|
||||||
|
"AT&T, Inc.": "network_appliance",
|
||||||
|
"Acer Computer(Shanghai) Limited.": "laptop",
|
||||||
|
"Acer Connect": "laptop",
|
||||||
|
"Acer Inc.": "laptop",
|
||||||
|
"Acer Incorporated": "laptop",
|
||||||
|
"Actiontec Electronics Inc.": "network_appliance",
|
||||||
|
"Actiontec Electronics, Inc": "network_appliance",
|
||||||
|
"Adtran Inc": "network_appliance",
|
||||||
|
"Advanced Television Systems Committee, Inc.": "tv",
|
||||||
|
"Alga Microwave Inc": "home_appliance",
|
||||||
|
"Amazon Robotics MTAC Matrix NPI": "tablet",
|
||||||
|
"Amazon Technologies Inc.": "tablet",
|
||||||
|
"Amcrest Technologies": "home_security",
|
||||||
|
"Anaren Microwave, Inc.": "home_appliance",
|
||||||
|
"Anhui Huami Information Technology Company Limited": "watch",
|
||||||
|
"Apple, Inc.": "phone",
|
||||||
|
"Arista Networks": "network_appliance",
|
||||||
|
"Arista Networks, Inc.": "network_appliance",
|
||||||
|
"Arlo Technology": "home_security",
|
||||||
|
"Asus Network Technologies, Inc.": "laptop",
|
||||||
|
"Avigilon Alta": "home_security",
|
||||||
|
"Axis Communications AB": "home_security",
|
||||||
|
"BIXOLON CO.,LTD": "printer",
|
||||||
|
"BROADCAST TELEVISION SYSTEMS": "tv",
|
||||||
|
"BUFFALO.INC": "network_appliance",
|
||||||
|
"Barracuda Networks, Inc.": "network_appliance",
|
||||||
|
"Beijing Xiaomi Electronics Co., Ltd.": "phone",
|
||||||
|
"Beijing Xiaomi Electronics Co.,Ltd": "phone",
|
||||||
|
"Beijing Xiaomi Mobile Software Co., Ltd": "phone",
|
||||||
|
"BlackBerry RTS": "phone",
|
||||||
|
"Blink Services AB": "home_security",
|
||||||
|
"Blink by Amazon": "home_security",
|
||||||
|
"Bosch Security Systems": "home_security",
|
||||||
|
"Bosch Security Systems, Inc.": "home_security",
|
||||||
|
"Broadcast Microwave Services, Inc": "home_appliance",
|
||||||
|
"Brother Industries, LTD.": "printer",
|
||||||
|
"Brother industries, LTD.": "printer",
|
||||||
|
"Brother, Brother & Sons ApS": "printer",
|
||||||
|
"CABLE TELEVISION LABORATORIES, INC.": "tv",
|
||||||
|
"CANON ELECTRON TUBES & DEVICES CO., LTD.": "printer",
|
||||||
|
"CANON FINETECH INC.": "printer",
|
||||||
|
"CANON INC.": "printer",
|
||||||
|
"CCTV Manufacturer": "home_security",
|
||||||
|
"CCTV NEOTECH": "home_security",
|
||||||
|
"CINCINNATI MICROWAVE, INC.": "home_appliance",
|
||||||
|
"Calix Inc.": "network_appliance",
|
||||||
|
"Calix Networks": "network_appliance",
|
||||||
|
"Cambium Networks Limited": "network_appliance",
|
||||||
|
"Canon Electronic Business Machines (H.K.) Co., Ltd.": "printer",
|
||||||
|
"Canon Imaging Systems Inc.": "printer",
|
||||||
|
"Canon Korea Inc.": "printer",
|
||||||
|
"Check Point Software Technologies": "network_appliance",
|
||||||
|
"Check Point Software Technologies Ltd.": "network_appliance",
|
||||||
|
"Checkpoint Systems, Inc.": "network_appliance",
|
||||||
|
"Ciena Corporation": "network_appliance",
|
||||||
|
"Cisco": "network_appliance",
|
||||||
|
"Cisco Meraki": "network_appliance",
|
||||||
|
"Cisco SPVTG": "network_appliance",
|
||||||
|
"Cisco Systems": "network_appliance",
|
||||||
|
"Cisco Systems Inc": "network_appliance",
|
||||||
|
"Cisco Systems Norway": "network_appliance",
|
||||||
|
"Cisco Systems, Inc": "network_appliance",
|
||||||
|
"Cisco-Linksys, LLC": "network_appliance",
|
||||||
|
"Comtrend Corporation": "network_appliance",
|
||||||
|
"CradlePoint, Inc": "network_appliance",
|
||||||
|
"D-LINK SYSTEMS, INC.": "network_appliance",
|
||||||
|
"D-Link (Shanghai) Limited Corp.": "network_appliance",
|
||||||
|
"D-Link Corporation": "network_appliance",
|
||||||
|
"D-Link International": "network_appliance",
|
||||||
|
"D-Link Middle East FZCO": "network_appliance",
|
||||||
|
"D-Link (Shanghai)Limited Corp.": "network_appliance",
|
||||||
|
"DIGITAL MICROWAVE CORPORATION": "home_appliance",
|
||||||
|
"DVTel Israel Ltd.": "home_security",
|
||||||
|
"Data Center Systems": "server",
|
||||||
|
"Datamax Corporation": "printer",
|
||||||
|
"Dell EMC": "server",
|
||||||
|
"Dell Inc.": "laptop",
|
||||||
|
"Dell Technologies": "laptop",
|
||||||
|
"Dowkey Microwave": "home_appliance",
|
||||||
|
"ELVA-1 MICROWAVE HANDELSBOLAG": "home_appliance",
|
||||||
|
"Eaton Corp. Electrical Group Data Center Solutions - Pulizzi": "server",
|
||||||
|
"EdgeCore Networks": "network_appliance",
|
||||||
|
"Edgecore Americas Networking Corporation": "network_appliance",
|
||||||
|
"Edgecore Networks Corporation": "network_appliance",
|
||||||
|
"Electrolux": "home_appliance",
|
||||||
|
"Electrolux Professional AB": "home_appliance",
|
||||||
|
"EnGenius Technologies, Inc.": "network_appliance",
|
||||||
|
"Ericsson": "network_appliance",
|
||||||
|
"Ericsson - North America": "network_appliance",
|
||||||
|
"Ericsson AB": "network_appliance",
|
||||||
|
"Ericsson Group": "network_appliance",
|
||||||
|
"Ericsson Television Limited": "network_appliance",
|
||||||
|
"Ericsson, EAB/RWI/K": "network_appliance",
|
||||||
|
"Ericsson-LG Enterprise": "network_appliance",
|
||||||
|
"Extreme Networks Headquarters": "network_appliance",
|
||||||
|
"FUJITSU DENSO LTD.": "laptop",
|
||||||
|
"FUJITSU ISOTEC LIMITED": "laptop",
|
||||||
|
"FUJITSU LIMITED": "laptop",
|
||||||
|
"FUJITSU MICROELECTRONICS, INC.": "laptop",
|
||||||
|
"FUJITSU NEXION, INC.": "laptop",
|
||||||
|
"Fitbit Inc.": "watch",
|
||||||
|
"Fitbit, Inc.": "watch",
|
||||||
|
"Fortinet, Inc.": "network_appliance",
|
||||||
|
"Fujitsu Client Computing Limited": "laptop",
|
||||||
|
"Fujitsu I-Network Systems Limited.": "laptop",
|
||||||
|
"Fujitsu Limited": "laptop",
|
||||||
|
"Fujitsu Services Ltd": "laptop",
|
||||||
|
"Fujitsu Siemens Computers": "laptop",
|
||||||
|
"Fujitsu Softek": "laptop",
|
||||||
|
"Fujitsu Technology Solutions GmbH": "laptop",
|
||||||
|
"Fujitsu component limited": "laptop",
|
||||||
|
"G-WAY Microwave": "home_appliance",
|
||||||
|
"GE Appliances": "home_appliance",
|
||||||
|
"GKB CCTV CO., LTD.": "home_security",
|
||||||
|
"GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD": "phone",
|
||||||
|
"Garmin International": "watch",
|
||||||
|
"GeoVision Inc.": "home_security",
|
||||||
|
"Google, Inc.": "phone",
|
||||||
|
"HANWHA VISION VIETNAM COMPANY LIMITED": "home_security",
|
||||||
|
"HISENSE ELECTRIC CO.,LTD": "tv",
|
||||||
|
"HISENSE VISUAL TECHNOLOGY CO.,LTD": "tv",
|
||||||
|
"HMD Global Oy": "phone",
|
||||||
|
"HTC Corporation": "phone",
|
||||||
|
"HUAWEI TECHNOLOGIES CO.,LTD": "phone",
|
||||||
|
"HUIZHOU TCL COMMUNICATION ELECTRON CO.,LTD": "tv",
|
||||||
|
"Hangzhou Hikvision Digital Technology Co.,Ltd.": "home_security",
|
||||||
|
"Hanwha NxMD (Thailand) Co., Ltd.": "home_security",
|
||||||
|
"Hanwha Vision VietNam": "home_security",
|
||||||
|
"Hewlett Packard Enterprise": "server",
|
||||||
|
"Hisense Broadband Multimedia Technology Co.,Ltd.": "tv",
|
||||||
|
"Hisense Electric Co.,Ltd": "tv",
|
||||||
|
"Hisense Home Appliances Group Co., Ltd. Qingdao Branch": "tv",
|
||||||
|
"Hisense Mobile Communications Technoligy Co.,Ltd.": "tv",
|
||||||
|
"Hisense broadband multimedia technology Co.,Ltd": "tv",
|
||||||
|
"Hittite Microwave Corporation": "home_appliance",
|
||||||
|
"Honor Device Co., Ltd.": "phone",
|
||||||
|
"Huami Information Technology Co.,Ltd.": "watch",
|
||||||
|
"Huawei Device Co., Ltd.": "phone",
|
||||||
|
"Huawei Symantec Technologies Co.,Ltd.": "network_appliance",
|
||||||
|
"Huawei Technologies Co., Ltd.": "phone",
|
||||||
|
"Huitec printer solution co.,": "printer",
|
||||||
|
"IBM": "server",
|
||||||
|
"IBM Corp": "server",
|
||||||
|
"IBM Corporation": "server",
|
||||||
|
"IBM JAPAN, FUJISAWA MT+D": "server",
|
||||||
|
"IBM Research GmbH": "server",
|
||||||
|
"IMPULSE CCTV NETWORKS INDIA PVT. LTD.": "home_security",
|
||||||
|
"Intel Corporation": "pc",
|
||||||
|
"Jeaway CCTV Security Ltd,.": "home_security",
|
||||||
|
"Jiangxi guoxuan radio and television technology Co.,Ltd": "tv",
|
||||||
|
"Juniper Networks": "network_appliance",
|
||||||
|
"Juniper Systems": "network_appliance",
|
||||||
|
"KINGTEK CCTV ALLIANCE CO., LTD.": "home_security",
|
||||||
|
"KONICA MINOLTA HOLDINGS, INC.": "printer",
|
||||||
|
"KYOCERA CORPORATION": "printer",
|
||||||
|
"KYOCERA Corporation": "printer",
|
||||||
|
"KYOCERA Display Corporation": "printer",
|
||||||
|
"KYOCERA Document Solutions Inc.": "printer",
|
||||||
|
"Kyocera AVX Components (Timisoara) SRL": "printer",
|
||||||
|
"Kyocera Wireless Corp.": "printer",
|
||||||
|
"LENOVO(BEIJING)CO., LTD.": "laptop",
|
||||||
|
"LEXMARK INTERNATIONAL, INC.": "printer",
|
||||||
|
"LG ELECTRONICS": "phone",
|
||||||
|
"LG ELECTRONICS INC": "phone",
|
||||||
|
"LG Electronics": "phone",
|
||||||
|
"LG Electronics (Mobile Communications)": "phone",
|
||||||
|
"LG Electronics Inc.": "phone",
|
||||||
|
"LG Electronics NV": "phone",
|
||||||
|
"LG-Ericsson Co.,Ltd.": "network_appliance",
|
||||||
|
"Lenovo": "laptop",
|
||||||
|
"Lenovo (Beijing) Co., Ltd.": "laptop",
|
||||||
|
"Lenovo (Beijing) Limited.": "laptop",
|
||||||
|
"Lenovo Data Center Group": "laptop",
|
||||||
|
"Lenovo Future Communication Technology (Chongqing) Company Limited": "laptop",
|
||||||
|
"Lenovo Image(Tianjin) Technology Ltd.": "laptop",
|
||||||
|
"Lenovo India Private Limited": "laptop",
|
||||||
|
"Lenovo Information Products (Shenzhen)Co.,Ltd": "laptop",
|
||||||
|
"Lenovo Mobile Communication (Wuhan) Company Limited": "laptop",
|
||||||
|
"Lenovo Mobile Communication Technology Ltd.": "laptop",
|
||||||
|
"Linksys Telecom Shenzhen CO., LTD": "network_appliance",
|
||||||
|
"Linksys USA, Inc": "network_appliance",
|
||||||
|
"MICROSOFT CORP.": "laptop",
|
||||||
|
"MICROWAVE BYPASS SYSTEMS": "home_appliance",
|
||||||
|
"MSI": "laptop",
|
||||||
|
"MSI Technology GmbH": "laptop",
|
||||||
|
"Microsoft Corp.": "laptop",
|
||||||
|
"Microsoft Corporation": "laptop",
|
||||||
|
"Microsoft Mobile Oy": "phone",
|
||||||
|
"Microwave Communication & Component, Inc.": "home_appliance",
|
||||||
|
"Microwave Data Systems Inc.": "home_appliance",
|
||||||
|
"Microwave Radio Communications": "home_appliance",
|
||||||
|
"Midwest Microwave Solutions": "home_appliance",
|
||||||
|
"Midwest Microwave Solutions Inc.": "home_appliance",
|
||||||
|
"Miele & Cie. KG": "home_appliance",
|
||||||
|
"Mission Microwave Technologies, Inc": "home_appliance",
|
||||||
|
"Mobotix AG": "home_security",
|
||||||
|
"Motorola Mobility LLC, a Lenovo Company": "phone",
|
||||||
|
"NANJING FUJITSU COMPUTER PRODUCTS CO.,LTD.": "laptop",
|
||||||
|
"NEC Corporation": "laptop",
|
||||||
|
"NEC Personal Computers, Ltd.": "laptop",
|
||||||
|
"NEC Personal Products": "laptop",
|
||||||
|
"NEC Personal Products, Ltd": "laptop",
|
||||||
|
"NETGEAR": "network_appliance",
|
||||||
|
"NOKIA MULTIMEDIA TERMINALS": "network_appliance",
|
||||||
|
"NOKIA WIRELESS BUSINESS COMMUN": "network_appliance",
|
||||||
|
"NetApp": "server",
|
||||||
|
"NextT Microwave Inc": "home_appliance",
|
||||||
|
"Nintendo Co., Ltd.": "gaming_console",
|
||||||
|
"Nintendo Co.,Ltd": "gaming_console",
|
||||||
|
"Nippon Printer Engineering": "printer",
|
||||||
|
"Nokia": "network_appliance",
|
||||||
|
"Nokia Bell Labs": "network_appliance",
|
||||||
|
"Nokia Bell N.V.": "network_appliance",
|
||||||
|
"Nokia Corporation": "network_appliance",
|
||||||
|
"Nokia Danmark A/S": "network_appliance",
|
||||||
|
"Nokia NET Product Operations": "network_appliance",
|
||||||
|
"Nokia Shanghai Bell Co., Ltd.": "network_appliance",
|
||||||
|
"Nokia Siemens Networks GmbH & Co. KG.": "network_appliance",
|
||||||
|
"Nokia Solutions (Shanghai) Co.,Ltd.": "network_appliance",
|
||||||
|
"Nokia Solutions and Networks GmbH & Co. KG": "network_appliance",
|
||||||
|
"Nokia Solutions and Networks India Private Limited": "network_appliance",
|
||||||
|
"Notebook Development Lab. Lenovo Japan Ltd.": "laptop",
|
||||||
|
"OPPO Digital, Inc.": "phone",
|
||||||
|
"OnePlus Electronics (Shenzhen) Co., Ltd.": "phone",
|
||||||
|
"OnePlus Tech (Shenzhen) Ltd": "phone",
|
||||||
|
"OnePlus Technology (Shenzhen) Co., Ltd": "phone",
|
||||||
|
"OpenGear, Inc": "network_appliance",
|
||||||
|
"Oracle": "server",
|
||||||
|
"Oracle Corporation": "server",
|
||||||
|
"PRINTER SYSTEMS CORP.": "printer",
|
||||||
|
"PSi Printer Systems international GmbH": "printer",
|
||||||
|
"Palo Alto Networks": "network_appliance",
|
||||||
|
"PePWave Ltd": "network_appliance",
|
||||||
|
"Peplink International Ltd.": "network_appliance",
|
||||||
|
"Pepwave Limited": "network_appliance",
|
||||||
|
"Polar Electro Oy": "watch",
|
||||||
|
"Prama Hikvision India Private Limited": "home_security",
|
||||||
|
"Printronix, Inc.": "printer",
|
||||||
|
"Proxmox Server Solutions GmbH": "server",
|
||||||
|
"QNAP Systems, Inc.": "server",
|
||||||
|
"Qingdao Haier Intelligent Home Appliance Technology Co.,Ltd": "home_appliance",
|
||||||
|
"Qingdao Hisense Communications Co.,Ltd.": "tv",
|
||||||
|
"Qingdao Hisense Electronics Co.,Ltd.": "tv",
|
||||||
|
"Qingdao Hisense Hitachi Air-conditioning Systems Co.,Ltd.": "tv",
|
||||||
|
"Qingdao Hisense Mobile Communication Technology Co,Ltd": "tv",
|
||||||
|
"Qingdao Hisense Smart Life Technology Co., Ltd": "tv",
|
||||||
|
"RFbeam Microwave GmbH": "home_appliance",
|
||||||
|
"RICOH COMPANY LTD.": "printer",
|
||||||
|
"RICOH COMPANY, LTD.": "printer",
|
||||||
|
"RICOH COMPANY,LTD.": "printer",
|
||||||
|
"Razer Inc": "laptop",
|
||||||
|
"Realme Chongqing Mobile Telecommunications Corp.,Ltd.": "phone",
|
||||||
|
"Realme Chongqing MobileTelecommunications Corp Ltd": "phone",
|
||||||
|
"Redvision CCTV": "home_security",
|
||||||
|
"Reolink Innovation Limited": "home_security",
|
||||||
|
"Ring LLC": "home_security",
|
||||||
|
"Roku, Inc": "tv",
|
||||||
|
"Roku, Inc.": "tv",
|
||||||
|
"Routerboard.com": "network_appliance",
|
||||||
|
"Ruckus Wireless": "network_appliance",
|
||||||
|
"SAMSUNG ELECTRO MECHANICS CO., LTD.": "phone",
|
||||||
|
"SAMSUNG ELECTRO-MECHANICS(THAILAND)": "phone",
|
||||||
|
"SAMSUNG ELECTRONICS": "phone",
|
||||||
|
"SAMSUNG Electronics Co.,Ltd.(LED Division)": "phone",
|
||||||
|
"SAMSUNG Electronics. Co. LTD": "phone",
|
||||||
|
"SHEN ZHEN TENDA TECHNOLOGY CO.,LTD": "network_appliance",
|
||||||
|
"SHIELD-CCTV CO.,LTD.": "home_security",
|
||||||
|
"SVP Broadcast Microwave S.L.": "home_appliance",
|
||||||
|
"Samsung Electronics": "phone",
|
||||||
|
"Samsung Electronics (UK) Ltd": "phone",
|
||||||
|
"Samsung Electronics Co., Ltd": "phone",
|
||||||
|
"Samsung Electronics Co., Ltd.": "phone",
|
||||||
|
"Samsung Electronics Co., Ltd. ARTIK": "phone",
|
||||||
|
"Samsung Electronics Co., Ltd., Memory Division": "phone",
|
||||||
|
"Samsung Electronics Co.,Ltd": "phone",
|
||||||
|
"Samsung Electronics.,LTD": "phone",
|
||||||
|
"Securus CCTV India": "home_security",
|
||||||
|
"Seiko Epson Corporation": "printer",
|
||||||
|
"Shanghai Dahua Scale Factory": "home_security",
|
||||||
|
"Shenzhen Skyworth Digital Technology CO., Ltd": "tv",
|
||||||
|
"Shenzhen Skyworth Display Technologies Co.,Ltd": "tv",
|
||||||
|
"Shenzhen Skyworth Wireless Technology Co.,Ltd": "tv",
|
||||||
|
"Shenzhen TCL New Technology Co., Ltd": "tv",
|
||||||
|
"Sichuan Bihong Broadcast & Television New Technologies Co.,Ltd": "tv",
|
||||||
|
"Skyworth Digital Technology(Shenzhen) Co.,Ltd": "tv",
|
||||||
|
"Skyworth Overseas Development Ltd.": "tv",
|
||||||
|
"Skyworth Wireless Technology Ltd.": "tv",
|
||||||
|
"Society of Motion Picture & Television Engineers": "tv",
|
||||||
|
"SonicWALL": "network_appliance",
|
||||||
|
"SonicWall": "network_appliance",
|
||||||
|
"Sonicwall": "network_appliance",
|
||||||
|
"Sony Computer Entertainment America": "gaming_console",
|
||||||
|
"Sony Interactive Entertainment Inc.": "gaming_console",
|
||||||
|
"Southwest Microwave, Inc": "home_appliance",
|
||||||
|
"Specialty Microwave Corp": "home_appliance",
|
||||||
|
"Suunto Oy": "watch",
|
||||||
|
"Synology Incorporated": "server",
|
||||||
|
"TANDBERG TELEVISION AS": "tv",
|
||||||
|
"TCL INCORPORATED": "tv",
|
||||||
|
"TCL King Electrical Appliances (Huizhou) Co., Ltd": "tv",
|
||||||
|
"TCL King Electrical Appliances(Huizhou)Co.,Ltd": "tv",
|
||||||
|
"TCL MOKA International Limited": "tv",
|
||||||
|
"TCL Networks Equipment Co., Ltd.": "tv",
|
||||||
|
"TCL OPERATIONS POLSKA SP. Z O.O.": "tv",
|
||||||
|
"TCL Technoly Electronics (Huizhou) Co., Ltd.": "tv",
|
||||||
|
"TCL Yuxin Zhixing Technology (Huizhou) Co.,Ltd": "tv",
|
||||||
|
"TOHOKU RICOH Co., LTD.": "printer",
|
||||||
|
"TOSHIBA CLIENT SOLUTIONS CO., LTD.": "laptop",
|
||||||
|
"TOSHIBA CORPORATION": "laptop",
|
||||||
|
"TOSHIBA MITSUBISHI-ELECTRIC INDUSTRIAL SYSTEMS CORPORATION": "laptop",
|
||||||
|
"TP-LINK TECHNOLOGIES CO.,LTD.": "network_appliance",
|
||||||
|
"TP-Link Systems Inc": "network_appliance",
|
||||||
|
"TP-Link Systems Inc.": "network_appliance",
|
||||||
|
"TRAK Microwave": "home_appliance",
|
||||||
|
"Tadiran Microwave Networks": "home_appliance",
|
||||||
|
"Tenda Technology Co., Ltd.": "network_appliance",
|
||||||
|
"Tenda Technology Co.,Ltd.Dongguan branch": "network_appliance",
|
||||||
|
"The Linksys Group, Inc.": "network_appliance",
|
||||||
|
"TiVo": "tv",
|
||||||
|
"Toshiba": "laptop",
|
||||||
|
"Toshiba Corp.": "laptop",
|
||||||
|
"Toshiba Corporation": "laptop",
|
||||||
|
"Toshiba Electron Tubes & Devices Co., Ltd.": "laptop",
|
||||||
|
"Toshiba Global Commerce Solutions": "laptop",
|
||||||
|
"Toshiba TEC Corporation Inc": "printer",
|
||||||
|
"Toshiba Teli Corporation": "laptop",
|
||||||
|
"Toshiba Toko Meter Systems Co., LTD.": "laptop",
|
||||||
|
"Toshiba Visual Solutions Corporation Co.,Ltd": "laptop",
|
||||||
|
"US Digital Television, Inc": "tv",
|
||||||
|
"Ubiquiti Inc": "network_appliance",
|
||||||
|
"Vestel Elektronik San ve Tic. A.S.": "tv",
|
||||||
|
"Vivotek, Inc.": "home_security",
|
||||||
|
"Vizio, Inc": "tv",
|
||||||
|
"Vuzix / Lenovo": "laptop",
|
||||||
|
"WatchGuard Technologies, Inc.": "network_appliance",
|
||||||
|
"WatchGuard Video": "network_appliance",
|
||||||
|
"Wearable Inc.": "watch",
|
||||||
|
"Whirlpool Corporation": "home_appliance",
|
||||||
|
"Wireless CCTV Ltd": "home_security",
|
||||||
|
"Withings": "watch",
|
||||||
|
"Work Microwave GmbH": "home_appliance",
|
||||||
|
"Wyze Labs Inc": "home_security",
|
||||||
|
"XEROX CORP UNIV GRANT PROGRAM": "printer",
|
||||||
|
"XEROX CORPORATION": "printer",
|
||||||
|
"XIAOMI Electronics,CO.,LTD": "phone",
|
||||||
|
"Xerox Corporation": "printer",
|
||||||
|
"Xerox International Partners": "printer",
|
||||||
|
"Xiaomi Communications Co Ltd": "phone",
|
||||||
|
"Xiaomi EV Technology Co., Ltd.": "phone",
|
||||||
|
"ZHEJIANG DAHUA TECHNOLOGYCO.,LTD": "home_security",
|
||||||
|
"ZHEJIANG DAHUA ZHILIAN CO.,LTD": "home_security",
|
||||||
|
"Zebra Technologies Corp.": "printer",
|
||||||
|
"Zebra Technologies Inc": "printer",
|
||||||
|
"Zebra Technologies Inc.": "printer",
|
||||||
|
"Zhejiang Broadcast&Television Technology Co.,Ltd.": "tv",
|
||||||
|
"Zhejiang Dahua Technology Co., Ltd.": "home_security",
|
||||||
|
"Zyxel Communications Corporation": "network_appliance",
|
||||||
|
"eero inc.": "network_appliance",
|
||||||
|
"s.m.s smart microwave sensors GmbH": "home_appliance",
|
||||||
|
"vivo Mobile Communication Co., Ltd.": "phone",
|
||||||
|
"zte corporation": "network_appliance"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user