O EPSV elimina um problema de endereço FTP, não a segunda conexão
Entenda o endpoint de dados passivo quando o login FTP funciona através de um proxy mas a listagem ou a preparação da transferência falha.
O EPSV continua a abrir uma conexão de dados FTP separada. Altera as informações do endpoint, não o número de conexões.
Uma resposta PASV tradicional fornece um endereço e uma porta. Esse endereço pode ser inutilizável fora da rede do servidor. O EPSV fornece uma porta e usa o endereço do servidor associado à conexão de controle.
Através de um proxy, mantenha a identidade lógica do servidor FTP. O endereço de escuta do intermediário não é automaticamente o servidor que possui a porta de dados devolvida.
A conexão de dados também precisa da rota de proxy prevista e de permissão para alcançar a porta escolhida. Aceitar um CONNECT para a porta de controle FTP não autoriza todas as conexões de dados seguintes.
Antes de desativar o EPSV, inspecione a resposta passiva e o endereço do servidor e a porta pedidos para a transferência. Um login FTP bem-sucedido estabelece a conexão de controle; deixa a conexão de dados para verificar. Com Python ftplib, siga os dois construtores de socket em vez de confiar apenas no padrão do PySocks.