sysutilapi

    1.0.10 • Public • Published

    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:

    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": "abusecomplaints@markmonitor.com",
    "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": "gabrielaguarnier@gmail.com",
    "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": "googlebrasil@google.com",
    "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

    Install

    npm i sysutilapi

    DownloadsWeekly Downloads

    4

    Version

    1.0.10

    License

    MIT

    Unpacked Size

    72.8 kB

    Total Files

    7

    Last publish

    Collaborators

    • cmacetko