gitextract_tf2gfbvd/ ├── .editorconfig ├── .gitignore ├── .readthedocs.yaml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── Release.make ├── docs/ │ ├── Makefile │ ├── make.bat │ ├── requirements.txt │ └── source/ │ ├── conf.py │ ├── facedancer_examples.rst │ ├── getting_started.rst │ ├── howto_facedancer_backend.rst │ ├── index.rst │ ├── library_overview.rst │ ├── using_facedancer.rst │ └── using_usb_proxy.rst ├── examples/ │ ├── coroutine.py │ ├── ftdi-echo.py │ ├── hackrf-info.py │ ├── imperative.py │ ├── mass-storage.py │ ├── minimal.py │ ├── rubber-ducky.py │ ├── template.py │ ├── test_minimal.py │ └── usbproxy.py ├── facedancer/ │ ├── __init__.py │ ├── backends/ │ │ ├── MAXUSBApp.py │ │ ├── __init__.py │ │ ├── base.py │ │ ├── goodfet.py │ │ ├── greatdancer.py │ │ ├── greathost.py │ │ ├── hydradancer.py │ │ ├── libusbhost.py │ │ ├── moondancer.py │ │ └── raspdancer.py │ ├── classes/ │ │ ├── __init__.py │ │ └── hid/ │ │ ├── __init__.py │ │ ├── descriptor.py │ │ ├── keyboard.py │ │ └── usage.py │ ├── configuration.py │ ├── core.py │ ├── descriptor.py │ ├── device.py │ ├── devices/ │ │ ├── __init__.py │ │ ├── ftdi.py │ │ ├── keyboard.py │ │ └── umass/ │ │ ├── __init__.py │ │ ├── disk_image.py │ │ └── umass.py │ ├── endpoint.py │ ├── errors.py │ ├── filters/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── hid.py │ │ ├── logging.py │ │ └── standard.py │ ├── interface.py │ ├── logging.py │ ├── magic.py │ ├── proxy.py │ ├── request.py │ └── types.py ├── pyproject.toml └── test/ ├── README.md ├── __init__.py ├── base.py ├── device.py ├── test_alternate.py ├── test_descriptors.py ├── test_stress.py └── test_transfers.py