Python: Abrir uma porta de escuta atrás de um roteador (upnp?)

Eu desenvolvi um aplicativo que é essencialmente apenas um pequeno servidor ftp com a capacidade de especificar qual diretório você deseja compartilhar na inicialização. Estou usando o ftplib para o servidor porque é fácil demais. O único problema que tenho é que, se você está atrás de um roteador, precisa encaminhar manualmente as portas do roteador e estou descobrindo que é um pouco complicado demais para meus usuários (também conhecidos como colegas de trabalho / clientes).

Então, eu estou procurando uma solução simples para abrir portas, mas estou descobrindo que a maioria das APIs é muito ampla e exagerada. Alguém conhece uma solução que seria relativamente simples de implementar?

Nota: Ele realmente será usado apenas no Windows, embora a compatibilidade entre plataformas seja bem-vinda. Se houver uma solução apenas para Windows que seja mais simples, eu optaria por isso.

Obrigado!

questionAnswers(5)

yourAnswerToTheQuestion