Seems like a reasonable time for a review.
This version supports both Omnia (>=4.0) and MOX. Returned interfaces are static, depends on the detected model and detected modules (in case of MOX). In other words, it does not detect interfaces, it uses the knowledge what interfaces should be present.
API should be fixed, backend detection may change in the future.
For now, it cannot dynamically detect external interfaces (like USB ethernet). That should come next.