@lucasmod/modulo-torrent
Version:
Módulo para scraping de torrents, desenvolvido por @lucas_mod_domina.
257 lines (217 loc) • 7.74 kB
Markdown
[](#table-of-contents)
# Módulo Torrent 🚀

[](https://www.npmjs.com/package/modulo-torrent)
[](https://travis-ci.org/username/modulo-torrent)
[](LICENSE)
---------
<details open align="center">
<summary><b>↓ Total de visitantes ↓</b></summary>
<br>
<a href="https://www.instagram.com/lucas_mod_domina"><img alt="Cute Count" src="https://count.getloli.com/get/@NeofetchNpc?theme=rule34"/></a>
</details>
</div>
---------
> **Módulo Torrent** é uma biblioteca Node.js que facilita o acesso a informações de torrents do site Limontorrents, permitindo a extração de dados como destaques, os últimos adicionados e navegação paginada.
> Explore a documentação abaixo e descubra como integrar este módulo de forma simples e intuitiva! 😃
## 📌 Recursos
> ✨ *Funcionalidades Incríveis:*
- **getDestaques**: Recupera os torrents em destaque.
- **getUltimosAdicionados**: Lista os torrents mais recentes adicionados.
- **getPagination**: Permite navegar pelas páginas dos resultados.
- **search**: Realiza buscas por filmes ou séries.
- **getMovieDetails**: Obtém detalhes de um filme ou série.
- **downloadTorrent**: Faz o download de torrents com feedback de progresso.
- **getTorrentStream**: Inicia o streaming de um torrent com progresso dinâmico.
## ⚙️ Instalação
Para instalar o módulo, utilize o npm:
```bash
npm install @lucasmod/modulo-torrent
```
## 🚀 Modo de Uso
### Exemplo Básico
```js
const torrent = require('@lucasmod/modulo-torrent')
// Usando getDestaques
torrent.getDestaques((result) => {
console.log(JSON.stringify(result, null, 2))
})
```
```js
// Usando getUltimosAdicionados
torrent.getUltimosAdicionados((result) => {
console.log(JSON.stringify(result, null, 2))
})
```
```js
// Usando getPagination para a página 2
torrent.getPagination((result) => {
console.log(JSON.stringify(result, null, 2))
}, 2)
```
### Exemplos Avançados
```js
const torrent = require('@lucasmod/modulo-torrent')
// Usando getDestaques
torrent.getDestaques((result) => {
if (result.status) {
console.log('Destaques:', JSON.stringify(result, null, 2))
} else {
console.error('Erro ao buscar destaques:', result.mensagem)
}
})
```
```js
// Usando getUltimosAdicionados
torrent.getUltimosAdicionados((result) => {
if (result.status) {
console.log('Últimos Adicionados:', JSON.stringify(result, null, 2))
} else {
console.error('Erro ao buscar últimos adicionados:', result.mensagem)
}
})
```
```js
// Usando getPagination para a página 2
torrent.getPagination((result) => {
if (result.status) {
console.log('Página 2:', JSON.stringify(result, null, 2))
} else {
console.error('Erro ao buscar a página 2:', result.mensagem)
}
}, 2)
```
```js
// Usando search para buscar filmes ou séries
const searchQuery = 'avengers'
torrent.search(searchQuery)
.then(result => {
if (result.status) {
console.log(`Resultados para "${searchQuery}":`, JSON.stringify(result, null, 2))
} else {
console.error(`Erro ao buscar por "${searchQuery}":`, result.mensagem)
}
})
.catch(error => {
console.error('Erro ao realizar a busca:', error.message)
})
```
```js
// Usando getMovieDetails para obter detalhes de um filme ou série
const movieUrl = 'https://limontorrents.com/os-vingadores-the-avengers/'
torrent.getMovieDetails(movieUrl)
.then(result => {
console.log('Detalhes do Filme ou Série:', JSON.stringify(result, null, 2))
})
.catch(error => {
console.error('Erro ao buscar detalhes do filme ou série:', error.message)
})
```
```js
// Usando download para baixar um torrent
const magnetURI = 'magnet:?xt=urn:btih:D430C1BF03CCEC2375E7950853DFFABDF53C366B&dn=The.Avengers.Os.Vingadores.2012.720p-WOLVERDONFILMES.COM&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337'
torrent.downloadTorrent(magnetURI)
.then(result => {
console.log('Download concluído:')
console.log('Arquivo salvo em:', result.filePath)
// Escutando o progresso (caso o evento ainda esteja sendo emitido)
result.progressEmitter.on('progress', percent => {
console.log(`Progresso: ${percent}%`)
})
})
.catch(error => {
console.error('Erro ao fazer o download:', error.message)
})
```
```js
// Usando stream para streaming de um torrent
torrent.streamTorrent(magnetURI)
.then(result => {
console.log('Streaming iniciado:')
// Exemplo: lendo alguns dados do stream
result.stream.on('data', chunk => {
console.log(`Recebido chunk com ${chunk.length} bytes`)
})
result.progressEmitter.on('progress', percent => {
console.log(`Progresso do streaming: ${percent}%`)
})
})
.catch(error => {
console.error('Erro ao iniciar streaming:', error.message)
})
```
```js
// Usando download de maneira mais avançada para baixar um torrent
async function advancedDownload() {
try {
const result = await torrent.downloadTorrent(magnetURI)
console.log('Download iniciado com progresso dinâmico:')
// Exibe o progresso em tempo real
result.progressEmitter.on('progress', percent => {
process.stdout.write(`\rProgresso: ${percent}%`)
})
// Quando o download for concluído, exibe informações finais
console.log('\nDownload concluído:', result.filePath)
// Realiza a limpeza do engine
result.cleanup()
} catch (error) {
console.error('Erro:', error.message)
}
}
advancedDownload()
```
### Exemplos Express
```js
// Integração no Express
// Endpoint para streaming do torrent
app.get('/stream', async (req, res) => {
const magnetURI = 'magnet:?xt=urn:btih:D430C1BF03CCEC2375E7950853DFFABDF53C366B&dn=The.Avengers.Os.Vingadores.2012.720p-WOLVERDONFILMES.COM&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337'
try {
// Recupera o header de range, se presente
const range = req.headers.range || ''
const result = await torrent.streamTorrent(magnetURI, 0, range)
// Configura os cabeçalhos de resposta
res.writeHead(206, result.headers)
// Pipe do stream do torrent para a resposta HTTP
result.stream.pipe(res)
// Exibe o progresso no console
result.progressEmitter.on('progress', percent => {
console.log(`Streaming Progresso: ${percent}%`)
})
// Limpa o engine se o cliente encerrar a conexão
req.on('close', () => {
result.cleanup()
})
} catch (error) {
res.status(500).send(`Erro no streaming: ${error.message}`)
}
})
```
## Redes Sociais
Conecte-se comigo:
[](https://github.com/Otakump4)
[](https://youtube.com/@Otaku.mp4l)
[](https://wa.me/559491569380)
[](https://instagram.com/lucas_mod_domina)
[](https://t.me/LUCAS_MOD_DOMINA)
Copyright (c) 2025 Lucas Mod Domina