npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sysutilapi

v1.0.10

Published

SysUtilAPI é uma API, que roda em Nodejs e combina várias ferramentas diferentes úteis.

Downloads

16

Readme

SysUtilAPI

SysUtilAPI é uma API, que roda em Nodejs e combina várias ferramentas diferentes úteis.

Language Platforms License HitCount

Porta

A aplicação roda na porta 9091 porém pode ser alterado na variável cfg_porta

Autenticação

O acesso a api é feito utilizando autenticação básica HTTP (Basic Auth), e os usuários/senha são controlados na variável cfg_usuarios

Método

Toda chamada a API é feita via POST enviando no corpo da solicitação o JSON com os parâmetros

Sucesso

Em caso de sucesso, será retornado um json com dois valores:

  • httpcode: 200
  • body: Json com o resultado da requisição

Exemplo:

{
"httpcode": 200,
"body":{
}
}

Erro

Em caso de erro, será retornado um json com dois valores:

  • httpcode: 500
  • body/Msg: Mensagem de erro

Exemplo:

{
"httpcode": 500,
"body":{
"Msg": "Alguns dados nao foram preenchidos"
}
}

Requisitos

Para o funcionamento deste método é necessário instalar alguns programas:

  • https://wkhtmltopdf.org/downloads.html
  • https://download.imagemagick.org/ImageMagick/download/binaries/ImageMagick-7.0.10-56-Q16-HDRI-x64-dll.exe
  • https://www.ghostscript.com/download/gsdnld.html
  • http://www.graphicsmagick.org/download.html
  • https://dl.xpdfreader.com/xpdf-tools-win-4.02.zip

Métodos

Conversor de Página HTML para Arquivo PDF

Método: url_to_pdf

Exemplo:

{
  "url": "https://br.lipsum.com/feed/html",
  "options": {
    "page-size": "A4",
    "margin-bottom": 0,
    "margin-left": 0,
    "margin-top": 0,
    "margin-right": 0,
    "viewport-size": "1280x1024"
  }
}

Retorno:

{
"httpcode": 200,
"body":{
"Nome": "beafd9ea-7243-43a4-a894-2228a6b5bb4c.pdf",
"Tamanho": 1227,
"Tamanho2": "1 KB",
"Pdf": "XX",
"Duracao": "2s 815.4137010000ms"
}
}

Conversor de PDF em JPG

Método: pdf_to_jpg

Exemplo:

{
  "url": "http://www.site.com.br/arquivo.pdf",
  "QtdPaginas": 2
}

Retorno:

{
"httpcode": 200,
"body":{
"Arquivos":[
{
"Pagina": 1,
"Tamanho": 159170,
"Tamanho2": "155 KB",
"Imagem": "XXXXXXXXX"
},
{
"Pagina": 2,
"Tamanho": 211191,
"Tamanho2": "206 KB",
"Imagem": "XXXX"
}
],
"Duracao": "2s 936.7514000000ms"
}
}

OCR (Transforma Imagem em Texto Livre)

Método: ocr

Exemplo:

{
  "url": "http://www.site.com.br/arquivo.jpg"
}

Retorno:

{
"httpcode": 200,
"body":{
"Resultado":[
"Valor: R$122,21",
"Data: 12/12/1212"
],
"Duracao": "16s 766.9456000000ms"
}
}

Ping

Método: ping

Exemplo:

{
  "url": "google.com.br"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 142.4308990000ms",
"Consulta":{
"host": "google.com.br",
"numeric_host": "172.217.30.67",
"online": "S",
"time": 15,
"output": "XXX"
}
}
}

Tracert

Método: tracert

Exemplo:

{
  "url": "8.8.8.8"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "7s 370.5857000000ms",
"Consulta":[
{
"hop": 1,
"rtt1": "<1 ms",
"rtt2": "<1 ms",
"rtt3": "<1 ms",
"ip": "192.168.20.1"
},
{
"hop": 2,
"rtt1": "1 ms",
"rtt2": "<1 ms",
"rtt3": "<1 ms",
"ip": "192.168.25.1"
},
{
"hop": 3,
"rtt1": "7 ms",
"rtt2": "4 ms",
"rtt3": "6 ms",
"ip": "10.85.161.4"
},
{
"hop": 4,
"rtt1": "20 ms",
"rtt2": "20 ms",
"rtt3": "20 ms",
"ip": "187.85.163.245"
},
{
"hop": 5,
"rtt1": "17 ms",
"rtt2": "22 ms",
"rtt3": "18 ms",
"ip": "187.16.216.55"
},
{
"hop": 6,
"rtt1": "20 ms",
"rtt2": "19 ms",
"rtt3": "20 ms",
"ip": "74.125.243.65"
},
{
"hop": 7,
"rtt1": "18 ms",
"rtt2": "19 ms",
"rtt3": "16 ms",
"ip": "108.170.225.157"
},
{
"hop": 8,
"rtt1": "18 ms",
"rtt2": "16 ms",
"rtt3": "16 ms",
"ip": "8.8.8.8"
}
]
}
}

Whois (Obtêm dados de um domínio)

Método: whois

Exemplo:

{
  "url": "google.com"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 916.9646000000ms",
"Consulta":{
"domainName": "google.com",
"registryDomainId": "2138514_DOMAIN_COM-VRSN",
"registrarWhoisServer": "whois.markmonitor.com",
"registrarUrl": "http://www.markmonitor.com",
"updatedDate": "2019-09-09T08:39:04-0700",
"creationDate": "1997-09-15T00:00:00-0700",
"registrarRegistrationExpirationDate": "2028-09-13T00:00:00-0700",
"registrar": "MarkMonitor, Inc.",
"registrarIanaId": "292",
"registrarAbuseContactEmail": "[email protected]",
"registrarAbuseContactPhone": "+1.2083895770",
"domainStatus": "clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited) clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited) clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited) serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited) serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited) serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)",
"registrantOrganization": "Google LLC",
"registrantStateProvince": "CA",
"registrantCountry": "US",
"registrantEmail": "Select Request Email Form at https://domains.markmonitor.com/whois/google.com",
"adminOrganization": "Google LLC",
"adminStateProvince": "CA",
"adminCountry": "US",
"adminEmail": "Select Request Email Form at https://domains.markmonitor.com/whois/google.com",
"techOrganization": "Google LLC",
"techStateProvince": "CA",
"techCountry": "US",
"techEmail": "Select Request Email Form at https://domains.markmonitor.com/whois/google.com",
"nameServer": "ns2.google.com ns4.google.com ns3.google.com ns1.google.com",
"dnssec": "unsigned",
"urlOfTheIcannWhoisDataProblemReportingSystem": "http://wdprs.internic.net/",
"lastUpdateOfWhoisDatabase": "2021-01-18T06:00:32-0800 <<<"
}
}
}

Geoip (Identifica o endereço relacionado a um IP)

Método: geoip

Exemplo:

{
  "ip": "8.8.8.8"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 61.6183000000ms",
"Consulta":{
"range":[
134742016,
134774783
],
"country": "US",
"region": "",
"eu": "0",
"timezone": "America/Chicago",
"city": "",
"ll":[
37.751,
-97.822
],
"metro": 0,
"area": 1000
}
}
}

Nslookup

Método: nslookup

Exemplo:

{
  "name": "google.com.br",
  "type": "A"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 35.2099990000ms",
"Consulta":[
{
"name": "google.com.br",
"type": 1,
"class": 1,
"ttl": 176,
"address": "172.217.30.99"
}
]
}
}

Tira um Screenshot de um Site

Método: website_screenshot

Exemplo:

{
  "url": "https://www.google.com.br"
}

Retorno:

{
"httpcode": 200,
"body":{
"Nome": "22dbd3c3-02fe-457f-9652-b57a5dccf2fc.jpg",
"Tamanho": 29991,
"Tamanho2": "29 KB",
"Imagem": "XXXXXXX",
"Duracao": "12s 671.9190000000ms"
}
}

PIX - Gera o código para pagamento

Método: pix_codigo

Exemplo:

{
  "chave": "00000000000",
  "nome": "TESTE",
  "cidade": "BRUSQUE",
  "valor": 1.23
}

Retorno:

{
"httpcode": 200,
"body":{
"Codigo": "00020126330014br.gov.bcb.pix01110000000000052040000530398654041.235802BR5905TESTE6007BRUSQUE62070503***6304FC5C",
"Duracao": "0s 2.7841000000ms"
}
}

PIX - Gera o QRCode para pagamento

Método: pix_qrcode

Exemplo:

{
  "chave": "00000000000",
  "nome": "TESTE",
  "cidade": "BRUSQUE",
  "valor": 1.23
}

Retorno:

{
"httpcode": 200,
"body":{
"Imagem": "XXXX",
"Duracao": "0s 231.7903010000ms"
}
}

Otimizar imagem reduzindo seu tamanho

Método: otimizar_imagem

Exemplo:

{
  "url": "http://www.site.com.br/imagem.jpg"
}

Retorno:

{
"httpcode": 200,
"body":{
"Origem_Tamanho": 3084,
"Origem_Tamanho2": "3 KB",
"Resultado_Tamanho": 2905,
"Resultado_Tamanho2": "3 KB",
"Imagem": "XXX",
"Duracao": "0s 516.7765000000ms"
}
}

Gerar Dados Aleatórios de Pessoa/Localização/Veículo/CNH

Método: gerar_dadospessoa

Retorno:

{
"httpcode": 200,
"body":{
"Nome": "Alana Olerdatter",
"CPF": "726.117.769-54",
"RG": "19.858.350-9",
"CNPJ": "49545744000180",
"Email": "[email protected]",
"Usuario": "evabrusque",
"Idade": 20,
"DataNascimento": "11/01/1980",
"Sexo": "Feminino",
"Endereco":{
"CEP": "72995207",
"Estado": "MT",
"Cidade": "Santa Isabel do Rio Negro",
"Bairro": "Itaim Bibi",
"Logradouro": "Avenida Santos Dumont",
"Complemento": "Terreo"
},
"Veiculo":{
"Tipo": "MOTOCICLO",
"Marca": "VW - VolksWagen",
"Modelo": "Tempra SX 2.0 16V 4p",
"Especie": "TRAÇÃO",
"Categoria": "PARTICULAR",
"Placa": "ABCDEFGHIJKLMNOPQRSTUVXZ8376",
"Combustivel": "GÁS METANO",
"Carroceria": "BASCULANTE",
"Restricao": "RESTRIÇÃO POR BENEF. TRIBUTÁRIO"
},
"CNH":{
"Numero": "859584875558",
"Categoria": "ACC",
"DataEmissao": "1969-11-06T16:09:20.098Z",
"DataValidade": "2022-09-04T16:09:20.099Z",
"NumeroRegistro": "10444002389",
"NumerSeguranca": "40967018583"
}
}
}

Gerar QRCode

Método: qrcode

Exemplo:

{
  "texto": "Teste123"
}

Retorno:

{
"httpcode": 200,
"body":{
"Imagem": "XXXXXX",
"Duracao": "0s 85.0892000000ms"
}
}

Gerar Sitemap

Método: sitemap

Exemplo:

{
  "url": "https://www.site.com.br/"
}

Retorno:

{
"httpcode": 200,
"body":{
"XML": "xxxx",
"Duracao": "19s 508.4140000000ms"
}
}

Consultar Placa de Veículos

Método: consultar_placa

Exemplo:

{
  "placa": "QMQ5140"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 983.7526000000ms",
"Consulta":{
"ano": "2018",
"anoModelo": "2018",
"chassi": "*****31517",
"codigoRetorno": "0",
"codigoSituacao": "0",
"cor": "Preta",
"data": "2021-01-18T09:50:07.013-03:00",
"dataAtualizacaoAlarme": "",
"dataAtualizacaoCaracteristicasVeiculo": "",
"dataAtualizacaoRouboFurto": "",
"marca": "JEEP/COMPASS LIMITED D",
"mensagemRetorno": "Sem erros.",
"modelo": "JEEP/COMPASS LIMITED D",
"municipio": "Belo Horizonte",
"placa": "QMQ5140",
"situacao": "Sem restrição",
"uf": "MG"
}
}
}

Consultar CNPJ

Método: consultar_cnpj

Exemplo:

{
  "cnpj": "06990590000123"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 515.5405000000ms",
"Consulta":{
"atividade_principal":[{"text": "Portais, provedores de conteúdo e outros serviços de informação na internet", "code": "63.19-4-00" }…],
"data_situacao": "01/09/2004",
"complemento": "ANDAR 17 A 20 TORRE SUL ANDAR 2 TORRE NORTE ANDAR 18 A 20 TORRE NORTE",
"tipo": "MATRIZ",
"nome": "GOOGLE BRASIL INTERNET LTDA.",
"uf": "SP",
"telefone": "(11) 2395-8400",
"email": "[email protected]",
"atividades_secundarias":[{"text": "Consultoria em publicidade", "code": "73.19-0-04" }, {"text": "Comércio varejista especializado de equipamentos e suprimentos de informática",…],
"qsa":[{"qual": "37-Sócio Pessoa Jurídica Domiciliado no Exterior", "pais_origem": "ESTADOS UNIDOS", "nome_rep_legal": "YUN KI LEE",…],
"situacao": "ATIVA",
"bairro": "ITAIM BIBI",
"logradouro": "AV BRIGADEIRO FARIA LIMA",
"numero": "3477",
"cep": "04.538-133",
"municipio": "SAO PAULO",
"porte": "DEMAIS",
"abertura": "01/09/2004",
"natureza_juridica": "206-2 - Sociedade Empresária Limitada",
"cnpj": "06.990.590/0001-23",
"ultima_atualizacao": "2021-01-11T18:32:58.228Z",
"status": "OK",
"fantasia": "",
"efr": "",
"motivo_situacao": "",
"situacao_especial": "",
"data_situacao_especial": "",
"capital_social": "56758501.00",
"extra":{},
"billing":{"free": true, "database": true}
}
}
}

Verificar Expiração de SSL

Método: consultar_ssl

Exemplo:

{
  "url": "www.google.com.br"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 238.0882000000ms",
"Consulta":{
"valid": true,
"validFrom": "Dec 15 14:51:26 2020 GMT",
"validUntil": "Mar  9 14:51:25 2021 GMT",
"originalObject":{
"hostname": "www.google.com.br"
}
}
}
}

Verificar o Tamanho Total de uma Pasta

Método: pasta_tamanho

Exemplo:

{
  "pasta": "G:\\WDownloads"
}

Retorno:

{
"httpcode": 200,
"body":{
"Duracao": "0s 5.8688000000ms",
"Tamanho": 15985296,
"Tamanho2": "15 MB"
}
}

Verificar os HDs e suas Unidades

Método: hds_listagem

Retorno:

{
  "httpcode": 200,
  "body": {
    "Duracao": "0s 88.1844000000ms",
    "Consulta": [
      {
        "enumerator": "USBSTOR",
        "busType": "USB",
        "busVersion": "2.0",
        "device": "\\\\.\\PhysicalDrive1",
        "devicePath": null,
        "raw": "\\\\.\\PhysicalDrive1",
        "description": "Generic External USB Device",
        "error": null,
        "size": 480113589760,
        "blockSize": 512,
        "logicalBlockSize": 512,
        "mountpoints": [
          {
            "path": "G:\\"
          }
        ],
        "isReadOnly": false,
        "isSystem": false,
        "isVirtual": false,
        "isRemovable": true,
        "isCard": false,
        "isSCSI": false,
        "isUSB": true,
        "isUAS": false
      }
    ]
  }
}

Verifica o espaço total e o espaço disponível por uma partição

Método: hds_espaco

Exemplo:

{
  "unidade": "C:\\"
}

Retorno:

{
  "httpcode": 200,
  "body": {
    "Duracao": "0s 605.3382000000ms",
    "Consulta": {
      "Total": 238457069568,
      "Total2": "222 GB",
      "Disponivel": 4829741056,
      "Disponivel2": "4 GB"
    }
  }
}

Verifica o espaço total e o espaço disponível por uma partição

Método: iis_sites_listar

Retorno:

{
   "httpcode":200,
   "body":{
      "Duracao":"0s 274.4640920000ms",
      "Consulta":[
         {
            "Name":"teste1.cmacetko.online",
            "ID":"428",
            "Bindings":[
               {
                  "Prefixo":"http/*",
                  "Porta":"80",
                  "Dominio":"teste1.cmacetko.online"
               },
               {
                  "Prefixo":"http/*",
                  "Porta":"80",
                  "Dominio":"www.teste1.cmacetko.online"
               },
               {
                  "Prefixo":"http/*",
                  "Porta":"80",
                  "Dominio":"ipv4.teste1.cmacetko.online"
               },
               {
                  "Prefixo":"https/*",
                  "Porta":"443",
                  "Dominio":"teste1.cmacetko.online"
               }
            ],
            "State":"Started"
         }
      ]
   }
}

Contato

Paloma Macetko