Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
insightsnexus — Aplicação de Investigação em Grafos OSINT | Kitploit
Ferramentas/GitHubGitHub/cyberintel-labs/insightsnexus
OSINT (Inteligência de Fontes Abertas)ReconhecimentoMapeamento de RedeEscaneamento de PortasEnumeração de DNS e SubdomíniosColeta de InformaçõesSegurança WebInteligência de AmeaçasAprendizado e EducaçãoRecursos Curados
GitHub
34319há 9 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
cyberintel-labs/insightsnexus

insightsnexus

Aplicação de Investigação em Grafos OSINT

Ver RepositórioSite

npm formidable package logo

formidable [![npm version][npmv-img]][npmv-url] [![MIT license][license-img]][license-url] [![Libera Manifesto][libera-manifesto-img]][libera-manifesto-url] [![Twitter][twitter-img]][twitter-url]

A Node.js module for parsing form data, especially file uploads.

[![Code style][codestyle-img]][codestyle-url] [![codecoverage][codecov-img]][codecov-url] [![linux build status][linux-build-img]][build-url] [![macos build status][macos-build-img]][build-url]

Se você tiver qualquer tipo de pergunta sobre como fazer, por favor leia o [Contributing Guia][contributing-url] e [Código de Conduta][code_of_conduct-url] documentos.
Para relatórios de bugs e solicitações de recursos, [crie uma issue][open-issue-url] ou ping @tunnckoCore / @3a1FcBx0 no Twitter.

[![Conventional Commits][ccommits-img]][ccommits-url] [![Minimum Required Nodejs][nodejs-img]][npmv-url] [![Tidelift Subscription][tidelift-img]][tidelift-url] [![Buy me a Kofi][kofi-img]][kofi-url] [![Renovate App Status][renovateapp-img]][renovateapp-url] [![Make A Pull Request][prs-welcome-img]][prs-welcome-url]

Este projeto é semanticamente versionado e está disponível como parte da [Assinatura Tidelift][tidelift-url] para nível profissional garantias, suporte aprimorado e segurança. Saiba mais.

Os mantenedores do formidable e milhares de outros pacotes estão trabalhando com Tidelift para fornecer suporte comercial e manutenção para o Open Source dependências que você usa para construir seus aplicativos. Economize tempo, reduza riscos e melhorar a integridade do código, enquanto paga aos mantenedores das dependências exatas que você usar.

[![][npm-weekly-img]][npmv-url] [![][npm-monthly-img]][npmv-url] [![][npm-yearly-img]][npmv-url] [![][npm-alltime-img]][npmv-url]

Status do Projeto: Mantido

Verifique VERSION NOTES para obter mais informações sobre os planos v1, v2 e v3, NPM dist-tags e branches.

Este módulo foi inicialmente desenvolvido por @felixge para Transloadit, um serviço focado em upload e codificação de imagens e vídeos. Foi testado em batalha contra centenas de GBs de uploads de arquivos de uma grande variedade de clientes e é considerado pronto para produção e é usado na produção por anos.

Atualmente, somos poucos mantenedores tentando lidar com isso. :) Mais contribuidores são sempre bem-vindos! ❤️ Pule issue #412 que está fechado, mas se você estiver interessado, podemos discuti-lo e adicioná-lo após regras estritas, como ativar o Two-Factor Auth em suas contas npm e GitHub.

Destaques

  • Rápido (~ 900-2500 mb/seg) e analisador multiparte de streaming
  • Gravar uploads de arquivos automaticamente no disco (opcional, consulte options.fileWriteStreamHandler)
  • API de plug-ins - permitindo analisadores e plug-ins personalizados
  • Baixo consumo de memória
  • Tratamento de erros gracioso
  • Cobertura de teste muito alta

Instalar

Este projeto requer Node.js >= 10.13. Instale-o usando yarn ou npm.
Nós altamente recomendamos usar o Yarn quando pensar em contribuir para este projeto.

Este é um pacote de baixo nível e, se você estiver usando uma estrutura de alto nível, pode já estar incluído. Verifique os exemplos abaixo e a pasta examples/.

# v2
npm install formidable
npm install formidable@v2

# v3
npm install formidable@v3

Nota: Em um futuro próximo, a v3 será publicada na dist-tag latest do NPM. Versões futuras não prontas serão publicadas nas dist-tags *-next para a versão correspondente.

Exemplos

Para mais exemplos veja o diretório examples/.

com módulo http Node.js

Analisar um upload de arquivo de entrada, com o Módulo http integrado do Node.js.

import http from 'node:http';
import formidable, {errors as formidableErrors} from 'formidable';

const server = http.createServer((req, res) => {
  if (req.url === '/api/upload' && req.method.toLowerCase() === 'post') {
    // analisar um upload de arquivo
    const form = formidable({});

    form.parse(req, (err, fields, files) => {
      if (err) {
        // exemplo para verificar um erro muito específico
        if (err.code === formidableErrors.maxFieldsExceeded) {

        }
        res.writeHead(err.httpCode || 400, { 'Content-Type': 'text/plain' });
        res.end(String(err));
        return;
      }
      res.writeHead(200, { 'Content-Type': 'application/json' });
      res.end(JSON.stringify({ fields, files }, null, 2));
    });

    return;
  }

  // mostrar um formulário de upload de arquivo
  res.writeHead(200, { 'Content-Type': 'text/html' });
  res.end(`
    <h2>With Node.js <code>"http"</code> module</h2>
    <form action="/api/upload" enctype="multipart/form-data" method="post">
      <div>Text field title: <input type="text" name="title" /></div>
      <div>File: <input type="file" name="multipleFiles" multiple="multiple" /></div>
      <input type="submit" value="Upload" />
    </form>
  `);
});

server.listen(8080, () => {
  console.log('Server listening on http://localhost:8080/ ...');
});

com Express.js

Existem várias variantes para fazer isso, mas o Formidable só precisa do Node.js Request stream, então algo como o exemplo a seguir deve funcionar bem, sem nenhum middleware Express.js de terceiros.

Ou tente o examples/with-express.js

import express from 'express';
import formidable from 'formidable';

const app = express();

app.get('/', (req, res) => {
  res.send(`
    <h2>With <code>"express"</code> npm package</h2>
    <form action="/api/upload" enctype="multipart/form-data" method="post">
      <div>Text field title: <input type="text" name="title" /></div>
      <div>File: <input type="file" name="someExpressFiles" multiple="multiple" /></div>
      <input type="submit" value="Upload" />
    </form>
  `);
});

app.post('/api/upload', (req, res, next) => {
  const form = formidable({});

  form.parse(req, (err, fields, files) => {
    if (err) {
      next(err);
      return;
    }
    res.json({ fields, files });
  });
});

app.listen(3000, () => {
  console.log('Server listening on http://localhost:3000 ...');
});

com Koa e Formidable

Claro, com Koa v1, v2 ou future v3 as coisas sao muito parecidas. Você pode usar formidable manualmente como mostrado abaixo ou através do pacote koa-better-body que é usando formidable sob o capô e suporte a mais recursos e diferentes corpos de solicitação, verifique sua documentação para mais informações.

Nota: este exemplo está assumindo Koa v2. Esteja ciente de que você deve passar ctx.req que é a solicitação do Node.js e NÃO o ctx.request que é a solicitação do Koa objeto - há uma diferença.

import Koa from 'Koa';
import formidable from 'formidable';

const app = new Koa();

app.on('error', (err) => {
  console.error('server error', err);
});

app.use(async (ctx, next) => {
  if (ctx.url === '/api/upload' && ctx.method.toLowerCase() === 'post') {
    const form = formidable({});
Baixar ferramenta