https://github.com/ravenastar-js/ravpagelinks
🚀 RavPageLinks 🕷️ Ferramenta básica de Enumeração de URLs em Páginas Web
https://github.com/ravenastar-js/ravpagelinks
axios chalk crawler links playwright ravenastar scraping url-enumeration
Last synced: 2 months ago
JSON representation
🚀 RavPageLinks 🕷️ Ferramenta básica de Enumeração de URLs em Páginas Web
- Host: GitHub
- URL: https://github.com/ravenastar-js/ravpagelinks
- Owner: ravenastar-js
- License: mit
- Created: 2025-10-07T09:28:39.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-16T10:43:31.000Z (8 months ago)
- Last Synced: 2025-10-28T00:54:57.705Z (8 months ago)
- Topics: axios, chalk, crawler, links, playwright, ravenastar, scraping, url-enumeration
- Language: JavaScript
- Homepage: https://github.com/ravenastar-js/rav-archive/
- Size: 1.3 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
---
# 🚀 RavPageLinks
### 🕷️ Ferramenta básica de Enumeração de URLs em Páginas Web
[](https://github.com/ravenastar-js/ravpagelinks/stargazers)
[](https://github.com/ravenastar-js/ravpagelinks/network/members)
[](https://github.com/ravenastar-js/ravpagelinks/watchers)
[](https://github.com/ravenastar-js/ravpagelinks/blob/main/LICENSE)
[](https://github.com/ravenastar-js/ravpagelinks/commits/all)
[](https://github.com/ravenastar-js/ravpagelinks)
[](https://nodejs.org/pt/download)
*Biblioteca NPM + CLI para extração de URLs automática de páginas*

---
## 📞 Suporte
Se precisar de ajuda ou quiser falar com a equipe, entre no nosso servidor de suporte:
[](https://discord.gg/FncVNprdgP)
---
## 📋 Índice
- [🎯 Visão Geral](#-visão-geral)
- [📦 Instalação Rápida](#-instalação-rápida)
- [🛠️ Como Usar](#️-como-usar)
- [🎛️ Opções da CLI](#️-opções-da-cli)
- [🔧 Filtros Avançados](#-filtros-avançados)
- [📊 Métodos de Extração](#-métodos-de-extração)
- [🚀 Exemplos Práticos](#-exemplos-práticos)
- [🔍 Estrutura Técnica](#-estrutura-técnica)
- [🐛 Solução de Problemas](#-solução-de-problemas)
## 🎯 Visão Geral
O **RavPageLinks** é uma ferramenta básica de enumeração de URLs que combina extração HTML tradicional com renderização completa de JavaScript usando Playwright.
### ✨ Características Principais
- 🌐 **Extração Híbrida**: HTML tradicional + renderização JavaScript
- 🎯 **Filtros Inteligentes**: Domínio, regex e arquivos personalizados
- 📊 **Logs Detalhados**: Console colorido + arquivos de log
- 🚀 **Performance Otimizada**: Timeouts configuráveis e fallbacks
- 🔒 **Validação Robusta**: URLs validadas e normalizadas
## 📦 Instalação Rápida
📥 Como instalar o NodeJS?
- [COMO INSTALAR NODE JS NO WINDOWS?](https://youtu.be/-jft_9PlffQ)
```bash
# Instalar globalmente
npm i -g ravpagelinks # ✅ Recomendado
npm install -g ravpagelinks # ✅ Completo
# Ou usar diretamente com npx
npx ravpagelinks https://secguide.pages.dev/ferramentas
# Instalar navegador do Playwright
npx ravpagelinks --dw-nav
```
## 🗑️ DESINSTALAR GLOBALMENTE
```bash
npm un -g ravpagelinks # ✅ Recomendado
npm uninstall -g ravpagelinks # ✅ Completo
npm remove -g ravpagelinks # ✅ Alternativo
```
## 🛠️ Como Usar
### Uso Básico
```bash
# Extração básica
ravpagelinks https://secguide.pages.dev/ferramentas
# Com logging detalhado no terminal
ravpagelinks https://secguide.pages.dev/ferramentas -v
# Salvar em diretório específico
ravpagelinks https://secguide.pages.dev/ferramentas -o resultados
```
### Estrutura de Saída
```
📁 resultados/
└── 📁 exemplo_com/
├── 📄 links_home.txt
├── 📄 links_sobre.txt
└── 📄 links_contato.txt
```
## 🎛️ Opções da CLI
| Opção | Atalho | Descrição | Padrão |
|-------|---------|-----------|---------|
| `--output` | `-o` | 📁 Diretório de saída | `results` |
| `--filter` | `-f` | 🔍 Filtro por domínio/regex | - |
| `--filter-file` | - | 📄 Arquivo de filtros | `filtros.txt` |
| `--filter-type` | - | 🎯 Tipo de filtro | `file` |
| `--unique` | `-u` | ✨ Remover duplicatas | `false` |
| `--verbose` | `-v` | 📢 Log detalhado | `false` |
| `--enable-logs` | - | 📝 Logs em arquivo | `false` |
| `--timeout` | - | ⏰ Timeout (ms) | `30000` |
| `--no-playwright` | - | 🚫 Desativar Playwright | `false` |
| `--headless` | - | 🌙 Navegador headless | `true` |
| `--wait-time` | - | ⏳ Espera JS (ms) | `5000` |
| `--scroll` | - | 📜 Rolagem automática | `false` |
| `--browser` | - | 🌐 Navegador | `chromium` |
## 🔧 Filtros Avançados
### 📄 Arquivo de Filtros (`filtros.txt`)
```
# 🎯 Arquivo de Filtros de RavPageLinks
# Formato: um filtro por linha
# Domínios
google.com
github.com
# Caminhos
/admin
/api/v1
# Regex
^https://.*\\.com$
/api/[a-z]+/v[0-9]
# Substrings
login
dashboard
```
### Tipos de Filtro
1. **🏷️ Domínio**: Filtra por nome de domínio
2. **🔍 Regex**: Filtro por expressão regular
3. **📄 Arquivo**: Múltiplos filtros em arquivo
4. **🔤 Substring**: Busca textual simples
## 📊 Métodos de Extração
### 1. 🏗️ Extração HTML Tradicional
- **Velocidade**: ⭐⭐⭐⭐⭐
- **JavaScript**: ❌ Não renderiza
- **Uso**: `--no-playwright`
### 2. 🌐 Playwright com Renderização
- **Velocidade**: ⭐⭐⭐
- **JavaScript**: ✅ Renderiza completo
- **Recursos**: Scroll, wait...
### 🔄 Fallback Automático
Se o Playwright falhar, automaticamente usa extração HTML tradicional.
## 🚀 Exemplos Práticos
### 1. Reconhecimento Básico
```bash
ravpagelinks https://secguide.pages.dev/ferramentas -v -o recon
```
### 2. Filtro por Domínio
```bash
ravpagelinks https://secguide.pages.dev/ferramentas -f secguide.pages.dev --unique
```
### 3. Extração com JavaScript
```bash
ravpagelinks https://secguide.pages.dev/ferramentas --scroll --wait-time 10000
```
### 4. Filtros Complexos
```bash
ravpagelinks https://secguide.pages.dev/ferramentas --filter-file meus_filtros.txt --filter-type regex
```
### 5. Performance Crítica
```bash
ravpagelinks https://secguide.pages.dev/ferramentas --no-playwright --timeout 15000
```
### 6. Logs Completos
```bash
ravpagelinks https://secguide.pages.dev/ferramentas --verbose --enable-logs
```
## 🔍 Estrutura Técnica
### 🏗️ Arquitetura do Sistema
```
📁 ravpagelinks/
├── 📦 package.json
├── 📖 README.md
├── 🏠 index.js
├── 🛠️ scripts/
│ └── 📜 postinstall.js
├── ⚡ bin/
│ └── 🖥️ cli.js
├── 📄 filtros.txt
├── 📄 .android-platform # gerado automaticamente
└── 📁 src/
├── 🎯 core/
│ ├── 🕷️ Crawler.js
│ ├── 🌐 URLExtractor.js
│ └── 🚀 PlaywrightCrawler.js
└── 🛠️ lib/
├── 🎛️ filters/
│ ├── 🌐 DomainFilter.js
│ ├── 🔍 RegexFilter.js
│ └── ⚙️ FilterManager.js
└── 🔧 utils/
├── 📁 FileHandler.js
├── ✅ URLValidator.js
├── 📝 AdvancedLogger.js
└── 📝 Logger.js
```
### 🔄 Fluxo de Processamento
1. **📥 Entrada**: URL + opções
2. **🌐 Crawling**: HTML ou Playwright
3. **🔍 Extração**: URLs do conteúdo
4. **🎯 Filtragem**: Aplicação de filtros
5. **💾 Saída**: Arquivos organizados
## 🐛 Solução de Problemas
### ❌ Erros Comuns
1. **Playwright não inicializa**
- Verifique: `npx playwright install`
- Alternative: Use `--no-playwright`
2. **Timeout em sites lentos**
- Aumente: `--timeout 60000`
- Ajuste: `--wait-time 10000`
3. **Muitas URLs duplicadas**
- Use: `--unique` ou `-u`
4. **Filtros não funcionando**
- Verifique sintaxe do `filtros.txt`
- Use `--verbose` para debug
### 🔧 Dicas de Performance
- **Sites estáticos**: Use `--no-playwright`
- **SPA/React**: Use `--scroll --wait-time 10000`
- **Grandes sites**: Aumente `--timeout`
- **Debug**: Use `--verbose` e cheque logs
### 📊 Otimização de Resultados
1. **Combine filtros** no arquivo `filtros.txt`
2. **Use `--unique`** para limpar duplicatas
3. **Ajuste timeouts** conforme a rede
4. **Experimente métodos** de extração diferentes
### 🛠️ Desenvolvimento
```bash
# Clonar e desenvolver
git clone https://github.com/ravenastar-js/ravpagelinks.git
cd ravpagelinks
npm install
npm run dev
```
---
## Feito com 💚 por [RavenaStar](https://linktr.ee/ravenastar)
[⬆ Voltar ao topo](#-ravpagelinks)