{"id":31663914,"url":"https://github.com/ravenastar-js/ravpagelinks","last_synced_at":"2026-04-20T19:31:46.778Z","repository":{"id":318459089,"uuid":"1071387674","full_name":"ravenastar-js/ravpagelinks","owner":"ravenastar-js","description":"🚀 RavPageLinks 🕷️ Ferramenta básica de Enumeração de URLs em Páginas Web","archived":false,"fork":false,"pushed_at":"2025-10-16T10:43:31.000Z","size":1364,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-28T00:54:57.705Z","etag":null,"topics":["axios","chalk","crawler","links","playwright","ravenastar","scraping","url-enumeration"],"latest_commit_sha":null,"homepage":"https://github.com/ravenastar-js/rav-archive/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravenastar-js.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ravenastar-js","patreon":"RavenaStar","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"polar":null,"custom":null}},"created_at":"2025-10-07T09:28:39.000Z","updated_at":"2025-10-16T10:43:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"5455370a-058a-4252-86c1-810f6cd2bd03","html_url":"https://github.com/ravenastar-js/ravpagelinks","commit_stats":null,"previous_names":["ravenastar-js/ravpagelinks"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/ravenastar-js/ravpagelinks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravenastar-js%2Fravpagelinks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravenastar-js%2Fravpagelinks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravenastar-js%2Fravpagelinks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravenastar-js%2Fravpagelinks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravenastar-js","download_url":"https://codeload.github.com/ravenastar-js/ravpagelinks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravenastar-js%2Fravpagelinks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32062288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","chalk","crawler","links","playwright","ravenastar","scraping","url-enumeration"],"created_at":"2025-10-07T20:51:49.024Z","updated_at":"2026-04-20T19:31:46.773Z","avatar_url":"https://github.com/ravenastar-js.png","language":"JavaScript","funding_links":["https://github.com/sponsors/ravenastar-js","https://patreon.com/RavenaStar"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://www.npmjs.com/package/ravpagelinks\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/-ravpagelinks-c40404?style=flat-square\u0026labelColor=c40404\u0026logo=npm\u0026logoColor=white\u0026link=https://www.npmjs.com/package/ravpagelinks\" height=\"40\" /\u003e\u003c/a\u003e  \n \u003ca href=\"https://www.npmjs.com/package/ravpagelinks\" target=\"_blank\"\u003e\u003cimg alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/ravpagelinks?style=flat-square\u0026logo=npm\u0026labelColor=c40404\u0026color=c40404\" height=\"40\" \u003e\u003c/a\u003e\n\n---\n\n# 🚀 RavPageLinks  \n### 🕷️ Ferramenta básica de Enumeração de URLs em Páginas Web\n\n[![⭐ Stars](https://img.shields.io/github/stars/ravenastar-js/ravpagelinks?style=for-the-badge\u0026label=%E2%AD%90%20Stars\u0026color=2d7445\u0026logo=star\u0026logoColor=white\u0026labelColor=444\u0026radius=10)](https://github.com/ravenastar-js/ravpagelinks/stargazers)\n[![🔱 Forks](https://img.shields.io/github/forks/ravenastar-js/ravpagelinks?style=for-the-badge\u0026label=%F0%9F%94%B1%20Forks\u0026color=2d7445\u0026logo=git\u0026logoColor=white\u0026labelColor=444\u0026radius=10)](https://github.com/ravenastar-js/ravpagelinks/network/members)\n[![👁️ Watchers](https://img.shields.io/github/watchers/ravenastar-js/ravpagelinks?style=for-the-badge\u0026label=%F0%9F%91%81%EF%B8%8F%20Watchers\u0026color=2d7445\u0026logo=eye\u0026logoColor=white\u0026labelColor=444\u0026radius=10)](https://github.com/ravenastar-js/ravpagelinks/watchers)\n[![📄 License](https://img.shields.io/github/license/ravenastar-js/ravpagelinks?style=for-the-badge\u0026label=%F0%9F%93%84%20License\u0026color=2d7445\u0026logo=book\u0026logoColor=white\u0026labelColor=444\u0026radius=10)](https://github.com/ravenastar-js/ravpagelinks/blob/main/LICENSE)\n[![🕒 Last Commit](https://img.shields.io/github/last-commit/ravenastar-js/ravpagelinks?style=for-the-badge\u0026label=%F0%9F%95%92%20Last%20Commit\u0026color=2d7445\u0026logo=clock\u0026logoColor=white\u0026labelColor=444\u0026radius=10)](https://github.com/ravenastar-js/ravpagelinks/commits/all)\n[![📦 Repo Size](https://img.shields.io/github/repo-size/ravenastar-js/ravpagelinks?style=for-the-badge\u0026label=%F0%9F%93%A6%20Repo%20Size\u0026color=2d7445\u0026logo=database\u0026logoColor=white\u0026labelColor=444\u0026radius=10)](https://github.com/ravenastar-js/ravpagelinks)\n[![⚙️ Node.js](https://img.shields.io/badge/%E2%9A%99%EF%B8%8F%20Node.js-16.0%2B-green?style=for-the-badge\u0026logo=nodedotjs\u0026color=2d7445\u0026logoColor=white\u0026labelColor=444\u0026radius=10)](https://nodejs.org/pt/download)\n\n\n*Biblioteca NPM + CLI para extração de URLs automática de páginas*\n\n\n![RavPageLinks](media/ravpagelinks.png)\n\n\u003cdiv align=\"center\"\u003e\nBANNER INSPIRADO EM\n\u003cbr\u003e\n\u003ca href=\"https://store.steampowered.com/app/1507580/Enigma_do_Medo\" \u003e\n  \u003cimg src=\"https://i.imgur.com/Gbyx94i.png\" width=\"180\"\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n\u003c/div\u003e\n\n## 📞 Suporte \n\nSe precisar de ajuda ou quiser falar com a equipe, entre no nosso servidor de suporte:\n\n[![Servidor de Suporte](https://img.shields.io/badge/Servidor%20de%20Suporte-Discord-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white)](https://discord.gg/FncVNprdgP)\n\n---\n\n\n## 📋 Índice\n- [🎯 Visão Geral](#-visão-geral)\n- [📦 Instalação Rápida](#-instalação-rápida)\n- [🛠️ Como Usar](#️-como-usar)\n- [🎛️ Opções da CLI](#️-opções-da-cli)\n- [🔧 Filtros Avançados](#-filtros-avançados)\n- [📊 Métodos de Extração](#-métodos-de-extração)\n- [🚀 Exemplos Práticos](#-exemplos-práticos)\n- [🔍 Estrutura Técnica](#-estrutura-técnica)\n- [🐛 Solução de Problemas](#-solução-de-problemas)\n\n\n## 🎯 Visão Geral\n\nO **RavPageLinks** é uma ferramenta básica de enumeração de URLs que combina extração HTML tradicional com renderização completa de JavaScript usando Playwright.\n\n### ✨ Características Principais\n- 🌐 **Extração Híbrida**: HTML tradicional + renderização JavaScript\n- 🎯 **Filtros Inteligentes**: Domínio, regex e arquivos personalizados\n- 📊 **Logs Detalhados**: Console colorido + arquivos de log\n- 🚀 **Performance Otimizada**: Timeouts configuráveis e fallbacks\n- 🔒 **Validação Robusta**: URLs validadas e normalizadas\n\n## 📦 Instalação Rápida\n\n\u003cdetails\u003e\n\u003csummary\u003e📥 Como instalar o NodeJS?\u003c/summary\u003e\n\n- [COMO INSTALAR NODE JS NO WINDOWS?](https://youtu.be/-jft_9PlffQ)\n\u003c/details\u003e\n\n```bash\n# Instalar globalmente\nnpm i -g ravpagelinks          # ✅ Recomendado\nnpm install -g ravpagelinks    # ✅ Completo\n\n# Ou usar diretamente com npx\nnpx ravpagelinks https://secguide.pages.dev/ferramentas\n\n# Instalar navegador do Playwright\nnpx ravpagelinks --dw-nav\n```\n\n## 🗑️ DESINSTALAR GLOBALMENTE\n\n```bash\nnpm un -g ravpagelinks         # ✅ Recomendado  \nnpm uninstall -g ravpagelinks  # ✅ Completo\nnpm remove -g ravpagelinks     # ✅ Alternativo\n```\n\n## 🛠️ Como Usar\n\n### Uso Básico\n```bash\n# Extração básica\nravpagelinks https://secguide.pages.dev/ferramentas\n\n# Com logging detalhado no terminal\nravpagelinks https://secguide.pages.dev/ferramentas -v\n\n# Salvar em diretório específico\nravpagelinks https://secguide.pages.dev/ferramentas -o resultados\n```\n\n### Estrutura de Saída\n```\n📁 resultados/\n└── 📁 exemplo_com/\n    ├── 📄 links_home.txt\n    ├── 📄 links_sobre.txt\n    └── 📄 links_contato.txt\n```\n\n## 🎛️ Opções da CLI\n\n| Opção | Atalho | Descrição | Padrão |\n|-------|---------|-----------|---------|\n| `--output` | `-o` | 📁 Diretório de saída | `results` |\n| `--filter` | `-f` | 🔍 Filtro por domínio/regex | - |\n| `--filter-file` | - | 📄 Arquivo de filtros | `filtros.txt` |\n| `--filter-type` | - | 🎯 Tipo de filtro | `file` |\n| `--unique` | `-u` | ✨ Remover duplicatas | `false` |\n| `--verbose` | `-v` | 📢 Log detalhado | `false` |\n| `--enable-logs` | - | 📝 Logs em arquivo | `false` |\n| `--timeout` | - | ⏰ Timeout (ms) | `30000` |\n| `--no-playwright` | - | 🚫 Desativar Playwright | `false` |\n| `--headless` | - | 🌙 Navegador headless | `true` |\n| `--wait-time` | - | ⏳ Espera JS (ms) | `5000` |\n| `--scroll` | - | 📜 Rolagem automática | `false` |\n| `--browser` | - | 🌐 Navegador | `chromium` |\n\n## 🔧 Filtros Avançados\n\n### 📄 Arquivo de Filtros (`filtros.txt`)\n```\n# 🎯 Arquivo de Filtros de RavPageLinks\n# Formato: um filtro por linha\n\n# Domínios\ngoogle.com\ngithub.com\n\n# Caminhos\n/admin\n/api/v1\n\n# Regex\n^https://.*\\\\.com$\n/api/[a-z]+/v[0-9]\n\n# Substrings\nlogin\ndashboard\n```\n\n### Tipos de Filtro\n1. **🏷️ Domínio**: Filtra por nome de domínio\n2. **🔍 Regex**: Filtro por expressão regular  \n3. **📄 Arquivo**: Múltiplos filtros em arquivo\n4. **🔤 Substring**: Busca textual simples\n\n## 📊 Métodos de Extração\n\n### 1. 🏗️ Extração HTML Tradicional\n- **Velocidade**: ⭐⭐⭐⭐⭐\n- **JavaScript**: ❌ Não renderiza\n- **Uso**: `--no-playwright`\n\n### 2. 🌐 Playwright com Renderização\n- **Velocidade**: ⭐⭐⭐\n- **JavaScript**: ✅ Renderiza completo\n- **Recursos**: Scroll, wait...\n\n### 🔄 Fallback Automático\nSe o Playwright falhar, automaticamente usa extração HTML tradicional.\n\n## 🚀 Exemplos Práticos\n\n### 1. Reconhecimento Básico\n```bash\nravpagelinks https://secguide.pages.dev/ferramentas -v -o recon\n```\n\n### 2. Filtro por Domínio\n```bash\nravpagelinks https://secguide.pages.dev/ferramentas -f secguide.pages.dev --unique\n```\n\n### 3. Extração com JavaScript\n```bash\nravpagelinks https://secguide.pages.dev/ferramentas --scroll --wait-time 10000\n```\n\n### 4. Filtros Complexos\n```bash\nravpagelinks https://secguide.pages.dev/ferramentas --filter-file meus_filtros.txt --filter-type regex\n```\n\n### 5. Performance Crítica\n```bash\nravpagelinks https://secguide.pages.dev/ferramentas --no-playwright --timeout 15000\n```\n\n### 6. Logs Completos\n```bash\nravpagelinks https://secguide.pages.dev/ferramentas --verbose --enable-logs\n```\n\n## 🔍 Estrutura Técnica\n\n### 🏗️ Arquitetura do Sistema\n```\n📁 ravpagelinks/\n├── 📦 package.json\n├── 📖 README.md\n├── 🏠 index.js\n├── 🛠️ scripts/\n│   └── 📜 postinstall.js\n├── ⚡ bin/\n│   └── 🖥️ cli.js\n├── 📄 filtros.txt\n├── 📄 .android-platform     # gerado automaticamente\n└── 📁 src/\n    ├── 🎯 core/\n    │   ├── 🕷️ Crawler.js\n    │   ├── 🌐 URLExtractor.js\n    │   └── 🚀 PlaywrightCrawler.js\n    └── 🛠️ lib/\n        ├── 🎛️ filters/\n        │   ├── 🌐 DomainFilter.js\n        │   ├── 🔍 RegexFilter.js\n        │   └── ⚙️ FilterManager.js\n        └── 🔧 utils/\n            ├── 📁 FileHandler.js\n            ├── ✅ URLValidator.js\n            ├── 📝 AdvancedLogger.js\n            └── 📝 Logger.js\n```\n\n### 🔄 Fluxo de Processamento\n1. **📥 Entrada**: URL + opções\n2. **🌐 Crawling**: HTML ou Playwright\n3. **🔍 Extração**: URLs do conteúdo\n4. **🎯 Filtragem**: Aplicação de filtros\n5. **💾 Saída**: Arquivos organizados\n\n## 🐛 Solução de Problemas\n\n### ❌ Erros Comuns\n\n1. **Playwright não inicializa**\n   - Verifique: `npx playwright install`\n   - Alternative: Use `--no-playwright`\n\n2. **Timeout em sites lentos**\n   - Aumente: `--timeout 60000`\n   - Ajuste: `--wait-time 10000`\n\n3. **Muitas URLs duplicadas**\n   - Use: `--unique` ou `-u`\n\n4. **Filtros não funcionando**\n   - Verifique sintaxe do `filtros.txt`\n   - Use `--verbose` para debug\n\n### 🔧 Dicas de Performance\n\n- **Sites estáticos**: Use `--no-playwright`\n- **SPA/React**: Use `--scroll --wait-time 10000`  \n- **Grandes sites**: Aumente `--timeout`\n- **Debug**: Use `--verbose` e cheque logs\n\n### 📊 Otimização de Resultados\n\n1. **Combine filtros** no arquivo `filtros.txt`\n2. **Use `--unique`** para limpar duplicatas\n3. **Ajuste timeouts** conforme a rede\n4. **Experimente métodos** de extração diferentes\n\n### 🛠️ Desenvolvimento\n```bash\n# Clonar e desenvolver\ngit clone https://github.com/ravenastar-js/ravpagelinks.git\ncd ravpagelinks\nnpm install\nnpm run dev\n```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n## Feito com 💚 por [RavenaStar](https://linktr.ee/ravenastar)\n\n[⬆ Voltar ao topo](#-ravpagelinks)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravenastar-js%2Fravpagelinks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravenastar-js%2Fravpagelinks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravenastar-js%2Fravpagelinks/lists"}