
localhost पोर्ट पर सुनने वाली सेवाओं के निरीक्षण और प्रबंधन के लिए CLI उपकरण
Sonar localhost पर सुन रही हर चीज़ को दिखाता है और उसे क्रम में लगाता है: हर पोर्ट
एक group से संबंधित होता है — आम तौर पर वह repository जहाँ से उसे शुरू किया गया था — और
उस group के अंदर एक नामित service से। अपने dev servers को
sonar start से शुरू करें और पूरा project एक ऐसी चीज़ बन जाता है जिसे आप एक tree के रूप में list कर सकते हैं,
जिसका इंतज़ार कर सकते हैं, tail कर सकते हैं, और एक ही command से बंद कर सकते हैं। Docker containers, Compose
projects और आपके द्वारा हाथ से शुरू किए गए processes भी बिना किसी
configuration के उठा लिए जाते हैं।```
$ sonar list --tree
my-app (3 ports, running) ~/code/my-app
├─ 5432 db postgres:17 http://localhost:5432
├─ 5173 frontend vite (v5.4) http://localhost:5173
└─ 8000 api uvicorn app:app http://localhost:8000
ungrouped (1 port)
└─ 3000 next-server (v16.1.6) http://localhost:3000
## इंस्टॉल करें
### Homebrew (macOS / Linux)```sh
brew install raskrebs/sonar/sonar
Homebrew 6 तब तक तृतीय-पक्ष taps से formulae स्वीकार नहीं करता जब तक आप एक बार tap पर भरोसा न कर लें
(Error: Refusing to load formula raskrebs/sonar/sonar from untrusted tap):```sh
brew trust raskrebs/sonar
### इंस्टॉल स्क्रिप्ट```sh
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | bash
नवीनतम बाइनरी को ~/.local/bin में डाउनलोड करता है और यदि आवश्यक हो तो इसे आपके PATH में जोड़ता है। अपना टर्मिनल पुनः आरंभ करें या source ~/.zshrc चलाएँ।
Windows पर (PowerShell):```powershell irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex
कस्टम इंस्टॉल स्थान:```sh
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_INSTALL_DIR=/usr/local/bin bash
एक विशिष्ट संस्करण स्थापित करें:```sh curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_VERSION=vX.Y.Z bash
| `--no-color` | Disable colored output |
| `--debug` | Enable debug mode |
| `--verbose` | Enable verbose mode |
| `--version` | Show version and exit |
| `--help` | Show help message and exit |```powershell
$env:SONAR_VERSION="vX.Y.Z"; irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex
go install github.com/raskrebs/sonar@latest
Shell completions (टैब-पूर्णता पोर्ट नंबर):```sh
sonar completion zsh > "${fpath[1]}/_sonar" # zsh
sonar completion bash > /etc/bash_completion.d/sonar # bash
sonar completion fish | source # fish
अपने प्रोजेक्ट को रिपॉज़िटरी रूट में sonar.yaml में कैसे चलाया जाता है, इसका वर्णन करें,
dev.sh के स्थान पर:```yaml
name: my-app
services:
फिर इसे शुरू करें:```sh
sonar start
| -s | --server | Server URL (default: http://localhost:8080) |
| -t | --token | API token for authentication |
| -o | --output | Output format: json, yaml, table |
| -v | --verbose | Enable verbose logging |
| -q | --quiet | Suppress non-essential output |
| -h | --help | Show help message |
# सर्वर स्थिति जाँचें
kitploit-cli status
# सभी उपकरण JSON प्रारूप में सूचीबद्ध करें
kitploit-cli tools list --output json
# टोकन का उपयोग करके प्रमाणित करें
kitploit-cli auth login --token YOUR_API_TOKEN
# विस्तृत आउटपुट के साथ एक विशिष्ट उपकरण खोजें
kitploit-cli tools search "nmap" --verbose
CLI निम्नलिखित स्थानों पर कॉन्फ़िगरेशन फ़ाइल की तलाश करता है:
./.kitploit.yml~/.config/kitploit/config.yml/etc/kitploit/config.ymlकॉन्फ़िगरेशन फ़ाइल का उदाहरण:
server: http://localhost:8080
token: your-api-token
output: table
verbose: false
| चर | विवरण |
|---|---|
KITPLOIT_SERVER | सर्वर URL को ओवरराइड करें |
KITPLOIT_TOKEN | API टोकन सेट करें |
KITPLOIT_OUTPUT | डिफ़ॉल्ट आउटपुट प्रारूप सेट करें |
KITPLOIT_DEBUG | डिबग मोड सक्षम करें |
सभी API अनुरोधों के लिए Authorization हेडर में एक वैध API टोकन की आवश्यकता होती है:
Authorization: Bearer YOUR_API_TOKEN
GET /api/v1/toolsसभी उपलब्ध उपकरणों की सूची लौटाता है।
क्वेरी पैरामीटर:
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
page | integer | पृष्ठ संख्या (डिफ़ॉल्ट: 1) |
limit | integer | प्रति पृष्ठ आइटम (डिफ़ॉल्ट: 20) |
category | string | श्रेणी के अनुसार फ़िल्टर करें |
search | string | नाम या विवरण से खोजें |
प्रतिक्रिया उदाहरण:
{
"data": [
{
"id": 1,
"name": "nmap",
"description": "नेटवर्क अन्वेषण और सुरक्षा ऑडिटिंग उपकरण",
"category": "network",
"url": "https://nmap.org",
"stars": 10234
}
],
"meta": {
"page": 1,
"limit": 20,
"total": 150
}
}
✓ db http://localhost:5432 pid 41022 ~/.config/sonar/logs/my-app/db.log ✓ api http://localhost:21408 pid 41040 ~/.config/sonar/logs/my-app/api.log ✓ frontend http://localhost:21409 pid 41077 ~/.config/sonar/logs/my-app/frontend.log
3 started following the logs; Ctrl+C stops the 3 services started here api | INFO: Uvicorn running on http://127.0.0.1:21408 frontend | VITE v5.4 ready in 312 ms
Sonar हर `port: auto` सेवा के लिए एक मुफ़्त पोर्ट चुनता है और प्रत्येक सेवा को बताता है कि बाकी सेवाएँ कहाँ हैं, ताकि दूसरा worktree पहले के बगल में बिना किसी पोर्ट टकराव के चल सके। `sonar start -d` यही काम बैकग्राउंड में करता है, और `sonar down` इसे रोककर पोर्ट वापस दे देता है। एक अन्य टर्मिनल में:```sh
sonar list --tree
| --no-color | Disable colored output |
| --debug | Enable debug mode |
| --verbose | Enable verbose mode |
| --silent | Enable silent mode |
| --version | Show version and exit |
| --help | Show help and exit |```
my-app (3 ports, running) ~/code/my-app
├─ 5432 db postgres:17 http://localhost:5432
├─ 21408 api uvicorn app:app http://localhost:21408
└─ 21409 frontend vite (v5.4) http://localhost:21409
`sonar.yaml` नहीं है? `sonar start -- npm run dev` एक कमांड को नामित सेवा के रूप में चलाता है, और `sonar list` तथा `sonar kill` किसी भी सुनने वाली चीज़ पर काम करते हैं।
नीचे `# check` के रूप में चिह्नित उदाहरण हर CI रन पर `scripts/readme-check.sh` द्वारा एक नए बिल्ड के विरुद्ध निष्पादित किए जाते हैं।
## Commands
### `sonar list````sh
sonar list
sonar list --tree
sonar list --group my-app
sonar list --json
# check
| --no-color | Disable colored output |
| --debug | Enable debug mode |
| --verbose | Enable verbose mode |
| --silent | Enable silent mode |
| --version | Show version information |
| --help | Show help message |```sh
sonar list --stats # CPU, memory, threads, uptime, state
sonar list --health # HTTP health checks
sonar list --filter docker # only Docker ports
sonar list --sort name # port | pid | name | type
sonar list -a # include desktop apps
sonar list -c port,process,group,cpu,mem
sonar list --host user@server # scan a remote machine over SSH
डिफ़ॉल्ट कॉलम हैं `port`, `process`, `group`, `container`, `image`,
`containerport`, `url`, जहाँ `process` वह नाम दिखाता है जो आपने पोर्ट को दिया
(`sonar rename`), फिर सेवा का नाम, फिर जो पता चला।