def find_device(): """Returns first WebUSB or HID transport.""" for d in WebUsbTransport.enumerate(): return WebUsbTransport(d) for d in HidTransport.enumerate(): return HidTransport(d)
def enumerate(self): from keepkeylib.transport_webusb import WebUsbTransport results = [] for dev in WebUsbTransport.enumerate(): path = ":".join(str(x) for x in ["%03i" % (dev.getBusNumber(),)] + dev.getPortNumberList()) usb_id = (dev.getVendorID(), dev.getProductID()) serial = dev.getSerialNumber() results.append(Device(path=path, interface_number=-1, id_=serial, product_key=usb_id, usage_page=0)) return results
def enumerate(self): from keepkeylib.transport_webusb import WebUsbTransport results = [] for dev in WebUsbTransport.enumerate(): path = self._dev_to_str(dev) results.append(Device(path=path, interface_number=-1, id_=path, product_key=(dev.getVendorID(), dev.getProductID()), usage_page=0, transport_ui_string=f"webusb:{path}")) return results
def webusb_transport(self, device): from keepkeylib.transport_webusb import WebUsbTransport for d in WebUsbTransport.enumerate(): if device.id_.startswith(d.getSerialNumber()): return WebUsbTransport(d) return WebUsbTransport(device)
def webusb_transport(self, device): from keepkeylib.transport_webusb import WebUsbTransport for dev in WebUsbTransport.enumerate(): if device.path == self._dev_to_str(dev): return WebUsbTransport(dev)
def _enumerate_web_usb(self): if self.libraries_available: from keepkeylib.transport_webusb import WebUsbTransport return WebUsbTransport.enumerate() return []
# # The script has been modified for KeepKey Device. from __future__ import print_function import sys sys.path = ['../',] + sys.path from keepkeylib.transport_pipe import PipeTransport from keepkeylib.transport_hid import HidTransport from keepkeylib.transport_socket import SocketTransportClient from keepkeylib.transport_webusb import WebUsbTransport from keepkeylib.transport_udp import UDPTransport hid_devices = HidTransport.enumerate() webusb_devices = WebUsbTransport.enumerate() reload(sys) sys.setdefaultencoding('utf8') # Only count a hid device if it has more than just the U2F interface exposed onlyU2F = len(hid_devices) > 0 and \ hid_devices[0][0] == None and hid_devices[0][1] == None and hid_devices[0][2] != None if len(hid_devices) > 0 and not onlyU2F: if hid_devices[0][1] != None: print('Using KeepKey over HID') TRANSPORT = HidTransport TRANSPORT_ARGS = (hid_devices[0],) TRANSPORT_KWARGS = {'debug_link': False} DEBUG_TRANSPORT = HidTransport