Django Livre Torrent
O que é e como funciona na prática
Django Livre Torrent é um projeto open-source que usa o framework Django para gerenciar trackers de torrent. Não é nada do outro mundo tecnicamente, mas a documentação é fraca e a comunidade pequena, então muita coisa se aprende na marra. A estrutura básica é um painel web onde você publica torrents, monitora seeds/peers e gerencia permissões. Por trás, usa PostgreSQL ou MySQL para armazenar os metadados dos trackers, e o Django lida com toda a camada de autenticação e administração.
Como baixar o django livre torrent
Você encontra o repositório no GitHub. O link direto é github.com/opensourcedprojects/django-livre-torrent. Clone com git, copie o arquivo .env.example para .env e preencha as variáveis de ambiente. As dependências principais são Django 4.2+, psycopg2-binary, celery, redis e tornado para a parte do tracker em tempo real. Depois do clone, rode pip install -r requirements.txt, depois python manage.py migrate. A migração costuma passar tranquilo, mas se aparecer erro de coluna duplicada, delete o arquivo db.sqlite3 e os diretórios de migração e comece do zero. Para rodar em produção, use gunicorn com um worker por core mais um extra, e coloca o tornado separadamente para a comunicação do tracker. Eu configurei com supervisord e nunca mais fui interrompido por processos morrendo.
Configuração crítica que ninguém avisa: a variável TORRENT_TRACKER_PORT precisa estar exposta no firewall e no docker-compose se usar container. Deixa ela fechada e o tracker não funciona. Parece óbvio, mas gastou umas 3 horas minha descobrindo isso porque o log do Django não reclamava de nada, só não aparecia peer algum.

Pegadinhas que eu aprendi na prática
O primeiro problema real que encontrei foi com o clean-up de anúncios obsoletos. O projeto vem com um comando clean_announcements que roda via cron, mas o intervalo padrão é de 24 horas. Em um tracker com muitos torrents, isso acumula linhas mortas na tabela announcements e o banco vai virando lixo lento. A solução foi ajustar para rodar a cada 6 horas e adicionar um índice composto em (info_hash, announced_at). A query de limpeza caiu de 4 segundos para 80 milissegundos. Outro ponto: a validação de .torrent files. O sistema aceita qualquer arquivo que o parser consiga ler, mas não faz checksum do info-hash contra o conteúdo real. Já vi um usuário subir um torrent com info-hash corrompido e o tracker registrar tudo certinho, só que ninguém conseguia baixá-lo. A workaround que eu fiz foi um signal no save do Torrent model que recalcula o info-hash pelo conteúdo do arquivo e marca como inválido se não bater.
Vantagens e limitações honestas
O lado bom é que a interface admin do Django resolve muita coisa rápido. Você configura usuários, papéis e categorias sem escrever uma linha de JavaScript. O painel fica pronto em minutos. Para um tracker interno de uso restrito, isso é suficiente. O lado ruim é a falta de suporte a IPv6 nativo. O código faz parse do peer address como string e não normaliza endereços IPv6. Se sua rede tem dual-stack, metade dos peers não aparece nos logs corretamente. Também não há rate limiting configurável fora do código-fonte, o que é arriscado em ambientes públicos. Se você precisa de algo mais robusto, considere usar um tracker existente como rtorrent ou nginx-rtmp-module combinado com um frontend Django separado. O django livre torrent funciona bem para uso interno, pequenas comunidades ou estudantes, mas não escala bem para milhares de peers ativos simultâneos.
Resumo do setup completo
Clonar o repositório, configurar .env com DATABASE_URL, SECRET_KEY e as portas do tracker. Rodar migrations, collectstatic e subir com gunicorn mais tornado. Configurar o supervisor para gerenciar os dois processos. Colocar nginx na frente fazendo reverse proxy e balanceamento. Testar com um torrent simples e verificar se os peers aparecem no painel admin dentro de 30 segundos. Se alguma coisa falhar, o primeiro lugar pra olhar é o log do tornado, não o do Django. Eles são processos separados e o error log do Django não mostra o que acontece na camada do tracker.

Galeria
-
Prime Video: Django Livre -
Django Livre | Apple TV -
Blu-ray Django Livre | Shopee Brasil