
installer v13.30.0
Scripts de instalação para Linux, macOS e Windows para cnquery & cnspec
Visão Geral
Status
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
- Clone o repositório:
git clone https://github.com/example/tool.git
cd tool
- Instale as dependências:
go mod download
- Compile:
go build -o tool
- 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:
- Faça um fork do repositório
- Crie uma branch de funcionalidade (
git checkout -b feature/AmazingFeature) - Faça commit das suas alterações (
git commit -m 'Add some AmazingFeature') - Faça push para a branch (
git push origin feature/AmazingFeature) - 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
Aviso Legal
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