Ferramenta web offline, leve e rápida para processamento de imagens e PDFs.
Construída em Go. O contêiner incluilibrsvgpara SVG epoppler-utilspara rasterização de PDF.
| Idioma | Link |
|---|---|
| 🇧🇷 Português | README_pt.md |
| 🇺🇸 English | README_en.md |
| 🇪🇸 Español | README_es.md |
| 🇫🇷 Français | README_fr.md |
| 🇩🇪 Deutsch | README_de.md |
| 🇷🇺 Русский | README_ru.md |
| 🇨🇳 中文 | README_zh.md |
| Categoria | Ferramentas |
|---|---|
| 🖼️ Imagem | Remover fundo, recorte interativo, redimensionar, converter (PNG/JPG/BMP), comprimir |
| 🎨 Cores | Extrair paleta de cores (HEX) |
| Imagens → PDF, juntar PDFs, dividir PDF, otimizar, proteger com senha | |
| 🔁 Conversão | PDF → Imagens, SVG → PNG |
| 📱 QR Code | Gerar e decodificar QR Codes e códigos de barras |
O sistema pode ser customizado através das seguintes variáveis de ambiente:
| Variável | Padrão | Descrição |
|---|---|---|
PORT |
7001 |
Porta em que o servidor web irá rodar. |
MAX_CONCURRENT_JOBS |
100 |
Limite de processamentos simultâneos (Rate Limiter) para evitar sobrecarga do servidor. |
docker run -d \
--name canivete-da-mata \
-p 7001:7001 \
--restart unless-stopped \
ghcr.io/facrf/canivete:latestAcesse em: http://localhost:7001
Consulte o arquivo docker-compose.yml — compatível com Portainer.
No Portainer:
- Stacks → Add Stack → Web editor
- Cole o conteúdo de
docker-compose.yml - Clique em Deploy the stack
git clone http://192.168.0.10:3010/facrf/canivete.git
cd canivete
docker build -t canivete-da-mata:latest .
docker run -d -p 7001:7001 --name canivete-da-mata canivete-da-mata:latestA imagem no GHCR é publicada para múltiplas arquiteturas automaticamente via GitHub Actions:
| Plataforma | Hardware |
|---|---|
linux/amd64 |
Servidores x86_64, PCs, VMs |
linux/arm64 |
Raspberry Pi 4/5 (64-bit), Apple Silicon (M1/M2/M3) |
linux/arm/v7 |
Raspberry Pi 2/3/4 (32-bit), Orange Pi |
linux/riscv64 |
VisionFive 2, StarFive, Milk-V Mars |
- Sem banco de dados — imune a SQL Injection
- Templates Go com escaping automático de HTML/XSS
- Upload limitado com
http.MaxBytesReader - Validação de dimensões (máximo de 8000px e 20 megapixels)
- Validação de argumentos antes de passar a processos externos
- Senhas de PDF exigem mínimo de 8 caracteres
Consulte SECURITY.md para reportar vulnerabilidades.
O Canivete da Mata conta com uma cobertura completa de testes garantindo estabilidade e integridade:
- Detector de Corrida (Race Detector) ativo para evitar falhas de concorrência e uso paralelo na memória.
- Suíte cobrindo todos os utilitários, tratamento de imagens, limpeza de temporários e validação HTTP.
- Integração e verificação de formatação via Github Actions para assegurar a melhor performance com o Go 1.26+.
Para executar a suíte localmente (incluindo o race detector):
go test -race -count=1 ./...Veja CONTRIBUTING.md para instruções de como contribuir com o projeto.
Distribuído sob a licença MIT. Veja LICENSE para mais informações.