Voltar às atualizações
New releaseJul 21, 2026

installer v13.30.0

Scripts de instalação para Linux, macOS e Windows para cnquery & cnspec

Compartilhar

Visão Geral

Status

  • Docker Containers: Release Test: Docker Containers
  • Homebrew: Release Test: Homebrew
  • Install.sh: Release Test: install.sh
  • Install.ps1: Release Test: install.ps1
  • macOS Pkg: Release Test: macOS Package
  • Arch Linux: Release Test: Arch Linux

Instalação

A maneira mais fácil de instalar mql e cnspec é usar os scripts de instalação.

via Shell Script (Linux e macOS)

https://install.mondoo.com/sh```bash bash -c "$(curl -sSL https://install.mondoo.com/sh)"

### via PowerShell (Windows)

[`https://install.mondoo.com/ps1`](https://install.mondoo.com/ps1)```powershell
Set-ExecutionPolicy Unrestricted -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://install.mondoo.com/ps1'));
Install-Mondoo;

Atrás de um proxy HTTP

Passe o proxy para o script de instalação com -x (Linux e macOS) ou -Proxy (Windows). O script encaminha os seus próprios downloads, a instalação do pacote, o cnspec login e o atualizador automático através dele. O download inicial do script acontece antes de a flag ser lida, por isso aponte também esse download para o proxy:```bash export https_proxy='http://proxy.example.com:3128' curl -sSL --proxy "$https_proxy" https://install.mondoo.com/sh | bash -s -- -x "$https_proxy"

| `-s` | `--server` | `SERVER` | `http://localhost:8080` | URL do servidor |
| `-t` | `--token` | `TOKEN` | | Token de autenticação |
| `-o` | `--output` | `OUTPUT` | `./output` | Diretório de saída |
| `-f` | `--format` | `FORMAT` | `json` | Formato de saída |
| `-v` | `--verbose` | | | Saída detalhada |
| `-q` | `--quiet` | | | Modo silencioso |
| `-h` | `--help` | | | Mostrar ajuda |
| `-V` | `--version` | | | Mostrar versão |

### Exemplos

```bash
# Uso básico
./tool -s http://localhost:8080 -t your-token

# Especificar diretório de saída
./tool -s http://localhost:8080 -t your-token -o ./results

# Formato de saída JSON
./tool -s http://localhost:8080 -t your-token -f json

# Modo detalhado
./tool -s http://localhost:8080 -t your-token -v

Configuração

Variáveis de Ambiente

export SERVER_URL=http://localhost:8080
export AUTH_TOKEN=your-token
export OUTPUT_DIR=./output

Arquivo de Configuração

Crie um arquivo config.yaml:

server:
  url: http://localhost:8080
  token: your-token
  timeout: 30s

output:
  directory: ./output
  format: json
  verbose: false

Uso

Início Rápido

  1. Clone o repositório:
git clone https://github.com/example/tool.git
cd tool
  1. Instale as dependências:
go mod download
  1. Compile:
go build -o tool
  1. Execute:
./tool -s http://localhost:8080 -t your-token

Uso Avançado

Processamento em Lote

# Processar múltiplos alvos
./tool -s http://localhost:8080 -t your-token -f targets.txt

Saída Personalizada

# Gerar relatório em HTML
./tool -s http://localhost:8080 -t your-token -f html -o ./reports

Desenvolvimento

Pré-requisitos

  • Go 1.19 ou superior
  • Git
  • Make (opcional)

Compilando a partir do Código-Fonte

# Clonar o repositório
git clone https://github.com/example/tool.git
cd tool

# Instalar dependências
go mod download

# Compilar
go build -o tool

# Executar testes
go test ./...

# Compilar para múltiplas plataformas
make build-all

Estrutura do Projeto

tool/
├── cmd/
│   └── tool/
│       └── main.go
├── internal/
│   ├── config/
│   ├── scanner/
│   └── output/
├── pkg/
│   └── api/
├── docs/
├── examples/
├── Makefile
├── go.mod
├── go.sum
└── README.md

Executando Testes

# Executar todos os testes
go test ./...

# Executar com cobertura
go test -cover ./...

# Executar benchmarks
go test -bench=. ./...

Contribuindo

Contribuições são bem-vindas! Por favor, siga estas diretrizes:

  1. Faça um fork do repositório
  2. Crie uma branch de funcionalidade (git checkout -b feature/AmazingFeature)
  3. Faça commit das suas alterações (git commit -m 'Add some AmazingFeature')
  4. Faça push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

Diretrizes de Contribuição

  • Siga o estilo de código Go
  • Adicione testes para novos recursos
  • Atualize a documentação conforme necessário
  • Mantenha os commits atômicos e bem descritos

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Agradecimentos

  • Obrigado a todos os contribuidores
  • Inspirado por ferramentas similares na comunidade
  • Ícones fornecidos por Iconify

Suporte

Esta ferramenta é destinada apenas para fins educacionais e de teste de segurança autorizado. Os usuários são responsáveis por garantir que têm permissão para testar os sistemas alvo. Os autores não são responsáveis por qualquer uso indevido ou danos causados por esta ferramenta.```powershell Set-ExecutionPolicy Unrestricted -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; $wc = New-Object System.Net.WebClient; $wc.Proxy = New-Object System.Net.WebProxy('http://proxy.example.com:3128'); iex ($wc.DownloadString('https://install.mondoo.com/ps1')); Install-Mondoo -Proxy 'http://proxy.example.com:3128';

No Linux e macOS, um `https_proxy` ou `http_proxy` herdado é detetado
automaticamente quando `-x` não é fornecido. De qualquer forma, ambas as formas
são exportadas, pelo que os repositórios da própria distribuição — que são HTTP
simples no Debian e Ubuntu — também são acedidos através do proxy. Qualquer
`no_proxy` que tenha definido é transportado sem alterações, inclusive através
de `sudo`.

O URL do proxy deve ser um URL simples: se contiver credenciais, codifique-as
em percentagem (`!` como `%21`, e assim por diante). O valor é escrito na tarefa
agendada do atualizador automático, pelo que os caracteres que aí precisariam
de aspas são recusados em vez de escapados.

## Analise a sua plataforma de destino

Categorias