Lua developer with good understanding of Python We have a requirement for Python libraries to be converted to Lua. Original Python developer will be available for support. Includes working with OPAC, CHACHA Poly and mDNS.

Job ID: 33072257

Budget: $15 – $25 USD

To start with we would be looking at the opac parser. Everything needs to be completed in Lua, we cannot use C libs.

For the next steps of the project we need to do the following:
Will need to read here and get a good understanding of the flows: https://pyatv.dev/documentation/protocols/#companion-link
1) Enhance existing Lua MDNS code for Companion protocol discovery and port extraction
2) Migrate our existing Airplay Lua pair verify code to Companion pair verify using the discovered port. This is simple enough as it is a straight TCP data exchange without the HTTP
Docs for this are here: https://pyatv.dev/documentation/protocols/#authentication
3) Migrate the Pyatv opack code to Lua, this can be fund here: https://github.com/postlund/pyatv/blob/master/pyatv/protocols/companion/opack.py I would suggest getting a good understanding of the companion protocol first as not all types will be needed.
4) Use the chachapoly library (this one seems good and has been tested https://github.com/philanc/plc/blob/master/plc/aead_chacha_poly.lua) to start wrapping up coms
https://pyatv.dev/documentation/protocols/#encryption
All of the above is based on the initial pairing being done by our desktop pairing app (already done and written in C sharp)
Once the pairing app has been used, it will provide a unique uuid4 code that is the key to the pairing credentials stored in our cloud server. With this key, you can then step through the pair verify process with our cloud server using the driver as a relay for the data.
Related categories: C Programming Python Lua