Added scaffoded project
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# CamFinder
|
||||
|
||||
Scanner TCP em Rust para descobrir hosts em CIDRs internos, testar a porta `554` e salvar progresso e endpoints abertos em PostgreSQL.
|
||||
|
||||
O projeto tem três modos:
|
||||
|
||||
- `local`: roda o scan inteiro no processo atual.
|
||||
- `coordinator`: recebe conexões de workers, distribui blocos e grava resultados no banco.
|
||||
- `worker`: conecta ao coordenador, recebe blocos e testa os hosts.
|
||||
|
||||
O progresso é salvo por bloco, então o scan pode ser retomado sem repetir o que já foi concluído.
|
||||
|
||||
## Uso
|
||||
|
||||
1. Copie `.env.example` para `.env`.
|
||||
2. Configure `DATABASE_URL` apontando para um Postgres acessível.
|
||||
3. Rode `cargo run -- local`, `cargo run -- coordinator` ou `cargo run -- worker`.
|
||||
|
||||
## Docker Compose
|
||||
|
||||
O `docker-compose.yml` já sobe:
|
||||
|
||||
- `postgres` para persistência.
|
||||
- `coordinator` exposto no host pela porta `666`.
|
||||
- `worker` conectado ao coordenador na rede interna do compose.
|
||||
|
||||
Para escalar workers:
|
||||
|
||||
- `docker compose up --scale worker=3`
|
||||
|
||||
Para workers de outras máquinas, use `vps.valmo.dev:666` como endereço do coordenador.
|
||||
|
||||
## Scripts
|
||||
|
||||
- `cargo build`
|
||||
- `cargo run`
|
||||
- `npm run scan`
|
||||
- `npm run coord`
|
||||
- `npm run worker`
|
||||
|
||||
## Variáveis úteis
|
||||
|
||||
- `DATABASE_URL`
|
||||
- `SCAN_CIDRS`
|
||||
- `SCAN_CIDR`
|
||||
- `SCAN_CIDR_FILE`
|
||||
- `SCAN_CONCURRENCY`
|
||||
- `SCAN_CHUNK_SIZE`
|
||||
- `SCAN_TIMEOUT_MS`
|
||||
- `SCAN_MODE`
|
||||
- `COORDINATOR_BIND`
|
||||
- `COORDINATOR_ADDR`
|
||||
- `WORKER_NAME`
|
||||
|
||||
## Restrições
|
||||
|
||||
O projeto aceita somente redes privadas `10.0.0.0/8`, `172.16.0.0/12` e `192.168.0.0/16`.
|
||||
Reference in New Issue
Block a user