anti 0.1.2

Unified CLI toolbox
Documentation
# anti: Unified CLI Toolbox Specification

## Overview

`anti` is a single binary CLI toolbox that quietly ignores the traditional Unix philosophy and crams a bunch of linux system and network essentials into an easy to use interface. It's a toolkit for the imposter, the hobbyist and anyone seeking to know just enough to be dangerous. Professionals and pursists, look away, nothing to see here.

It's strictly a pet, for fun, for hacking, it's a guilty pleasure. No warranties here.


## Global CLI Structure

```
anti <domain> <command> [options]
```

Domains group related functionality. Commands perform specific actions. Options are consistent and kept minimal.

## Domains and Commands

### 1. net (Networking)

#### net ping

```
anti net ping <host> [--count N] [--timeout S] [--protocol icmp|udp|tcp] [--port P]
```

Multi-protocol ping supporting ICMP, UDP, and TCP connectivity testing.

**Protocols:**
- `--protocol icmp`: Traditional ICMP echo request/reply (default)
- `--protocol udp`: UDP packet with ICMP error response detection
- `--protocol tcp`: TCP connection attempt for connectivity testing

**TCP-specific features:**
- `--port P`: Use specific port for TCP/UDP ping
- Without `--port`: TCP automatically probes common ports (80, 443, 22, etc.) in parallel and uses the first responsive port

**Examples:**
```bash
# Traditional ICMP ping
anti net ping google.com

# UDP ping to DNS port
anti net ping 8.8.8.8 --protocol udp --port 53

# TCP ping with automatic port discovery
anti net ping github.com --protocol tcp

# TCP ping to specific port
anti net ping httpbin.org --protocol tcp --port 443
```

#### net trace

```
anti net trace <host> [--tcp]
```

Traceroute using ICMP or TCP fallback.

#### net scan

```
anti net scan <host> [--port P | --ports A-B] [--common] [--protocol tcp|udp|both] [--no-progress] [--no-os-detect]
```

Quick port scanner supporting TCP, UDP, or both with IPv4 and IPv6 support.
CIDR notation and hostnames resolving to multiple IPs are all scanned. Progress
output uses a modern UTF‑8 spinner and block bar on a single updating line while
open ports are printed immediately with service hints. Basic OS detection is
attempted only for hosts where an open port was found and can be disabled with
`--no-os-detect`. Use `--no-progress` to hide the spinner. The `--common`
flag scans a curated list of common TCP and UDP ports. A summary table with
detected operating system information is shown at the end.

#### net summary

```
anti net summary <host>
```

Runs ping, trace, DNS resolve, and scan sequentially. Outputs a compact health report.

#### net blitz

```
anti net blitz <host>
```

Combines summary with bandwidth and latency checks.

### 2. fs (Filesystem)

#### fs du

```
anti fs du <path> [--depth N] [--human]
```

Summarized directory sizes.

#### fs ls

```
anti fs ls <path> [--all] [--long]
```

Simplified directory listing.

#### fs find

```
anti fs find <path> <pattern> [--name|--ext]
```

Case-insensitive file search.

#### fs clean

```
anti fs clean <path>
```

Interactive cleaner: lists large files and directories for deletion.

#### fs summary

```
anti fs summary
```

Shows disk usage, mounts, and inode stats.

#### fs blitz

```
anti fs blitz
```

Scans for low disk space, largest files, and broken symlinks.

### 3. sys (System Information)

#### sys info

```
anti sys info
```

System summary including CPU, memory, uptime, disks, and network.

#### sys top

```
anti sys top
```

Basic live resource monitor.

#### sys mem

```
anti sys mem
```

Show memory usage snapshot.

#### sys blitz

```
anti sys blitz
```

One-shot system triage: CPU, memory, disk usage.

### 4. web (Web Utilities)

#### web fetch

```
anti web fetch <url> [--head] [--json]
```

Minimal HTTP client for GET and HEAD requests. No support for advanced features.

#### web tls

```
anti web tls <host>
```

Inspect TLS certificate expiry and chain.

#### web summary

```
anti web summary <url>
```

Fetch + DNS resolve + TLS check combined.

### 5. sec (Security Tools)

#### sec hash

```
anti sec hash <file> [--md5|--sha1|--sha256]
```

Generate basic file hashes.

#### sec audit

```
anti sec audit
```

Minimal security audit: open ports, SUID files, and sudoers.

#### sec blitz

```
anti sec blitz <host>
```

Quick host scan for open ports and TLS issues.

### 6. combo (Combined Workflows)

#### combo diagnose

```
anti combo diagnose <host>
```

Runs net summary, web summary, and sys info together.

#### combo triage

```
anti combo triage
```

Interactive guided diagnosis of common issues.

#### combo blitz

```
anti combo blitz <host>
```

Ping host, check disk space, list top processes, and output a summary.

## Global Options

- `--json` - Output machine-readable JSON
- `--quiet` - Suppress non-essential output
- `--verbose` - Enable detailed output
- `--no-color` - Disable colored output
- `--help` - Show help for any command

## Planned (Post-MVP)

### anti tui

Interactive terminal UI for exploring anti functionality.

### anti serve

Serves a local web UI for browser-based usage.

## Design Principles

- Consistent and minimal options across commands
- Results cached between commands to avoid retyping inputs
- Partial implementations covering the most common use cases
- Single static binary for portability